==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_f62e1791-16a7-4f93-aad6-5e37beb0122b]...done ==> Making package: curl 8.23.0-1.1 (Thu Oct 15 21:21:51 2026) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.23.0-1/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: curl 8.23.0-1.1 (Thu Oct 15 19:22:34 2026) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (9) New Version Net Change core/debuginfod 0.196-1 0.44 MiB core/libmicrohttpd 1.0.10-1 0.62 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/zlib-ng 2.3.3-1 0.28 MiB extra/git 2.56.0-1 33.54 MiB extra/patchelf 0.19.2-1 0.30 MiB extra/valgrind 3.25.1-9 74.98 MiB Total Installed Size: 110.46 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing patchelf... installing libmicrohttpd... installing debuginfod... Optional dependencies for debuginfod elfutils=0.196: for translations [installed] installing valgrind... Optional dependencies for valgrind lib32-glibc: 32-bit ABI support [installed] python: cg_* scripts [installed] :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 969. Creating user 'git' (git daemon user) with UID 969 and GID 969. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Updating the info directory file... ==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Creating working copy of curl git repo... Cloning into 'curl'... done. Switched to a new branch 'makepkg' ==> Starting prepare()... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' libtoolize: Remember to add 'LT_INIT' to configure.ac. configure.ac:154: installing './compile' configure.ac:544: installing './config.guess' configure.ac:544: installing './config.sub' configure.ac:154: installing './install-sh' configure.ac:157: installing './missing' docs/examples/Makefile.am: installing './depcomp' ==> Starting build()... checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable curl debug features (for developing curl)... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking whether to enable HTTP/3 proxy support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C23 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.23.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to support large files... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1600' (raw: '16') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking enable curl_global_init_mem debug build... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.22.2 checking if we can link against GSS-API library... yes checking for gss_set_neg_mechs... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for AWS-LC... no checking for BoringSSL... no checking for LibreSSL... no checking for OpenSSL >= 3... checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for DES support in OpenSSL... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking whether versioned symbols are wanted... yes checking if libraries can be versioned... yes checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_ossl options with pkg-config... found configure: -l is -lngtcp2_crypto_ossl configure: -I is configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netinet/ip.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for pipe2... yes checking for fchmod... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking if memset_s can be linked... no checking if memset_s might be used... no checking for memset_explicit... yes checking for fseeko... yes checking for gcc options to detect undeclared functions... none needed checking for gcc options to ignore future-version functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws-sigv4 methods... yes checking whether to enable HTTP Message Signatures (RFC 9421)... no checking whether to support NTLM... no checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols does actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/perf/Makefile config.status: creating tests/server/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/unit/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.23.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) CA native: no CA cert bundle: /etc/ssl/certs/ca-certificates.crt CA cert path: no CA cert embed: no CA fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) proxy-HTTP3: no (--enable-proxy-http3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd Making all in lib make[1]: Entering directory '/startdir/src/build-curl/lib' make all-am make[2]: Entering directory '/startdir/src/build-curl/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-api.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-recvbuf.lo CC libcurl_la-cf-setup.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-creds.lo CC libcurl_la-cookie.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_httpsig.lo CC libcurl_la-curl_ed25519.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-peer.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-protocol.lo CC libcurl_la-proxy.lo CC libcurl_la-psl.lo CC libcurl_la-ptrarray.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-thrdqueue.lo CC libcurl_la-thrdpool.lo CC libcurl_la-transfer.lo CC libcurl_la-u8_strset.lo CC libcurl_la-u32_ptrset.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-api.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-recvbuf.lo CC libcurlu_la-cf-setup.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-creds.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_httpsig.lo CC libcurlu_la-curl_ed25519.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-openldap.lo CC libcurlu_la-peer.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-protocol.lo CC libcurlu_la-proxy.lo CC libcurlu_la-psl.lo CC libcurlu_la-ptrarray.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-thrdpool.lo CC libcurlu_la-thrdqueue.lo CC libcurlu_la-transfer.lo CC libcurlu_la-u8_strset.lo CC libcurlu_la-u32_ptrset.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vdns/libcurlu_la-asyn-ares.lo CC vdns/libcurlu_la-asyn-base.lo CC vdns/libcurlu_la-asyn-thrdd.lo CC vdns/libcurlu_la-cf-dns.lo CC vdns/libcurlu_la-dnscache.lo CC vdns/libcurlu_la-doh.lo CC vdns/libcurlu_la-hostip.lo CC vdns/libcurlu_la-hostip4.lo CC vdns/libcurlu_la-hostip6.lo CC vdns/libcurlu_la-httpsrr.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_config.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-capsule.lo CC vquic/libcurlu_la-cf-capsule.lo CC vquic/libcurlu_la-cf-ngtcp2.lo CC vquic/libcurlu_la-cf-ngtcp2-cmn.lo CC vquic/libcurlu_la-cf-ngtcp2-proxy.lo CC vquic/libcurlu_la-cf-quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-win32-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vdns/libcurl_la-asyn-ares.lo CC vdns/libcurl_la-asyn-base.lo CC vdns/libcurl_la-asyn-thrdd.lo CC vdns/libcurl_la-cf-dns.lo CC vdns/libcurl_la-dnscache.lo CC vdns/libcurl_la-doh.lo CC vdns/libcurl_la-hostip.lo CC vdns/libcurl_la-hostip4.lo CC vdns/libcurl_la-hostip6.lo CC vdns/libcurl_la-httpsrr.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_config.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-capsule.lo CC vquic/libcurl_la-cf-capsule.lo CC vquic/libcurl_la-cf-ngtcp2.lo CC vquic/libcurl_la-cf-ngtcp2-cmn.lo CC vquic/libcurl_la-cf-ngtcp2-proxy.lo CC vquic/libcurl_la-cf-quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-win32-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/src/debug/curl/curl/lib/curlx/inet_pton.c: In function 'inet_pton6': /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:180:19: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=] /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:115:17: note: at offset [-9223372036854775760, -16] into destination object 'tmp' of size 16 make[2]: Leaving directory '/startdir/src/build-curl/lib' make[1]: Leaving directory '/startdir/src/build-curl/lib' Making all in docs make[1]: Entering directory '/startdir/src/build-curl/docs' RENDER mk-ca-bundle.1 RENDER curl-config.1 Making all in . make[2]: Entering directory '/startdir/src/build-curl/docs' RENDER wcurl.1 make[2]: Leaving directory '/startdir/src/build-curl/docs' Making all in cmdline-opts make[2]: Entering directory '/startdir/src/build-curl/docs/cmdline-opts' GENERATE curl.1 GENERATE curl.txt make[2]: Leaving directory '/startdir/src/build-curl/docs/cmdline-opts' Making all in libcurl make[2]: Entering directory '/startdir/src/build-curl/docs/libcurl' Making all in opts make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl/opts' RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_APPCONNECT_TIME.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_CAPATH.3 RENDER CURLINFO_CERTINFO.3 RENDER CURLINFO_CONDITION_UNMET.3 RENDER CURLINFO_CONNECT_TIME.3 RENDER CURLINFO_CONN_ID.3 RENDER CURLINFO_CONNECT_TIME_T.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD.3 RENDER CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 RENDER CURLINFO_CONTENT_TYPE.3 RENDER CURLINFO_COOKIELIST.3 RENDER CURLINFO_EARLYDATA_SENT_T.3 RENDER CURLINFO_EFFECTIVE_METHOD.3 RENDER CURLINFO_EFFECTIVE_URL.3 RENDER CURLINFO_FILETIME.3 RENDER CURLINFO_FILETIME_T.3 RENDER CURLINFO_FTP_ENTRY_PATH.3 RENDER CURLINFO_HEADER_SIZE.3 RENDER CURLINFO_HTTP_CONNECTCODE.3 RENDER CURLINFO_HTTP_VERSION.3 RENDER CURLINFO_HTTPAUTH_AVAIL.3 RENDER CURLINFO_HTTPAUTH_USED.3 RENDER CURLINFO_LASTSOCKET.3 RENDER CURLINFO_LOCAL_IP.3 RENDER CURLINFO_LOCAL_PORT.3 RENDER CURLINFO_NAMELOOKUP_TIME.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.3 RENDER CURLINFO_NUM_CONNECTS.3 RENDER CURLINFO_OS_ERRNO.3 RENDER CURLINFO_PRETRANSFER_TIME.3 RENDER CURLINFO_PRETRANSFER_TIME_T.3 RENDER CURLINFO_POSTTRANSFER_TIME_T.3 RENDER CURLINFO_PRIMARY_IP.3 RENDER CURLINFO_PRIMARY_PORT.3 RENDER CURLINFO_PRIVATE.3 RENDER CURLINFO_PROTOCOL.3 RENDER CURLINFO_PROXY_ERROR.3 RENDER CURLINFO_PROXY_SSL_VERIFYRESULT.3 RENDER CURLINFO_PROXYAUTH_AVAIL.3 RENDER CURLINFO_PROXYAUTH_USED.3 RENDER CURLINFO_QUEUE_TIME_T.3 RENDER CURLINFO_REDIRECT_COUNT.3 RENDER CURLINFO_REDIRECT_TIME.3 RENDER CURLINFO_REDIRECT_TIME_T.3 RENDER CURLINFO_REDIRECT_URL.3 RENDER CURLINFO_REFERER.3 RENDER CURLINFO_REQUEST_SIZE.3 RENDER CURLINFO_RESPONSE_CODE.3 RENDER CURLINFO_RETRY_AFTER.3 RENDER CURLINFO_RTSP_CLIENT_CSEQ.3 RENDER CURLINFO_RTSP_CSEQ_RECV.3 RENDER CURLINFO_RTSP_SERVER_CSEQ.3 RENDER CURLINFO_RTSP_SESSION_ID.3 RENDER CURLINFO_SCHEME.3 RENDER CURLINFO_SIZE_DELIVERED.3 RENDER CURLINFO_SIZE_DOWNLOAD.3 RENDER CURLINFO_SIZE_DOWNLOAD_T.3 RENDER CURLINFO_SIZE_UPLOAD.3 RENDER CURLINFO_SIZE_UPLOAD_T.3 RENDER CURLINFO_SPEED_DOWNLOAD.3 RENDER CURLINFO_SPEED_DOWNLOAD_T.3 RENDER CURLINFO_SPEED_UPLOAD.3 RENDER CURLINFO_SPEED_UPLOAD_T.3 RENDER CURLINFO_SSL_ENGINES.3 RENDER CURLINFO_SSL_VERIFYRESULT.3 RENDER CURLINFO_STARTTRANSFER_TIME.3 RENDER CURLINFO_STARTTRANSFER_TIME_T.3 RENDER CURLINFO_TLS_SESSION.3 RENDER CURLINFO_TLS_SSL_PTR.3 RENDER CURLINFO_TOTAL_TIME.3 RENDER CURLINFO_TOTAL_TIME_T.3 RENDER CURLINFO_USED_PROXY.3 RENDER CURLINFO_XFER_ID.3 RENDER CURLMINFO_XFERS_ADDED.3 RENDER CURLMINFO_XFERS_CURRENT.3 RENDER CURLMINFO_XFERS_DONE.3 RENDER CURLMINFO_XFERS_PENDING.3 RENDER CURLMINFO_XFERS_RUNNING.3 RENDER CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 RENDER CURLMOPT_MAX_CONCURRENT_STREAMS.3 RENDER CURLMOPT_MAX_HOST_CONNECTIONS.3 RENDER CURLMOPT_MAX_PIPELINE_LENGTH.3 RENDER CURLMOPT_MAX_TOTAL_CONNECTIONS.3 RENDER CURLMOPT_MAXCONNECTS.3 RENDER CURLMOPT_NETWORK_CHANGED.3 RENDER CURLMOPT_NOTIFYDATA.3 RENDER CURLMOPT_NOTIFYFUNCTION.3 RENDER CURLMOPT_PIPELINING.3 RENDER CURLMOPT_PIPELINING_SERVER_BL.3 RENDER CURLMOPT_PIPELINING_SITE_BL.3 RENDER CURLMOPT_PUSHDATA.3 RENDER CURLMOPT_PUSHFUNCTION.3 RENDER CURLMOPT_QUICK_EXIT.3 RENDER CURLMOPT_RESOLVE_THREADS_MAX.3 RENDER CURLMOPT_SOCKETDATA.3 RENDER CURLMOPT_SOCKETFUNCTION.3 RENDER CURLMOPT_TIMERDATA.3 RENDER CURLMOPT_TIMERFUNCTION.3 RENDER CURLOPT_ACCEPT_ENCODING.3 RENDER CURLOPT_ABSTRACT_UNIX_SOCKET.3 RENDER CURLOPT_ACCEPTTIMEOUT_MS.3 RENDER CURLOPT_ADDRESS_SCOPE.3 RENDER CURLOPT_ALTSVC.3 RENDER CURLOPT_ALTSVC_CTRL.3 RENDER CURLOPT_APPEND.3 RENDER CURLOPT_AUTOREFERER.3 RENDER CURLOPT_AWS_SIGV4.3 RENDER CURLOPT_BUFFERSIZE.3 RENDER CURLOPT_CAINFO.3 RENDER CURLOPT_CAINFO_BLOB.3 RENDER CURLOPT_CAPATH.3 RENDER CURLOPT_CA_CACHE_TIMEOUT.3 RENDER CURLOPT_CERTINFO.3 RENDER CURLOPT_CHUNK_BGN_FUNCTION.3 RENDER CURLOPT_CHUNK_DATA.3 RENDER CURLOPT_CHUNK_END_FUNCTION.3 RENDER CURLOPT_CLOSESOCKETDATA.3 RENDER CURLOPT_CLOSESOCKETFUNCTION.3 RENDER CURLOPT_CONNECT_ONLY.3 RENDER CURLOPT_CONNECT_TO.3 RENDER CURLOPT_CONNECTTIMEOUT.3 RENDER CURLOPT_CONNECTTIMEOUT_MS.3 RENDER CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 RENDER CURLOPT_CONV_FROM_UTF8_FUNCTION.3 RENDER CURLOPT_CONV_TO_NETWORK_FUNCTION.3 RENDER CURLOPT_COOKIE.3 RENDER CURLOPT_COOKIEFILE.3 RENDER CURLOPT_COOKIEJAR.3 RENDER CURLOPT_COOKIELIST.3 RENDER CURLOPT_COOKIESESSION.3 RENDER CURLOPT_COPYPOSTFIELDS.3 RENDER CURLOPT_CRLF.3 RENDER CURLOPT_CRLFILE.3 RENDER CURLOPT_CURLU.3 RENDER CURLOPT_CUSTOMREQUEST.3 RENDER CURLOPT_DEBUGDATA.3 RENDER CURLOPT_DEBUGFUNCTION.3 RENDER CURLOPT_DEFAULT_PROTOCOL.3 RENDER CURLOPT_DIRLISTONLY.3 RENDER CURLOPT_DISALLOW_USERNAME_IN_URL.3 RENDER CURLOPT_DNS_CACHE_TIMEOUT.3 RENDER CURLOPT_DNS_INTERFACE.3 RENDER CURLOPT_DNS_LOCAL_IP4.3 RENDER CURLOPT_DNS_LOCAL_IP6.3 RENDER CURLOPT_DNS_SERVERS.3 RENDER CURLOPT_DNS_SHUFFLE_ADDRESSES.3 RENDER CURLOPT_DNS_USE_GLOBAL_CACHE.3 RENDER CURLOPT_DOH_SSL_VERIFYHOST.3 RENDER CURLOPT_DOH_SSL_VERIFYPEER.3 RENDER CURLOPT_DOH_SSL_VERIFYSTATUS.3 RENDER CURLOPT_DOH_URL.3 RENDER CURLOPT_ECH.3 RENDER CURLOPT_EGDSOCKET.3 RENDER CURLOPT_ERRORBUFFER.3 RENDER CURLOPT_EXPECT_100_TIMEOUT_MS.3 RENDER CURLOPT_FAILONERROR.3 RENDER CURLOPT_FILETIME.3 RENDER CURLOPT_FNMATCH_DATA.3 RENDER CURLOPT_FNMATCH_FUNCTION.3 RENDER CURLOPT_FOLLOWLOCATION.3 RENDER CURLOPT_FORBID_REUSE.3 RENDER CURLOPT_FRESH_CONNECT.3 RENDER CURLOPT_FTP_ACCOUNT.3 RENDER CURLOPT_FTP_ALTERNATIVE_TO_USER.3 RENDER CURLOPT_FTP_CREATE_MISSING_DIRS.3 RENDER CURLOPT_FTP_FILEMETHOD.3 RENDER CURLOPT_FTP_SKIP_PASV_IP.3 RENDER CURLOPT_FTP_SSL_CCC.3 RENDER CURLOPT_FTP_USE_EPRT.3 RENDER CURLOPT_FTP_USE_EPSV.3 RENDER CURLOPT_FTP_USE_PRET.3 RENDER CURLOPT_FTPPORT.3 RENDER CURLOPT_FTPSSLAUTH.3 RENDER CURLOPT_GSSAPI_DELEGATION.3 RENDER CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 RENDER CURLOPT_HAPROXYPROTOCOL.3 RENDER CURLOPT_HAPROXY_CLIENT_IP.3 RENDER CURLOPT_HEADER.3 RENDER CURLOPT_HEADERDATA.3 RENDER CURLOPT_HEADERFUNCTION.3 RENDER CURLOPT_HEADEROPT.3 RENDER CURLOPT_HSTS.3 RENDER CURLOPT_HSTS_CTRL.3 RENDER CURLOPT_HSTSREADDATA.3 RENDER CURLOPT_HSTSREADFUNCTION.3 RENDER CURLOPT_HSTSWRITEDATA.3 RENDER CURLOPT_HSTSWRITEFUNCTION.3 RENDER CURLOPT_HTTP09_ALLOWED.3 RENDER CURLOPT_HTTP200ALIASES.3 RENDER CURLOPT_HTTP_CONTENT_DECODING.3 RENDER CURLOPT_HTTP_TRANSFER_DECODING.3 RENDER CURLOPT_HTTP_VERSION.3 RENDER CURLOPT_HTTPAUTH.3 RENDER CURLOPT_HTTPGET.3 RENDER CURLOPT_HTTPHEADER.3 RENDER CURLOPT_HTTPPOST.3 RENDER CURLOPT_HTTPPROXYTUNNEL.3 RENDER CURLOPT_HTTPSIG_ALGORITHM.3 RENDER CURLOPT_HTTPSIG_HEADERS.3 RENDER CURLOPT_HTTPSIG_KEY.3 RENDER CURLOPT_HTTPSIG_KEYID.3 RENDER CURLOPT_IGNORE_CONTENT_LENGTH.3 RENDER CURLOPT_INFILESIZE.3 RENDER CURLOPT_INFILESIZE_LARGE.3 RENDER CURLOPT_INTERFACE.3 RENDER CURLOPT_INTERLEAVEDATA.3 RENDER CURLOPT_INTERLEAVEFUNCTION.3 RENDER CURLOPT_IOCTLDATA.3 RENDER CURLOPT_IOCTLFUNCTION.3 RENDER CURLOPT_IPRESOLVE.3 RENDER CURLOPT_ISSUERCERT.3 RENDER CURLOPT_ISSUERCERT_BLOB.3 RENDER CURLOPT_KEEP_SENDING_ON_ERROR.3 RENDER CURLOPT_KEYPASSWD.3 RENDER CURLOPT_KRBLEVEL.3 RENDER CURLOPT_LOCALPORT.3 RENDER CURLOPT_LOCALPORTRANGE.3 RENDER CURLOPT_LOGIN_OPTIONS.3 RENDER CURLOPT_LOW_SPEED_LIMIT.3 RENDER CURLOPT_LOW_SPEED_TIME.3 RENDER CURLOPT_MAIL_AUTH.3 RENDER CURLOPT_MAIL_FROM.3 RENDER CURLOPT_MAIL_RCPT.3 RENDER CURLOPT_MAIL_RCPT_ALLOWFAILS.3 RENDER CURLOPT_MAX_RECV_SPEED_LARGE.3 RENDER CURLOPT_MAX_SEND_SPEED_LARGE.3 RENDER CURLOPT_MAXAGE_CONN.3 RENDER CURLOPT_MAXCONNECTS.3 RENDER CURLOPT_MAXFILESIZE.3 RENDER CURLOPT_MAXFILESIZE_LARGE.3 RENDER CURLOPT_MAXLIFETIME_CONN.3 RENDER CURLOPT_MAXREDIRS.3 RENDER CURLOPT_MIME_OPTIONS.3 RENDER CURLOPT_MIMEPOST.3 RENDER CURLOPT_NETRC.3 RENDER CURLOPT_NETRC_FILE.3 RENDER CURLOPT_NEW_DIRECTORY_PERMS.3 RENDER CURLOPT_NEW_FILE_PERMS.3 RENDER CURLOPT_NOBODY.3 RENDER CURLOPT_NOPROGRESS.3 RENDER CURLOPT_NOPROXY.3 RENDER CURLOPT_NOSIGNAL.3 RENDER CURLOPT_OPENSOCKETDATA.3 RENDER CURLOPT_OPENSOCKETFUNCTION.3 RENDER CURLOPT_PASSWORD.3 RENDER CURLOPT_PATH_AS_IS.3 RENDER CURLOPT_PINNEDPUBLICKEY.3 RENDER CURLOPT_PIPEWAIT.3 RENDER CURLOPT_PORT.3 RENDER CURLOPT_POST.3 RENDER CURLOPT_POSTFIELDS.3 RENDER CURLOPT_POSTFIELDSIZE.3 RENDER CURLOPT_POSTFIELDSIZE_LARGE.3 RENDER CURLOPT_POSTQUOTE.3 RENDER CURLOPT_POSTREDIR.3 RENDER CURLOPT_PRE_PROXY.3 RENDER CURLOPT_PREQUOTE.3 RENDER CURLOPT_PREREQDATA.3 RENDER CURLOPT_PREREQFUNCTION.3 RENDER CURLOPT_PRIVATE.3 RENDER CURLOPT_PROGRESSDATA.3 RENDER CURLOPT_PROGRESSFUNCTION.3 RENDER CURLOPT_PROTOCOLS.3 RENDER CURLOPT_PROTOCOLS_STR.3 RENDER CURLOPT_PROXY.3 RENDER CURLOPT_PROXY_CAINFO.3 RENDER CURLOPT_PROXY_CAINFO_BLOB.3 RENDER CURLOPT_PROXY_CAPATH.3 RENDER CURLOPT_PROXY_CRLFILE.3 RENDER CURLOPT_PROXY_ISSUERCERT.3 RENDER CURLOPT_PROXY_ISSUERCERT_BLOB.3 RENDER CURLOPT_PROXY_KEYPASSWD.3 RENDER CURLOPT_PROXY_PINNEDPUBLICKEY.3 RENDER CURLOPT_PROXY_SERVICE_NAME.3 RENDER CURLOPT_PROXY_SSL_CIPHER_LIST.3 RENDER CURLOPT_PROXY_SSL_OPTIONS.3 RENDER CURLOPT_PROXY_SSL_VERIFYHOST.3 RENDER CURLOPT_PROXY_SSL_VERIFYPEER.3 RENDER CURLOPT_PROXY_SSLCERT.3 RENDER CURLOPT_PROXY_SSLCERT_BLOB.3 RENDER CURLOPT_PROXY_SSLCERTTYPE.3 RENDER CURLOPT_PROXY_SSLKEY.3 RENDER CURLOPT_PROXY_SSLKEY_BLOB.3 RENDER CURLOPT_PROXY_SSLKEYTYPE.3 RENDER CURLOPT_PROXY_SSLVERSION.3 RENDER CURLOPT_PROXY_TLS13_CIPHERS.3 RENDER CURLOPT_PROXY_TLSAUTH_PASSWORD.3 RENDER CURLOPT_PROXY_TLSAUTH_TYPE.3 RENDER CURLOPT_PROXY_TLSAUTH_USERNAME.3 RENDER CURLOPT_PROXY_TRANSFER_MODE.3 RENDER CURLOPT_PROXYAUTH.3 RENDER CURLOPT_PROXYHEADER.3 RENDER CURLOPT_PROXYPASSWORD.3 RENDER CURLOPT_PROXYPORT.3 RENDER CURLOPT_PROXYTYPE.3 RENDER CURLOPT_PROXYUSERNAME.3 RENDER CURLOPT_PROXYUSERPWD.3 RENDER CURLOPT_PUT.3 RENDER CURLOPT_QUICK_EXIT.3 RENDER CURLOPT_QUOTE.3 RENDER CURLOPT_RANDOM_FILE.3 RENDER CURLOPT_RANGE.3 RENDER CURLOPT_READDATA.3 RENDER CURLOPT_READFUNCTION.3 RENDER CURLOPT_REDIR_PROTOCOLS.3 RENDER CURLOPT_REDIR_PROTOCOLS_STR.3 RENDER CURLOPT_REFERER.3 RENDER CURLOPT_REQUEST_TARGET.3 RENDER CURLOPT_RESOLVE.3 RENDER CURLOPT_RESOLVER_START_DATA.3 RENDER CURLOPT_RESOLVER_START_FUNCTION.3 RENDER CURLOPT_RESUME_FROM.3 RENDER CURLOPT_RESUME_FROM_LARGE.3 RENDER CURLOPT_RTSP_CLIENT_CSEQ.3 RENDER CURLOPT_RTSP_REQUEST.3 RENDER CURLOPT_RTSP_SERVER_CSEQ.3 RENDER CURLOPT_RTSP_SESSION_ID.3 RENDER CURLOPT_RTSP_STREAM_URI.3 RENDER CURLOPT_RTSP_TRANSPORT.3 RENDER CURLOPT_SASL_AUTHZID.3 RENDER CURLOPT_SASL_IR.3 RENDER CURLOPT_SEEKDATA.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT.3 RENDER CURLOPT_SEEKFUNCTION.3 RENDER CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3 RENDER CURLOPT_SHARE.3 RENDER CURLOPT_SERVICE_NAME.3 RENDER CURLOPT_SOCKOPTDATA.3 RENDER CURLOPT_SOCKOPTFUNCTION.3 RENDER CURLOPT_SOCKS5_AUTH.3 RENDER CURLOPT_SOCKS5_GSSAPI_SERVICE.3 RENDER CURLOPT_SOCKS5_GSSAPI_NEC.3 RENDER CURLOPT_SSH_AUTH_TYPES.3 RENDER CURLOPT_SSH_COMPRESSION.3 RENDER CURLOPT_SSH_HOSTKEYDATA.3 RENDER CURLOPT_SSH_HOSTKEYFUNCTION.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 RENDER CURLOPT_SSH_KEYDATA.3 RENDER CURLOPT_SSH_KEYFUNCTION.3 RENDER CURLOPT_SSH_KNOWNHOSTS.3 RENDER CURLOPT_SSH_PRIVATE_KEYFILE.3 RENDER CURLOPT_SSH_PUBLIC_KEYFILE.3 RENDER CURLOPT_SSL_CIPHER_LIST.3 RENDER CURLOPT_SSL_CTX_DATA.3 RENDER CURLOPT_SSL_CTX_FUNCTION.3 RENDER CURLOPT_SSL_EC_CURVES.3 RENDER CURLOPT_SSL_ENABLE_ALPN.3 RENDER CURLOPT_SSL_ENABLE_NPN.3 RENDER CURLOPT_SSL_FALSESTART.3 RENDER CURLOPT_SSL_OPTIONS.3 RENDER CURLOPT_SSL_SESSIONID_CACHE.3 RENDER CURLOPT_SSL_SIGNATURE_ALGORITHMS.3 RENDER CURLOPT_SSL_VERIFYHOST.3 RENDER CURLOPT_SSL_VERIFYPEER.3 RENDER CURLOPT_SSL_VERIFYSTATUS.3 RENDER CURLOPT_SSLCERT.3 RENDER CURLOPT_SSLCERT_BLOB.3 RENDER CURLOPT_SSLCERTTYPE.3 RENDER CURLOPT_SSLENGINE.3 RENDER CURLOPT_SSLENGINE_DEFAULT.3 RENDER CURLOPT_SSLKEY.3 RENDER CURLOPT_SSLKEY_BLOB.3 RENDER CURLOPT_SSLKEYTYPE.3 RENDER CURLOPT_SSLVERSION.3 RENDER CURLOPT_STDERR.3 RENDER CURLOPT_STREAM_DEPENDS.3 RENDER CURLOPT_STREAM_DEPENDS_E.3 RENDER CURLOPT_STREAM_WEIGHT.3 RENDER CURLOPT_SUPPRESS_CONNECT_HEADERS.3 RENDER CURLOPT_TCP_FASTOPEN.3 RENDER CURLOPT_TCP_KEEPALIVE.3 RENDER CURLOPT_TCP_KEEPIDLE.3 RENDER CURLOPT_TCP_KEEPINTVL.3 RENDER CURLOPT_TCP_KEEPCNT.3 RENDER CURLOPT_TCP_NODELAY.3 RENDER CURLOPT_TELNETOPTIONS.3 RENDER CURLOPT_TFTP_BLKSIZE.3 RENDER CURLOPT_TFTP_NO_OPTIONS.3 RENDER CURLOPT_TIMECONDITION.3 RENDER CURLOPT_TIMEOUT.3 RENDER CURLOPT_TIMEOUT_MS.3 RENDER CURLOPT_TIMEVALUE.3 RENDER CURLOPT_TIMEVALUE_LARGE.3 RENDER CURLOPT_TLSAUTH_PASSWORD.3 RENDER CURLOPT_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_TYPE.3 RENDER CURLOPT_TLSAUTH_USERNAME.3 RENDER CURLOPT_TRAILERDATA.3 RENDER CURLOPT_TRAILERFUNCTION.3 RENDER CURLOPT_TRANSFER_ENCODING.3 RENDER CURLOPT_TRANSFERTEXT.3 RENDER CURLOPT_UNIX_SOCKET_PATH.3 RENDER CURLOPT_UNRESTRICTED_AUTH.3 RENDER CURLOPT_UPKEEP_INTERVAL_MS.3 RENDER CURLOPT_UPLOAD.3 RENDER CURLOPT_UPLOAD_BUFFERSIZE.3 RENDER CURLOPT_UPLOAD_FLAGS.3 RENDER CURLOPT_URL.3 RENDER CURLOPT_USE_SSL.3 RENDER CURLOPT_USERAGENT.3 RENDER CURLOPT_USERNAME.3 RENDER CURLOPT_USERPWD.3 RENDER CURLOPT_VERBOSE.3 RENDER CURLOPT_WILDCARDMATCH.3 RENDER CURLOPT_WRITEDATA.3 RENDER CURLOPT_WRITEFUNCTION.3 RENDER CURLOPT_WS_OPTIONS.3 RENDER CURLOPT_XFERINFODATA.3 RENDER CURLOPT_XFERINFOFUNCTION.3 RENDER CURLOPT_XOAUTH2_BEARER.3 RENDER CURLSHOPT_LOCKFUNC.3 RENDER CURLSHOPT_SHARE.3 RENDER CURLSHOPT_UNLOCKFUNC.3 RENDER CURLSHOPT_UNSHARE.3 RENDER CURLSHOPT_USERDATA.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl/opts' make[3]: Entering directory '/startdir/src/build-curl/docs/libcurl' RENDER curl_easy_cleanup.3 RENDER curl_easy_duphandle.3 RENDER curl_easy_escape.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_header.3 RENDER curl_easy_init.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_option_next.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_recv.3 RENDER curl_easy_reset.3 RENDER curl_easy_send.3 RENDER curl_easy_setopt.3 RENDER curl_easy_ssls_export.3 RENDER curl_easy_ssls_import.3 RENDER curl_easy_strerror.3 RENDER curl_easy_unescape.3 RENDER curl_easy_upkeep.3 RENDER curl_escape.3 RENDER curl_formadd.3 RENDER curl_formfree.3 RENDER curl_formget.3 RENDER curl_free.3 RENDER curl_getdate.3 RENDER curl_getenv.3 RENDER curl_global_cleanup.3 RENDER curl_global_init.3 RENDER curl_global_init_mem.3 RENDER curl_global_sslset.3 RENDER curl_mime_addpart.3 RENDER curl_global_trace.3 RENDER curl_mime_data.3 RENDER curl_mime_data_cb.3 RENDER curl_mime_encoder.3 RENDER curl_mime_filedata.3 RENDER curl_mime_filename.3 RENDER curl_mime_free.3 RENDER curl_mime_headers.3 RENDER curl_mime_init.3 RENDER curl_mime_name.3 RENDER curl_mime_subparts.3 RENDER curl_mime_type.3 RENDER curl_mprintf.3 RENDER curl_multi_add_handle.3 RENDER curl_multi_assign.3 RENDER curl_multi_cleanup.3 RENDER curl_multi_fdset.3 RENDER curl_multi_get_handles.3 RENDER curl_multi_get_offt.3 RENDER curl_multi_info_read.3 RENDER curl_multi_notify_disable.3 RENDER curl_multi_init.3 RENDER curl_multi_notify_enable.3 RENDER curl_multi_perform.3 RENDER curl_multi_poll.3 RENDER curl_multi_remove_handle.3 RENDER curl_multi_setopt.3 RENDER curl_multi_socket.3 RENDER curl_multi_socket_action.3 RENDER curl_multi_socket_all.3 RENDER curl_multi_strerror.3 RENDER curl_multi_timeout.3 RENDER curl_multi_wait.3 RENDER curl_multi_waitfds.3 RENDER curl_multi_wakeup.3 RENDER curl_pushheader_byname.3 RENDER curl_pushheader_bynum.3 RENDER curl_share_cleanup.3 RENDER curl_share_init.3 RENDER curl_share_setopt.3 RENDER curl_share_strerror.3 RENDER curl_slist_append.3 RENDER curl_slist_free_all.3 RENDER curl_strequal.3 RENDER curl_strnequal.3 RENDER curl_unescape.3 RENDER curl_url.3 RENDER curl_url_cleanup.3 RENDER curl_url_dup.3 RENDER curl_url_get.3 RENDER curl_url_set.3 RENDER curl_url_strerror.3 RENDER curl_version.3 RENDER curl_version_info.3 RENDER curl_ws_meta.3 RENDER curl_ws_recv.3 RENDER curl_ws_send.3 RENDER curl_ws_start_frame.3 RENDER libcurl-easy.3 RENDER libcurl-env-dbg.3 RENDER libcurl-env.3 RENDER libcurl-errors.3 RENDER libcurl-multi.3 RENDER libcurl-security.3 RENDER libcurl-share.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-tutorial.3 RENDER libcurl-url.3 RENDER libcurl-ws.3 RENDER libcurl.3 RENDER libcurl-symbols.3 make[3]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[2]: Leaving directory '/startdir/src/build-curl/docs/libcurl' make[1]: Leaving directory '/startdir/src/build-curl/docs' Making all in src make[1]: Entering directory '/startdir/src/build-curl/src' CC curl-config2setopts.o CC curl-slist_wc.o CC curl-terminal.o CC curl-tool_cb_dbg.o CC curl-tool_cb_hdr.o CC curl-tool_cb_prg.o CC curl-tool_cb_rea.o CC curl-tool_cb_soc.o CC curl-tool_cb_see.o CC curl-tool_cb_wrt.o CC curl-tool_cfgable.o CC curl-tool_dirhie.o CC curl-tool_doswin.o CC curl-tool_easysrc.o CC curl-tool_filetime.o CC curl-tool_findfile.o CC curl-tool_formparse.o CC curl-tool_getparam.o CC curl-tool_getpass.o CC curl-tool_help.o CC curl-tool_helpers.o CC curl-tool_ipfs.o CC curl-tool_libinfo.o CC curl-tool_listhelp.o CC curl-tool_msgs.o CC curl-tool_main.o CC curl-tool_operate.o CC curl-tool_operhlp.o CC curl-tool_paramhlp.o CC curl-tool_parsecfg.o CC curl-tool_progress.o CC curl-tool_setopt.o CC curl-tool_ssls.o CC curl-tool_stderr.o CC curl-tool_urlglob.o CC curl-tool_util.o CC curl-tool_vms.o CC curl-tool_writeout.o CC curl-tool_writeout_json.o CC curl-tool_xattr.o CC curl-var.o echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c; \ echo '#include "tool_hugehelp.h"' >> tool_hugehelp.c echo '/* !checksrc! disable COPYRIGHT all */' > tool_ca_embed.c echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' >> tool_ca_embed.c CC ../lib/curlx/curl-base64.o CC ../lib/curlx/curl-basename.o CC ../lib/curlx/curl-dynbuf.o CC ../lib/curlx/curl-win32-fopen.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strcopy.o CC ../lib/curlx/curl-strdup.o CC ../lib/curlx/curl-strerr.o CC ../lib/curlx/curl-strparse.o CC ../lib/curlx/curl-timediff.o CC ../lib/curlx/curl-timeval.o CC ../lib/curlx/curl-version_win32.o CC ../lib/curlx/curl-wait.o CC ../lib/curlx/curl-warnless.o CC ../lib/curlx/curl-winapi.o CC curlinfo.o CC libcurltool_la-config2setopts.lo CC libcurltool_la-slist_wc.lo CC libcurltool_la-terminal.lo CC libcurltool_la-tool_cb_dbg.lo CC libcurltool_la-tool_cb_hdr.lo CC libcurltool_la-tool_cb_prg.lo CC libcurltool_la-tool_cb_rea.lo CC libcurltool_la-tool_cb_see.lo CC libcurltool_la-tool_cb_soc.lo CC libcurltool_la-tool_cb_wrt.lo CC libcurltool_la-tool_cfgable.lo CC libcurltool_la-tool_dirhie.lo CC libcurltool_la-tool_doswin.lo CC libcurltool_la-tool_easysrc.lo CC libcurltool_la-tool_filetime.lo CC libcurltool_la-tool_findfile.lo CC libcurltool_la-tool_formparse.lo CC libcurltool_la-tool_getparam.lo CC libcurltool_la-tool_getpass.lo CC libcurltool_la-tool_help.lo CC libcurltool_la-tool_helpers.lo CC libcurltool_la-tool_ipfs.lo CC libcurltool_la-tool_libinfo.lo CC libcurltool_la-tool_listhelp.lo CC libcurltool_la-tool_main.lo CC libcurltool_la-tool_msgs.lo CC libcurltool_la-tool_operate.lo CC libcurltool_la-tool_operhlp.lo CC libcurltool_la-tool_paramhlp.lo CC libcurltool_la-tool_parsecfg.lo CC libcurltool_la-tool_progress.lo CC libcurltool_la-tool_setopt.lo CC libcurltool_la-tool_ssls.lo CC libcurltool_la-tool_stderr.lo CC libcurltool_la-tool_urlglob.lo CC libcurltool_la-tool_util.lo CC libcurltool_la-tool_vms.lo CC libcurltool_la-tool_writeout.lo CC libcurltool_la-tool_writeout_json.lo CC libcurltool_la-tool_xattr.lo CC libcurltool_la-var.lo CC toolx/libcurltool_la-tool_time.lo CC ../lib/curlx/libcurltool_la-base64.lo CC ../lib/curlx/libcurltool_la-basename.lo CC ../lib/curlx/libcurltool_la-dynbuf.lo CC ../lib/curlx/libcurltool_la-win32-fopen.lo CC ../lib/curlx/libcurltool_la-multibyte.lo CC ../lib/curlx/libcurltool_la-nonblock.lo CC ../lib/curlx/libcurltool_la-strcopy.lo CC ../lib/curlx/libcurltool_la-strdup.lo CC ../lib/curlx/libcurltool_la-strerr.lo CC ../lib/curlx/libcurltool_la-strparse.lo CC ../lib/curlx/libcurltool_la-timediff.lo CC ../lib/curlx/libcurltool_la-timeval.lo CC ../lib/curlx/libcurltool_la-version_win32.lo CC ../lib/curlx/libcurltool_la-wait.lo CC ../lib/curlx/libcurltool_la-warnless.lo CC ../lib/curlx/libcurltool_la-winapi.lo CC toolx/curl-tool_time.o CC curl-tool_hugehelp.o CC curl-tool_ca_embed.o CCLD curlinfo CCLD curl CCLD libcurltool.la make[1]: Leaving directory '/startdir/src/build-curl/src' Making all in scripts make[1]: Entering directory '/startdir/src/build-curl/scripts' /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell zsh > _curl /usr/bin/perl /startdir/src/curl/scripts/completion.pl --opts-dir /startdir/src/curl/docs/cmdline-opts --shell fish > curl.fish make[1]: Leaving directory '/startdir/src/build-curl/scripts' make[1]: Entering directory '/startdir/src/build-curl' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/startdir/src/build-curl' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable curl debug features (for developing curl)... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking whether to enable HTTP/3 proxy support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C23 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.23.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to support large files... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1600' (raw: '16') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking enable curl_global_init_mem debug build... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.22.2 checking if we can link against GSS-API library... yes checking for gss_set_neg_mechs... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for openssl options with pkg-config... found configure: pkg-config: SSL_LIBS: "-lssl -lcrypto" configure: pkg-config: SSL_LDFLAGS: "" configure: pkg-config: SSL_CPPFLAGS: "" checking for HMAC_Update in -lcrypto... yes checking for SSL_connect in -lssl... yes checking for openssl/rsa.h... yes checking for openssl/crypto.h... yes checking for openssl/pem.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for AWS-LC... no checking for BoringSSL... no checking for LibreSSL... no checking for OpenSSL >= 3... checking for SSL_set_quic_use_legacy_codepoint... no checking for SSL_set_quic_tls_cbs... yes configure: OpenSSL with QUIC APIv2 checking for DES support in OpenSSL... yes checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_ossl options with pkg-config... found configure: -l is -lngtcp2_crypto_ossl configure: -I is configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netinet/ip.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for pipe2... yes checking for fchmod... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking if memset_s can be linked... no checking if memset_s might be used... no checking for memset_explicit... yes checking for fseeko... yes checking for gcc options to detect undeclared functions... none needed checking for gcc options to ignore future-version functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws-sigv4 methods... yes checking whether to enable HTTP Message Signatures (RFC 9421)... no checking whether to support NTLM... no checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking for SSL_set0_wbio... yes checking whether to support WebSockets... yes checking whether hiding of library internal symbols does actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/perf/Makefile config.status: creating tests/server/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/unit/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.23.0 SSL: enabled (OpenSSL) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) CA native: no CA cert bundle: /etc/ssl/certs/ca-certificates.crt CA cert path: no CA cert embed: no CA fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) proxy-HTTP3: no (--enable-proxy-http3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd make: Entering directory '/startdir/src/build-curl-compat/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-compat/lib' CC libcurl_la-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-api.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-recvbuf.lo CC libcurl_la-cf-setup.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-content_encoding.lo CC libcurl_la-connect.lo CC libcurl_la-cookie.lo CC libcurl_la-creds.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_httpsig.lo CC libcurl_la-curl_ed25519.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-openldap.lo CC libcurl_la-peer.lo CC libcurl_la-parsedate.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-protocol.lo CC libcurl_la-proxy.lo CC libcurl_la-psl.lo CC libcurl_la-ptrarray.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-thrdpool.lo CC libcurl_la-thrdqueue.lo CC libcurl_la-transfer.lo CC libcurl_la-u8_strset.lo CC libcurl_la-u32_ptrset.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-api.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-recvbuf.lo CC libcurlu_la-cf-setup.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-creds.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_httpsig.lo CC libcurlu_la-curl_ed25519.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-idn.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-imap.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-peer.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-protocol.lo CC libcurlu_la-proxy.lo CC libcurlu_la-psl.lo CC libcurlu_la-ptrarray.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-thrdpool.lo CC libcurlu_la-thrdqueue.lo CC libcurlu_la-transfer.lo CC libcurlu_la-u8_strset.lo CC libcurlu_la-u32_ptrset.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-url.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vdns/libcurlu_la-asyn-ares.lo CC vdns/libcurlu_la-asyn-base.lo CC vdns/libcurlu_la-asyn-thrdd.lo CC vdns/libcurlu_la-cf-dns.lo CC vdns/libcurlu_la-dnscache.lo CC vdns/libcurlu_la-doh.lo CC vdns/libcurlu_la-hostip.lo CC vdns/libcurlu_la-hostip4.lo CC vdns/libcurlu_la-hostip6.lo CC vdns/libcurlu_la-httpsrr.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_config.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-capsule.lo CC vquic/libcurlu_la-cf-capsule.lo CC vquic/libcurlu_la-cf-ngtcp2.lo CC vquic/libcurlu_la-cf-ngtcp2-cmn.lo CC vquic/libcurlu_la-cf-ngtcp2-proxy.lo CC vquic/libcurlu_la-cf-quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-win32-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vdns/libcurl_la-asyn-ares.lo CC vdns/libcurl_la-asyn-base.lo CC vdns/libcurl_la-asyn-thrdd.lo CC vdns/libcurl_la-cf-dns.lo CC vdns/libcurl_la-dnscache.lo CC vdns/libcurl_la-doh.lo CC vdns/libcurl_la-hostip.lo CC vdns/libcurl_la-hostip4.lo CC vdns/libcurl_la-hostip6.lo CC vdns/libcurl_la-httpsrr.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_config.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-capsule.lo CC vquic/libcurl_la-cf-capsule.lo CC vquic/libcurl_la-cf-ngtcp2.lo CC vquic/libcurl_la-cf-ngtcp2-cmn.lo CC vquic/libcurl_la-cf-ngtcp2-proxy.lo CC vquic/libcurl_la-cf-quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-win32-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_ntlm_core.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-http_httpsig.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_ed25519.o: no symbols /usr/bin/nm: .libs/libcurl_la-http_ntlm.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-md4.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-gtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-x509asn1.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-cf-ngtcp2-proxy.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-cf-quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols /usr/src/debug/curl/curl/lib/curlx/inet_pton.c: In function 'inet_pton6': /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:180:19: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=] /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:115:17: note: at offset [-9223372036854775760, -16] into destination object 'tmp' of size 16 make[1]: Leaving directory '/startdir/src/build-curl-compat/lib' make: Leaving directory '/startdir/src/build-curl-compat/lib' checking whether to enable maintainer-specific portions of Makefiles... no checking whether make supports nested variables... yes checking whether to enable curl debug features (for developing curl)... no checking whether to enable compiler optimizer... (assumed) yes checking whether to enable strict compiler warnings... no checking whether to enable compiler warnings as errors... no checking whether to enable hiding of library internal symbols... yes checking whether to enable c-ares for DNS lookups... no checking whether to disable dependency on -lrt... (assumed no) checking whether to enable HTTPSRR support... no checking whether to enable ECH support... no checking whether to enable SSL session export support... no checking whether to enable HTTP/3 proxy support... no checking for path separator... : checking for sed... /usr/bin/sed checking for grep... /usr/bin/grep checking that grep -E works... yes checking for ar... /usr/bin/ar checking for a BSD-compatible install... /usr/bin/install -c checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C23 features... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for stdatomic.h... yes checking if _Atomic is available... yes checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking xargs -n works... yes checking whether UID '1002' is supported by ustar format... yes checking whether GID '1002' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking dependency style of gcc... gcc3 checking curl version... 8.23.0 checking for perl... /usr/bin/perl checking for httpd... no checking for apache2... no checking for apxs... no configure: httpd/apache2 not in PATH, http tests disabled configure: apxs not in PATH, http tests disabled checking for danted... no checking for danted... no checking for sshd... no checking for sshd... no checking for sftp-server... no checking for sftp-server... no checking for nghttpx... no checking for caddy... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for egrep -e... /usr/bin/grep -E checking if OS is AIX (to define _ALL_SOURCE)... no checking if _THREAD_SAFE is already defined... no checking if _THREAD_SAFE is actually needed... no checking if _THREAD_SAFE is onwards defined... no checking if _REENTRANT is already defined... no checking if _REENTRANT is actually needed... no checking if _REENTRANT is onwards defined... no checking for gcc option to support large files... none needed checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for grep that handles long lines and -e... (cached) /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for file... file checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ranlib... ranlib checking for archiver @FILE support... @ checking for strip... strip checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking for dlfcn.h... yes checking which variant of shared library versioning to provide... (default) aix checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to build shared libraries with -version-info... yes checking whether to build shared libraries with -no-undefined... no checking whether to build shared libraries with -mimpure-text... no checking whether to build shared libraries with PIC... yes checking whether to build static libraries with PIC... yes checking whether to build shared libraries only... no checking whether to build static libraries only... no checking for windres... no checking if cpp -P is needed... yes checking if cpp -P works... yes checking if compiler is DEC/Compaq/HP C... no checking if compiler is HP-UX C... no checking if compiler is IBM C... no checking if compiler is Intel C... no checking if compiler is clang... no checking if compiler is GNU C... yes checking compiler version... gcc '1600' (raw: '16') checking if compiler is SunPro C... no checking if compiler is Tiny C... no checking for code coverage support... no checking whether build target is a native Windows one... no checking if compiler accepts some basic options... yes configure: compiler options added: -Werror-implicit-function-declaration checking if compiler optimizer assumed setting might be used... no checking if compiler accepts strict warning options... yes configure: compiler options added: -Wno-system-headers checking if compiler halts on compilation errors... yes checking if compiler halts on negative sized arrays... yes checking if compiler halts on function prototype mismatch... yes checking if compiler supports hiding library internal symbols... yes checking whether build target supports Win32 crypto API... no checking whether to build libcurl and curl in "unity" mode... no checking whether to support http... yes checking whether to support ftp... yes checking whether to support file... yes checking whether to support IPFS... yes checking whether to support ldap... no checking whether to support ldaps... no checking whether to support rtsp... yes checking whether to support proxies... yes checking whether to support dict... yes checking whether to support telnet... yes checking whether to support tftp... yes checking whether to support pop3... yes checking whether to support imap... yes checking whether to support smtp... yes checking whether to support gopher... yes checking whether to support mqtt... no checking enable curl_global_init_mem debug build... no checking whether to provide built-in manual... no checking whether to build documentation... yes checking whether to enable generation of C code... yes checking whether to use libgcc... no checking whether to use libbacktrace... no checking if X/Open network library is required... no checking for gethostbyname... yes checking whether build target is a native Windows one... (cached) no checking for proto/bsdsocket.h... no checking for connect in libraries... yes checking for sys/types.h... (cached) yes checking for monotonic clock_gettime... yes checking for clock_gettime in libraries... no additional lib required checking if monotonic clock_gettime works... yes checking for sys/types.h... (cached) yes checking for raw monotonic clock_gettime... yes checking for pkg-config... /usr/bin/pkg-config checking for zlib options with pkg-config... found checking for zlib.h... yes configure: found both libz and libz.h header checking for BrotliDecoderDecompress in -lbrotlidec... yes checking for brotli/decode.h... yes checking for ZSTD_createDStream in -lzstd... yes checking for zstd.h... yes checking whether to enable IPv6... yes checking if struct sockaddr_in6 has sin6_scope_id member... yes checking if argv can be written to... yes checking if GSS-API support is requested... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found checking for gss.h... no checking for gssapi/gssapi.h... yes checking for gssapi/gssapi_generic.h... yes checking for gssapi/gssapi_krb5.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.22.2 checking if we can link against GSS-API library... yes checking for gss_set_neg_mechs... yes checking whether to enable Windows native SSL/TLS... no checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for gnutls options with pkg-config... found checking for gnutls_x509_crt_get_dn2 in -lgnutls... yes configure: detected GnuTLS version 3.8.13 checking for nettle_md5_init in -lgnutls... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for nettle options with pkg-config... found checking for nettle_md5_init in -lnettle... yes configure: detected nettle version 4.0 checking for nettle_ed25519_sha512_sign in -lgnutls... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for hogweed options with pkg-config... found checking for nettle_ed25519_sha512_sign in -lhogweed... yes configure: detected hogweed version 4.0 checking whether to enable Apple OS native certificate validation... no configure: built with one SSL backend checking whether to use native CA store... no checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt checking whether to use OpenSSL's built-in CA store... no checking CA cert bundle path to embed in the curl tool... no checking for pkg-config... (cached) /usr/bin/pkg-config checking for libpsl options with pkg-config... found checking for psl_builtin in -lpsl... yes checking for libpsl.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path in -lssh2... yes checking for libssh2.h... yes checking whether versioned symbols are wanted... no checking whether to build with libidn2... (assumed) yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libidn2 options with pkg-config... found configure: pkg-config: IDN_LIBS: "-lidn2" configure: pkg-config: IDN_LDFLAGS: "" configure: pkg-config: IDN_CPPFLAGS: "" configure: pkg-config: IDN_DIR: "" checking if idn2_lookup_ul can be linked... yes checking for idn2.h... yes checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp2 options with pkg-config... found configure: -l is -lnghttp2 configure: -I is configure: -L is checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes checking for nghttp2/nghttp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2 options with pkg-config... found configure: -l is -lngtcp2 configure: -I is configure: -L is checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes checking for ngtcp2/ngtcp2.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libngtcp2_crypto_gnutls options with pkg-config... found configure: -l is -lngtcp2_crypto_gnutls configure: -I is -I/usr/include/p11-kit-1 configure: -L is checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_gnutls... yes checking for ngtcp2/ngtcp2_crypto.h... yes configure: Added to CURL_LIBRARY_PATH checking for pkg-config... (cached) /usr/bin/pkg-config checking for libnghttp3 options with pkg-config... found configure: -l is -lnghttp3 configure: -I is configure: -L is checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes checking for nghttp3/nghttp3.h... yes configure: Added to CURL_LIBRARY_PATH checking for sys/types.h... (cached) yes checking for sys/select.h... yes checking for sys/ioctl.h... yes checking for unistd.h... (cached) yes checking for arpa/inet.h... yes checking for net/if.h... yes checking for netinet/in.h... yes checking for netinet/in6.h... no checking for sys/un.h... yes checking for linux/tcp.h... yes checking for netinet/tcp.h... yes checking for netinet/udp.h... yes checking for netinet/ip.h... yes checking for netdb.h... yes checking for sys/sockio.h... no checking for sys/param.h... yes checking for termios.h... yes checking for termio.h... no checking for fcntl.h... yes checking for io.h... no checking for pwd.h... yes checking for utime.h... yes checking for sys/utime.h... no checking for sys/poll.h... yes checking for poll.h... yes checking for sys/resource.h... yes checking for libgen.h... yes checking for locale.h... yes checking for stdbool.h... yes checking for sys/filio.h... no checking for sys/eventfd.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for sys/types.h... (cached) yes checking for struct timeval... yes checking runtime libs availability... fine checking size of size_t... 8 checking size of long... 8 checking size of int... 4 checking size of time_t... 8 checking size of off_t... 8 checking size of curl_off_t... 8 checking size of curl_socket_t... 4 checking for ssize_t... yes checking for bool... yes checking for sa_family_t... yes checking for suseconds_t... yes checking if time_t is unsigned... no checking for struct sockaddr_storage... yes checking for sys/types.h... (cached) yes checking for recv... yes checking for sys/types.h... (cached) yes checking for send... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking if alarm can be linked... yes checking if alarm is prototyped... yes checking if alarm is compilable... yes checking if alarm usage allowed... yes checking if alarm might be used... yes checking for sys/types.h... (cached) yes checking for strings.h... (cached) yes checking for sys/types.h... (cached) yes checking for libgen.h... (cached) yes checking if basename can be linked... yes checking if basename is prototyped... yes checking if basename is compilable... yes checking if basename usage allowed... yes checking if basename might be used... yes checking if closesocket can be linked... no checking if closesocket might be used... no checking for sys/types.h... (cached) yes checking if CloseSocket can be linked... no checking if CloseSocket might be used... no checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for fcntl.h... (cached) yes checking if fcntl can be linked... yes checking if fcntl is prototyped... yes checking if fcntl is compilable... yes checking if fcntl usage allowed... yes checking if fcntl might be used... yes checking if fcntl O_NONBLOCK is compilable... yes checking if fcntl O_NONBLOCK usage allowed... yes checking if fcntl O_NONBLOCK might be used... yes checking whether build target is a native Windows one... (cached) no checking for sys/types.h... (cached) yes checking for netdb.h... (cached) yes checking if freeaddrinfo can be linked... yes checking if freeaddrinfo is prototyped... yes checking if freeaddrinfo is compilable... yes checking if freeaddrinfo usage allowed... yes checking if freeaddrinfo might be used... yes checking for sys/types.h... (cached) yes checking for sys/xattr.h... yes checking if fsetxattr can be linked... yes checking if fsetxattr is prototyped... yes checking if fsetxattr takes 5 args.... yes checking if fsetxattr is compilable... yes checking if fsetxattr usage allowed... yes checking if fsetxattr might be used... yes checking for sys/types.h... (cached) yes checking if getaddrinfo can be linked... yes checking if getaddrinfo is prototyped... yes checking if getaddrinfo is compilable... yes checking if getaddrinfo seems to work... yes checking if getaddrinfo usage allowed... yes checking if getaddrinfo might be used... yes checking if getaddrinfo is thread-safe... yes checking if gethostbyname_r can be linked... yes checking if gethostbyname_r is prototyped... yes checking if gethostbyname_r takes 3 args.... no checking if gethostbyname_r takes 5 args.... no checking if gethostbyname_r takes 6 args.... yes checking if gethostbyname_r is compilable... yes checking if gethostbyname_r usage allowed... yes checking if gethostbyname_r might be used... yes checking if gethostname can be linked... yes checking if gethostname is prototyped... yes checking if gethostname is compilable... yes checking for gethostname arg 2 data type... size_t checking if gethostname usage allowed... yes checking if gethostname might be used... yes checking for sys/types.h... (cached) yes checking for netinet/in.h... (cached) yes checking for ifaddrs.h... yes checking if getifaddrs can be linked... yes checking if getifaddrs is prototyped... yes checking if getifaddrs is compilable... yes checking if getifaddrs seems to work... yes checking if getifaddrs usage allowed... yes checking if getifaddrs might be used... yes checking if getpeername can be linked... yes checking if getpeername is prototyped... yes checking if getpeername is compilable... yes checking if getpeername usage allowed... yes checking if getpeername might be used... yes checking if getsockname can be linked... yes checking if getsockname is prototyped... yes checking if getsockname is compilable... yes checking if getsockname usage allowed... yes checking if getsockname might be used... yes checking for sys/types.h... (cached) yes checking if gmtime_r can be linked... yes checking if gmtime_r is prototyped... yes checking if gmtime_r is compilable... yes checking if gmtime_r seems to work... yes checking if gmtime_r usage allowed... yes checking if gmtime_r might be used... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/ioctl.h... (cached) yes checking for stropts.h... no checking if ioctl can be linked... yes checking if ioctl is prototyped... yes checking if ioctl is compilable... yes checking if ioctl usage allowed... yes checking if ioctl might be used... yes checking if ioctl FIONBIO is compilable... yes checking if ioctl FIONBIO usage allowed... yes checking if ioctl FIONBIO might be used... yes checking if ioctl SIOCGIFADDR is compilable... yes checking if ioctl SIOCGIFADDR usage allowed... yes checking if ioctl SIOCGIFADDR might be used... yes checking if ioctlsocket can be linked... no checking if ioctlsocket might be used... no checking if IoctlSocket can be linked... no checking if IoctlSocket might be used... no checking if localtime_r can be linked... yes checking if localtime_r is prototyped... yes checking if localtime_r is compilable... yes checking if localtime_r seems to work... yes checking if localtime_r usage allowed... yes checking if localtime_r might be used... yes checking if memrchr can be linked... yes checking if memrchr is prototyped... yes checking if memrchr is compilable... yes checking if memrchr usage allowed... yes checking if memrchr might be used... yes checking for sys/types.h... (cached) yes checking if sigaction can be linked... yes checking if sigaction is prototyped... yes checking if sigaction is compilable... yes checking if sigaction usage allowed... yes checking if sigaction might be used... yes checking if siginterrupt can be linked... yes checking if siginterrupt is prototyped... yes checking if siginterrupt is compilable... yes checking if siginterrupt usage allowed... yes checking if siginterrupt might be used... yes checking if signal can be linked... yes checking if signal is prototyped... yes checking if signal is compilable... yes checking if signal usage allowed... yes checking if signal might be used... yes checking for sys/types.h... (cached) yes checking if sigsetjmp can be linked... no checking if sigsetjmp seems a macro... yes checking if sigsetjmp is compilable... yes checking if sigsetjmp usage allowed... yes checking if sigsetjmp might be used... yes checking if socket can be linked... yes checking if socket is prototyped... yes checking if socket is compilable... yes checking if socket usage allowed... yes checking if socket might be used... yes checking if socketpair can be linked... yes checking if socketpair is prototyped... yes checking if socketpair is compilable... yes checking if socketpair usage allowed... yes checking if socketpair might be used... yes checking if strerror_r can be linked... yes checking if strerror_r is prototyped... yes checking if strerror_r is compilable... yes checking if strerror_r is glibc like... yes checking if strerror_r seems to work... yes checking if strerror_r usage allowed... yes checking if strerror_r might be used... yes checking for accept4... yes checking for eventfd... yes checking for fnmatch... yes checking for geteuid... yes checking for getpass_r... no checking for getppid... yes checking for getpwuid... yes checking for getpwuid_r... yes checking for getrlimit... yes checking for mach_absolute_time... no checking for pipe... yes checking for poll... yes checking for sendmmsg... yes checking for sendmsg... yes checking for setlocale... yes checking for setrlimit... yes checking for utime... yes checking for utimes... yes checking for pipe2... yes checking for fchmod... yes checking for gettimeofday... yes checking for if_nametoindex... yes checking for realpath... yes checking for sched_yield... yes checking if strcasecmp can be linked... yes checking if strcasecmp is prototyped... yes checking if strcasecmp is compilable... yes checking if strcasecmp usage allowed... yes checking if strcasecmp might be used... yes checking if strcmpi can be linked... no checking if strcmpi might be used... no checking if stricmp can be linked... no checking if stricmp might be used... no checking if memset_s can be linked... no checking if memset_s might be used... no checking for memset_explicit... yes checking for fseeko... yes checking for gcc options to detect undeclared functions... none needed checking for gcc options to ignore future-version functions... none needed checking whether fseeko is declared... yes checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK checking whether to enable the threaded resolver... yes checking for pthread.h... yes checking for pthread_create... yes checking for dirent.h... yes checking for opendir... yes checking convert -I options to -isystem... yes checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes checking whether to enable verbose strings... yes checking whether to enable SSPI support (Windows native builds only)... no checking whether to enable basic authentication method... yes checking whether to enable bearer authentication method... yes checking whether to enable digest authentication method... yes checking whether to enable kerberos authentication method... yes checking whether to enable negotiate authentication method... yes checking whether to enable aws-sigv4 methods... yes checking whether to enable HTTP Message Signatures (RFC 9421)... no checking whether to support NTLM... no checking whether to enable Unix domain sockets... auto checking for struct sockaddr_un.sun_path... yes checking whether to support cookies... yes checking whether to support socketpair... yes checking whether to support HTTP authentication... yes checking whether to support DoH... yes checking whether to support the MIME API... yes checking whether to support binding connections locally... yes checking whether to support the form API... yes checking whether to support date parsing... yes checking whether to support netrc parsing... yes checking whether to support progress-meter... yes checking whether to support the SHA-512/256 hash algorithm... yes checking whether to support DNS shuffling... yes checking whether to support curl_easy_option*... yes checking whether to support alt-svc... yes checking whether to support headers-api... yes checking whether to support HSTS... yes checking whether to enable HTTPS-RR support... no checking whether to support WebSockets... yes checking whether hiding of library internal symbols does actually happen... yes checking if this build supports HTTPS-proxy... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating docs/Makefile config.status: creating docs/examples/Makefile config.status: creating docs/libcurl/Makefile config.status: creating docs/libcurl/opts/Makefile config.status: creating docs/cmdline-opts/Makefile config.status: creating include/Makefile config.status: creating include/curl/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating scripts/Makefile config.status: creating lib/libcurl.vers config.status: creating tests/Makefile config.status: creating tests/config config.status: creating tests/configurehelp.pm config.status: creating tests/certs/Makefile config.status: creating tests/data/Makefile config.status: creating tests/http/config.ini config.status: creating tests/http/Makefile config.status: creating tests/libtest/Makefile config.status: creating tests/perf/Makefile config.status: creating tests/server/Makefile config.status: creating tests/tunit/Makefile config.status: creating tests/unit/Makefile config.status: creating projects/Makefile config.status: creating projects/vms/Makefile config.status: creating curl-config config.status: creating libcurl.pc config.status: creating lib/curl_config.h config.status: executing depfiles commands config.status: executing libtool commands configure: Configured to build curl/libcurl: Host setup: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc CFLAGS: -march=x86-64-v4 -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mpclmul -g -ffile-prefix-map=/startdir/src=/usr/src/debug/curl -flto=auto -falign-functions=32 -Werror-implicit-function-declaration -Wno-system-headers CFLAGS extras: CPPFLAGS: -D_GNU_SOURCE -isystem /usr/include/p11-kit-1 -isystem /usr/include/p11-kit-1 LDFLAGS: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto -falign-functions=32 curl-config: LIBS: -lnghttp3 -lngtcp2_crypto_gnutls -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lhogweed -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz curl version: 8.23.0 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build docs: enabled (--disable-docs) Build libcurl: Shared=yes, Static=yes Built-in manual: no (--enable-manual) --libcurl option: enabled (--disable-libcurl-option) Type checking: enabled (--disable-typecheck) Verbose errors: enabled (--disable-verbose) Code coverage: disabled SSPI: no (--enable-sspi) CA native: no CA cert bundle: /etc/ssl/certs/ca-certificates.crt CA cert path: no CA cert embed: no CA fallback: no LDAP: no (--enable-ldap / --with-ldap-lib / --with-lber-lib) LDAPS: no (--enable-ldaps) IPFS/IPNS: enabled RTSP: enabled PSL: enabled Alt-svc: enabled (--disable-alt-svc) Headers API: enabled (--disable-headers-api) HSTS: enabled (--disable-hsts) HTTP1: enabled (internal) HTTP2: enabled (nghttp2) HTTP3: enabled (ngtcp2 + nghttp3) proxy-HTTP3: no (--enable-proxy-http3) ECH: no (--enable-ech) HTTPS RR: no (--enable-httpsrr) SSLS-EXPORT: no (--enable-ssls-export) Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd make: Entering directory '/startdir/src/build-curl-gnutls/lib' make all-am make[1]: Entering directory '/startdir/src/build-curl-gnutls/lib' CC libcurl_la-amigaos.lo CC libcurl_la-altsvc.lo CC libcurl_la-api.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-cf-h2-proxy.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-https-connect.lo CC libcurl_la-cf-ip-happy.lo CC libcurl_la-cf-recvbuf.lo CC libcurl_la-cf-setup.lo CC libcurl_la-cf-socket.lo CC libcurl_la-cfilters.lo CC libcurl_la-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-content_encoding.lo CC libcurl_la-cookie.lo CC libcurl_la-creds.lo CC libcurl_la-cshutdn.lo CC libcurl_la-curl_addrinfo.lo CC libcurl_la-curl_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.lo CC libcurl_la-curl_get_line.lo CC libcurl_la-curl_gethostname.lo CC libcurl_la-curl_gssapi.lo CC libcurl_la-curl_memrchr.lo CC libcurl_la-curl_ntlm_core.lo CC libcurl_la-curl_range.lo CC libcurl_la-curl_sasl.lo CC libcurl_la-curl_sha512_256.lo CC libcurl_la-curl_share.lo CC libcurl_la-curl_sspi.lo CC libcurl_la-curl_threads.lo CC libcurl_la-curl_trc.lo CC libcurl_la-cw-out.lo CC libcurl_la-cw-pause.lo CC libcurl_la-dict.lo CC libcurl_la-dynhds.lo CC libcurl_la-easy.lo CC libcurl_la-easygetopt.lo CC libcurl_la-easyoptions.lo CC libcurl_la-escape.lo CC libcurl_la-fake_addrinfo.lo CC libcurl_la-file.lo CC libcurl_la-fileinfo.lo CC libcurl_la-formdata.lo CC libcurl_la-ftp.lo CC libcurl_la-ftplistparser.lo CC libcurl_la-getenv.lo CC libcurl_la-getinfo.lo CC libcurl_la-gopher.lo CC libcurl_la-hash.lo CC libcurl_la-headers.lo CC libcurl_la-hmac.lo CC libcurl_la-hsts.lo CC libcurl_la-http.lo CC libcurl_la-http1.lo CC libcurl_la-http2.lo CC libcurl_la-http_aws_sigv4.lo CC libcurl_la-http_httpsig.lo CC libcurl_la-curl_ed25519.lo CC libcurl_la-http_chunks.lo CC libcurl_la-http_digest.lo CC libcurl_la-http_negotiate.lo CC libcurl_la-http_ntlm.lo CC libcurl_la-http_proxy.lo CC libcurl_la-idn.lo CC libcurl_la-if2ip.lo CC libcurl_la-imap.lo CC libcurl_la-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-macos.lo CC libcurl_la-md4.lo CC libcurl_la-md5.lo CC libcurl_la-memdebug.lo CC libcurl_la-mime.lo CC libcurl_la-mprintf.lo CC libcurl_la-mqtt.lo CC libcurl_la-multi.lo CC libcurl_la-multi_ev.lo CC libcurl_la-multi_ntfy.lo CC libcurl_la-netrc.lo CC libcurl_la-openldap.lo CC libcurl_la-parsedate.lo CC libcurl_la-peer.lo CC libcurl_la-pingpong.lo CC libcurl_la-pop3.lo CC libcurl_la-progress.lo CC libcurl_la-protocol.lo CC libcurl_la-proxy.lo CC libcurl_la-psl.lo CC libcurl_la-ptrarray.lo CC libcurl_la-rand.lo CC libcurl_la-ratelimit.lo CC libcurl_la-request.lo CC libcurl_la-rtsp.lo CC libcurl_la-select.lo CC libcurl_la-sendf.lo CC libcurl_la-setopt.lo CC libcurl_la-sha256.lo CC libcurl_la-slist.lo CC libcurl_la-smtp.lo CC libcurl_la-socketpair.lo CC libcurl_la-socks.lo CC libcurl_la-socks_gssapi.lo CC libcurl_la-socks_sspi.lo CC libcurl_la-splay.lo CC libcurl_la-strcase.lo CC libcurl_la-strequal.lo CC libcurl_la-strerror.lo CC libcurl_la-telnet.lo CC libcurl_la-tftp.lo CC libcurl_la-thrdpool.lo CC libcurl_la-thrdqueue.lo CC libcurl_la-transfer.lo CC libcurl_la-u8_strset.lo CC libcurl_la-u32_ptrset.lo CC libcurl_la-uint-bset.lo CC libcurl_la-uint-spbset.lo CC libcurl_la-uint-table.lo CC libcurl_la-url.lo CC libcurl_la-urlapi.lo CC libcurl_la-version.lo CC libcurl_la-ws.lo CC libcurlu_la-amigaos.lo CC libcurlu_la-altsvc.lo CC libcurlu_la-api.lo CC libcurlu_la-bufq.lo CC libcurlu_la-bufref.lo CC libcurlu_la-cf-h1-proxy.lo CC libcurlu_la-cf-h2-proxy.lo CC libcurlu_la-cf-haproxy.lo CC libcurlu_la-cf-https-connect.lo CC libcurlu_la-cf-ip-happy.lo CC libcurlu_la-cf-recvbuf.lo CC libcurlu_la-cf-setup.lo CC libcurlu_la-cf-socket.lo CC libcurlu_la-cfilters.lo CC libcurlu_la-conncache.lo CC libcurlu_la-connect.lo CC libcurlu_la-content_encoding.lo CC libcurlu_la-cookie.lo CC libcurlu_la-creds.lo CC libcurlu_la-cshutdn.lo CC libcurlu_la-curl_addrinfo.lo CC libcurlu_la-curl_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.lo CC libcurlu_la-curl_get_line.lo CC libcurlu_la-curl_gethostname.lo CC libcurlu_la-curl_gssapi.lo CC libcurlu_la-curl_memrchr.lo CC libcurlu_la-curl_ntlm_core.lo CC libcurlu_la-curl_range.lo CC libcurlu_la-curl_sasl.lo CC libcurlu_la-curl_sha512_256.lo CC libcurlu_la-curl_share.lo CC libcurlu_la-curl_sspi.lo CC libcurlu_la-curl_threads.lo CC libcurlu_la-curl_trc.lo CC libcurlu_la-cw-out.lo CC libcurlu_la-cw-pause.lo CC libcurlu_la-dict.lo CC libcurlu_la-dynhds.lo CC libcurlu_la-easy.lo CC libcurlu_la-easygetopt.lo CC libcurlu_la-easyoptions.lo CC libcurlu_la-escape.lo CC libcurlu_la-fake_addrinfo.lo CC libcurlu_la-file.lo CC libcurlu_la-fileinfo.lo CC libcurlu_la-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-getinfo.lo CC libcurlu_la-gopher.lo CC libcurlu_la-hash.lo CC libcurlu_la-headers.lo CC libcurlu_la-hmac.lo CC libcurlu_la-hsts.lo CC libcurlu_la-http.lo CC libcurlu_la-http1.lo CC libcurlu_la-http2.lo CC libcurlu_la-http_aws_sigv4.lo CC libcurlu_la-http_httpsig.lo CC libcurlu_la-curl_ed25519.lo CC libcurlu_la-http_chunks.lo CC libcurlu_la-http_digest.lo CC libcurlu_la-http_negotiate.lo CC libcurlu_la-http_ntlm.lo CC libcurlu_la-http_proxy.lo CC libcurlu_la-idn.lo CC libcurlu_la-imap.lo CC libcurlu_la-if2ip.lo CC libcurlu_la-ldap.lo CC libcurlu_la-llist.lo CC libcurlu_la-macos.lo CC libcurlu_la-md4.lo CC libcurlu_la-md5.lo CC libcurlu_la-memdebug.lo CC libcurlu_la-mime.lo CC libcurlu_la-mprintf.lo CC libcurlu_la-mqtt.lo CC libcurlu_la-multi.lo CC libcurlu_la-multi_ev.lo CC libcurlu_la-multi_ntfy.lo CC libcurlu_la-netrc.lo CC libcurlu_la-openldap.lo CC libcurlu_la-parsedate.lo CC libcurlu_la-peer.lo CC libcurlu_la-pingpong.lo CC libcurlu_la-pop3.lo CC libcurlu_la-progress.lo CC libcurlu_la-protocol.lo CC libcurlu_la-proxy.lo CC libcurlu_la-psl.lo CC libcurlu_la-ptrarray.lo CC libcurlu_la-rand.lo CC libcurlu_la-ratelimit.lo CC libcurlu_la-request.lo CC libcurlu_la-rtsp.lo CC libcurlu_la-select.lo CC libcurlu_la-sendf.lo CC libcurlu_la-setopt.lo CC libcurlu_la-sha256.lo CC libcurlu_la-slist.lo CC libcurlu_la-smtp.lo CC libcurlu_la-socketpair.lo CC libcurlu_la-socks.lo CC libcurlu_la-socks_gssapi.lo CC libcurlu_la-socks_sspi.lo CC libcurlu_la-splay.lo CC libcurlu_la-strcase.lo CC libcurlu_la-strequal.lo CC libcurlu_la-strerror.lo CC libcurlu_la-telnet.lo CC libcurlu_la-tftp.lo CC libcurlu_la-thrdpool.lo CC libcurlu_la-thrdqueue.lo CC libcurlu_la-transfer.lo CC libcurlu_la-u8_strset.lo CC libcurlu_la-u32_ptrset.lo CC libcurlu_la-uint-bset.lo CC libcurlu_la-uint-spbset.lo CC libcurlu_la-url.lo CC libcurlu_la-uint-table.lo CC libcurlu_la-urlapi.lo CC libcurlu_la-version.lo CC libcurlu_la-ws.lo CC vauth/libcurlu_la-cleartext.lo CC vauth/libcurlu_la-cram.lo CC vauth/libcurlu_la-digest_sspi.lo CC vauth/libcurlu_la-digest.lo CC vauth/libcurlu_la-gsasl.lo CC vauth/libcurlu_la-krb5_gssapi.lo CC vauth/libcurlu_la-krb5_sspi.lo CC vauth/libcurlu_la-ntlm.lo CC vauth/libcurlu_la-ntlm_sspi.lo CC vauth/libcurlu_la-oauth2.lo CC vauth/libcurlu_la-spnego_gssapi.lo CC vauth/libcurlu_la-spnego_sspi.lo CC vauth/libcurlu_la-vauth.lo CC vdns/libcurlu_la-asyn-ares.lo CC vdns/libcurlu_la-asyn-base.lo CC vdns/libcurlu_la-asyn-thrdd.lo CC vdns/libcurlu_la-cf-dns.lo CC vdns/libcurlu_la-dnscache.lo CC vdns/libcurlu_la-doh.lo CC vdns/libcurlu_la-hostip.lo CC vdns/libcurlu_la-hostip4.lo CC vdns/libcurlu_la-hostip6.lo CC vdns/libcurlu_la-httpsrr.lo CC vtls/libcurlu_la-apple.lo CC vtls/libcurlu_la-cipher_suite.lo CC vtls/libcurlu_la-gtls.lo CC vtls/libcurlu_la-hostcheck.lo CC vtls/libcurlu_la-keylog.lo CC vtls/libcurlu_la-mbedtls.lo CC vtls/libcurlu_la-openssl.lo CC vtls/libcurlu_la-rustls.lo CC vtls/libcurlu_la-schannel.lo CC vtls/libcurlu_la-schannel_verify.lo CC vtls/libcurlu_la-vtls.lo CC vtls/libcurlu_la-vtls_config.lo CC vtls/libcurlu_la-vtls_scache.lo CC vtls/libcurlu_la-vtls_spack.lo CC vtls/libcurlu_la-wolfssl.lo CC vtls/libcurlu_la-x509asn1.lo CC vquic/libcurlu_la-capsule.lo CC vquic/libcurlu_la-cf-capsule.lo CC vquic/libcurlu_la-cf-ngtcp2.lo CC vquic/libcurlu_la-cf-ngtcp2-cmn.lo CC vquic/libcurlu_la-cf-ngtcp2-proxy.lo CC vquic/libcurlu_la-cf-quiche.lo CC vquic/libcurlu_la-vquic.lo CC vquic/libcurlu_la-vquic-tls.lo CC vssh/libcurlu_la-libssh.lo CC vssh/libcurlu_la-libssh2.lo CC vssh/libcurlu_la-vssh.lo CC curlx/libcurlu_la-base64.lo CC curlx/libcurlu_la-basename.lo CC curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-win32-fopen.lo CC curlx/libcurlu_la-inet_ntop.lo CC curlx/libcurlu_la-inet_pton.lo CC curlx/libcurlu_la-multibyte.lo CC curlx/libcurlu_la-nonblock.lo CC curlx/libcurlu_la-snprintf.lo CC curlx/libcurlu_la-strcopy.lo CC curlx/libcurlu_la-strdup.lo CC curlx/libcurlu_la-strerr.lo CC curlx/libcurlu_la-strparse.lo CC curlx/libcurlu_la-timediff.lo CC curlx/libcurlu_la-timeval.lo CC curlx/libcurlu_la-wait.lo CC curlx/libcurlu_la-version_win32.lo CC curlx/libcurlu_la-warnless.lo CC curlx/libcurlu_la-winapi.lo CC vauth/libcurl_la-cleartext.lo CC vauth/libcurl_la-cram.lo CC vauth/libcurl_la-digest.lo CC vauth/libcurl_la-digest_sspi.lo CC vauth/libcurl_la-gsasl.lo CC vauth/libcurl_la-krb5_gssapi.lo CC vauth/libcurl_la-krb5_sspi.lo CC vauth/libcurl_la-ntlm.lo CC vauth/libcurl_la-ntlm_sspi.lo CC vauth/libcurl_la-oauth2.lo CC vauth/libcurl_la-spnego_gssapi.lo CC vauth/libcurl_la-spnego_sspi.lo CC vauth/libcurl_la-vauth.lo CC vdns/libcurl_la-asyn-ares.lo CC vdns/libcurl_la-asyn-base.lo CC vdns/libcurl_la-asyn-thrdd.lo CC vdns/libcurl_la-cf-dns.lo CC vdns/libcurl_la-dnscache.lo CC vdns/libcurl_la-doh.lo CC vdns/libcurl_la-hostip.lo CC vdns/libcurl_la-hostip4.lo CC vdns/libcurl_la-hostip6.lo CC vdns/libcurl_la-httpsrr.lo CC vtls/libcurl_la-apple.lo CC vtls/libcurl_la-cipher_suite.lo CC vtls/libcurl_la-gtls.lo CC vtls/libcurl_la-hostcheck.lo CC vtls/libcurl_la-keylog.lo CC vtls/libcurl_la-mbedtls.lo CC vtls/libcurl_la-openssl.lo CC vtls/libcurl_la-rustls.lo CC vtls/libcurl_la-schannel.lo CC vtls/libcurl_la-schannel_verify.lo CC vtls/libcurl_la-vtls.lo CC vtls/libcurl_la-vtls_config.lo CC vtls/libcurl_la-vtls_scache.lo CC vtls/libcurl_la-vtls_spack.lo CC vtls/libcurl_la-wolfssl.lo CC vtls/libcurl_la-x509asn1.lo CC vquic/libcurl_la-capsule.lo CC vquic/libcurl_la-cf-capsule.lo CC vquic/libcurl_la-cf-ngtcp2.lo CC vquic/libcurl_la-cf-ngtcp2-proxy.lo CC vquic/libcurl_la-cf-ngtcp2-cmn.lo CC vquic/libcurl_la-cf-quiche.lo CC vquic/libcurl_la-vquic.lo CC vquic/libcurl_la-vquic-tls.lo CC vssh/libcurl_la-libssh.lo CC vssh/libcurl_la-libssh2.lo CC vssh/libcurl_la-vssh.lo CC curlx/libcurl_la-base64.lo CC curlx/libcurl_la-basename.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-win32-fopen.lo CC curlx/libcurl_la-inet_ntop.lo CC curlx/libcurl_la-inet_pton.lo CC curlx/libcurl_la-multibyte.lo CC curlx/libcurl_la-nonblock.lo CC curlx/libcurl_la-snprintf.lo CC curlx/libcurl_la-strcopy.lo CC curlx/libcurl_la-strdup.lo CC curlx/libcurl_la-strparse.lo CC curlx/libcurl_la-strerr.lo CC curlx/libcurl_la-timediff.lo CC curlx/libcurl_la-timeval.lo CC curlx/libcurl_la-version_win32.lo CC curlx/libcurl_la-wait.lo CC curlx/libcurl_la-warnless.lo CC curlx/libcurl_la-winapi.lo CCLD libcurlu.la CCLD libcurl.la /usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_ntlm_core.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols /usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols /usr/bin/nm: .libs/libcurl_la-http_httpsig.o: no symbols /usr/bin/nm: .libs/libcurl_la-curl_ed25519.o: no symbols /usr/bin/nm: .libs/libcurl_la-http_ntlm.o: no symbols /usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-macos.o: no symbols /usr/bin/nm: .libs/libcurl_la-md4.o: no symbols /usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols /usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols /usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols /usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-asyn-ares.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-hostip4.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-hostip6.o: no symbols /usr/bin/nm: vdns/.libs/libcurl_la-httpsrr.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-hostcheck.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-openssl.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols /usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-cf-ngtcp2-proxy.o: no symbols /usr/bin/nm: vquic/.libs/libcurl_la-cf-quiche.o: no symbols /usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols /usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols /usr/src/debug/curl/curl/lib/curlx/inet_pton.c: In function 'inet_pton6': /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:180:19: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=] /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:115:17: note: at offset [-9223372036854775760, -16] into destination object 'tmp' of size 16 make[1]: Leaving directory '/startdir/src/build-curl-gnutls/lib' make: Leaving directory '/startdir/src/build-curl-gnutls/lib' ==> Starting check()... make[1]: Entering directory '/startdir/src/build-curl/tests' Making all in certs make[2]: Entering directory '/startdir/src/build-curl/tests/certs' /usr/bin/perl /startdir/src/curl/tests/certs/genserv.pl test test-client-cert.prm test-client-eku-only.prm test-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm /usr/bin/openssl OpenSSL 3.6.5 29 Sep 2026 (Library: OpenSSL 3.6.5 29 Sep 2026) Certificate request self-signature ok subject=C=NN, O=Edel curl Arctic Illudium Research Cloud, CN=Northern Nowhere Trust Anchor CA root generated: test 6000 days prime256v1 Certificate generated: CA=test 300days prime256v1 test-client-cert Certificate generated: CA=test 300days prime256v1 test-client-eku-only Certificate generated: CA=test 300days prime256v1 test-localhost Certificate generated: CA=test 300days prime256v1 test-localhost.nn Certificate generated: CA=test 300days prime256v1 test-localhost0h Certificate generated: CA=test 300days prime256v1 test-localhost-san-first Certificate generated: CA=test 300days prime256v1 test-localhost-san-last make[2]: Leaving directory '/startdir/src/build-curl/tests/certs' Making all in data make[2]: Entering directory '/startdir/src/build-curl/tests/data' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/data' Making all in perf make[2]: Entering directory '/startdir/src/build-curl/tests/perf' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include ../../lib/curlx/base64.c ../../lib/curlx/win32-fopen.c ../../lib/curlx/multibyte.c ../../lib/curlx/strparse.c ../../lib/curlx/timeval.c ../../lib/curlx/warnless.c --test base64dec.c base64enc.c dateparser.c maprintf.c numparser.c simpleformat.c snprintf.c urldecode.c urlencode.c urlparser.c > perf.c RUN checksrc CC perf.o CCLD perf make[2]: Leaving directory '/startdir/src/build-curl/tests/perf' Making all in server make[2]: Entering directory '/startdir/src/build-curl/tests/server' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include getpart.c util.c ../../lib/curlx/base64.c ../../lib/curlx/win32-fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/nonblock.c ../../lib/curlx/snprintf.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test dnsd.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c > servers.c RUN checksrc CC servers.o CCLD servers /usr/src/debug/curl/curl/tests/server/../../lib/curlx/inet_pton.c: In function 'inet_pton6': /usr/src/debug/curl/curl/tests/server/../../lib/curlx/inet_pton.c:180:19: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=] /usr/src/debug/curl/curl/tests/server/../../lib/curlx/inet_pton.c:115:17: note: at offset [-9223372036854775760, -16] into destination object 'tmp' of size 16 make[2]: Leaving directory '/startdir/src/build-curl/tests/server' Making all in libtest make[2]: Entering directory '/startdir/src/build-curl/tests/libtest' /usr/bin/perl /startdir/src/curl/tests/libtest/mk-lib1521.pl < /startdir/src/curl/include/curl/curl.h lib1521.c /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --include memptr.c testutil.c testtrace.c ../../lib/curl_threads.c ../../lib/curlx/win32-fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/version_win32.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test cli_ev_download.c cli_ftp_upload.c cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pause.c cli_ws_pingpong.c cli_ws_write_err.c lib464.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib757.c lib758.c lib766.c lib1156.c lib1301.c lib1308.c lib1396.c lib1398.c lib1451.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1582.c lib1587.c lib1588.c lib1589.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1605.c lib1616.c lib1647.c lib1648.c lib1649.c lib1662.c lib1678.c lib1686.c lib1742.c lib1744.c lib1745.c lib1791.c lib1900.c lib1901.c lib1902.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1920.c lib1921.c lib1922.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1965.c lib1967.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib1985.c lib1989.c lib2023.c lib2032.c lib2082.c lib2095.c lib2118.c lib2270.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2380.c lib2397.c lib2402.c lib2404.c lib2405.c lib2412.c lib2414.c lib2453.c lib2502.c lib2504.c lib2505.c lib2506.c lib2700.c lib2805.c lib2924.c lib3010.c lib3025.c lib3026.c lib3027.c lib3033.c lib3034.c lib3100.c lib3101.c lib3102.c lib3103.c lib3104.c lib3105.c lib3107.c lib3207.c lib3208.c lib3231.c lib3233.c lib3234.c lib3595.c lib3596.c lib5000.c lib5004.c lib1521.c > libtests.c RUN checksrc CC libtests.o CCLD libtests make[2]: Leaving directory '/startdir/src/build-curl/tests/libtest' Making all in http make[2]: Entering directory '/startdir/src/build-curl/tests/http' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/startdir/src/build-curl/tests/http' Making all in unit make[2]: Entering directory '/startdir/src/build-curl/tests/unit' (cd ../../lib && make unitprotos.h) RUN checksrc make[3]: Entering directory '/startdir/src/build-curl/lib' UNITPR unitprotos.h make[3]: Leaving directory '/startdir/src/build-curl/lib' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1397.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1606.c unit1607.c unit1608.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1620.c unit1625.c unit1626.c unit1627.c unit1636.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1666.c unit1667.c unit1668.c unit1669.c unit1674.c unit1675.c unit1676.c unit1693.c unit1961.c unit1979.c unit1980.c unit2413.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit2606.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c unit3219.c unit3227.c unit3230.c unit3271.c unit3300.c unit3301.c unit3302.c unit3303.c unit3304.c unit3306.c unit3400.c unit4781.c unit4782.c > units.c CC units.o CCLD units /usr/src/debug/curl/curl/lib/curlx/inet_pton.c: In function 'inet_pton6': /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:180:19: warning: writing 32 bytes into a region of size 0 [-Wstringop-overflow=] /usr/src/debug/curl/curl/lib/curlx/inet_pton.c:115:17: note: at offset [-9223372036854775760, -16] into destination object 'tmp' of size 16 make[2]: Leaving directory '/startdir/src/build-curl/tests/unit' Making all in tunit make[2]: Entering directory '/startdir/src/build-curl/tests/tunit' /usr/bin/perl /startdir/src/curl/scripts/mk-unity.pl --test tool1394.c tool1604.c tool1621.c tool1622.c tool1623.c tool1720.c > tunits.c RUN checksrc CC tunits.o CCLD tunits make[2]: Leaving directory '/startdir/src/build-curl/tests/tunit' make[2]: Entering directory '/startdir/src/build-curl/tests' (cd certs && make) make[3]: Entering directory '/startdir/src/build-curl/tests/certs' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/startdir/src/build-curl/tests/certs' make[2]: Leaving directory '/startdir/src/build-curl/tests' srcdir=/startdir/src/curl/tests /usr/bin/perl -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -a -p ~flaky ~timing-dependent -v -a -p -j24 !433 Using curl: ../src/curl CMD (256): valgrind >/dev/null 2>&1 CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log ********* System characteristics ******** * curl 8.23.0 (x86_64-pc-linux-gnu) * libcurl/8.23.0 OpenSSL/3.6.5 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.70.0 ngtcp2/1.25.0 nghttp3/1.18.0 mit-krb5/1.22.2 * Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss * Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd * Disabled: httpsig, win32-ca-searchpath, win32-ca-search-safe, override-dns, ssl-sessions * Host: * System: Linux makechrootpkg-curl.build.1493407 6.18.47-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 27 Aug 2026 14:08:11 +0000 x86_64 GNU/Linux * OS: linux * Perl: v5.42.3 (/usr/bin/perl) * Args: -a -p ~flaky ~timing-dependent -v -a -p -j24 !433 * Jobs: 24 * Env: Valgrind * Seed: 231226 * Servers: HTTP-IPv6 HTTP-unix FTP-IPv6 ***************************************** DISABLED: test 594 DISABLED: test 836 DISABLED: test 882 DISABLED: test 938 DISABLED: test 1182 DISABLED: test 1184 DISABLED: test 1209 DISABLED: test 1211 DISABLED: test 1307 DISABLED: test 1316 DISABLED: test 1512 DISABLED: test 1801 DISABLED: test 2043 DISABLED: test 4656 test 0067 SKIPPED: curl lacks NTLM support test 0068 SKIPPED: curl lacks NTLM support test 0069 SKIPPED: curl lacks NTLM support test 0096 SKIPPED: curl lacks TrackMemory support test 0355 SKIPPED: curl lacks Debug support test 0356 SKIPPED: curl lacks Debug support test 0358 SKIPPED: curl lacks Debug support test 0375 SKIPPED: curl has proxy support test 0445 SKIPPED: curl lacks ldap support test 0506 SKIPPED: curl has threaded-resolver support test 0558 SKIPPED: curl lacks TrackMemory support Warning: test573 result is ignored due to flaky Warning: test587 result is ignored due to flaky Warning: test766 result is ignored due to timing-dependent test 0777 SKIPPED: curl lacks ssl-sessions support test 0959 SKIPPED: curl has IDN support test 0960 SKIPPED: curl has IDN support test 0961 SKIPPED: curl has IDN support test 1026 SKIPPED: curl lacks manual support Warning: test1086 result is ignored due to flaky Warning: test1086 result is ignored due to timing-dependent Warning: test1112 result is ignored due to timing-dependent Warning: test1113 result is ignored due to flaky Warning: test1162 result is ignored due to flaky Warning: test1163 result is ignored due to flaky test 1179 SKIPPED: curl lacks manual support Warning: test1208 result is ignored due to flaky Warning: test1208 result is ignored due to timing-dependent test 1330 SKIPPED: curl lacks TrackMemory support test 1451 SKIPPED: curl lacks win32 support test 1454 SKIPPED: curl has IPv6 support test 1461 SKIPPED: curl lacks manual support Warning: test1510 result is ignored due to flaky Warning: test1592 result is ignored due to flaky Warning: test1592 result is ignored due to timing-dependent Warning: test1631 result is ignored due to flaky Warning: test1632 result is ignored due to flaky test 1678 SKIPPED: curl lacks SSLS-EXPORT support test 1703 SKIPPED: curl lacks Unicode support test 2033 SKIPPED: curl lacks Schannel support test 2070 SKIPPED: curl lacks Schannel support test 2079 SKIPPED: curl lacks Schannel support test 2102 SKIPPED: curl lacks override-dns support test 2103 SKIPPED: curl lacks override-dns support test 2104 SKIPPED: curl lacks override-dns support test 2500 SKIPPED: curl lacks nghttpx-h3 support test 2503 SKIPPED: curl lacks nghttpx-h3 support test 4000 SKIPPED: curl lacks ECH support test 4001 SKIPPED: curl lacks ECH support Runner 78981 starting Runner 78980 starting Runner 78979 starting Runner 78978 starting Runner 78977 starting Runner 78976 starting Runner 78975 starting Runner 78974 starting Runner 78973 starting Runner 78972 starting Runner 78971 starting Runner 78970 starting Runner 78969 starting Runner 78968 starting Runner 78967 starting Runner 78966 starting Runner 78965 starting Runner 78964 starting Runner 78963 starting Runner 78962 starting Runner 78961 starting Runner 78960 starting Runner 78959 starting Runner 78958 starting CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:43733 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40859/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_server.pid" --logfile "log/9/http_server.log" --logdir "log/9" --portfile log/9/server/http_server.port --config log/9/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79135 port 43733 * pid http => 79135 79135 test 0016 [HTTP with proxy authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:43733 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 16: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 16 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind16 ../src/curl -q --output log/9/curl16.out --include --trace-ascii log/9/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:43733 http://we.want.that.site.com/16 > log/9/stdout16 2> log/9/stderr16 === End of file commands.log === Start of file http_server.log 19:25:58.399620 Running HTTP IPv4 version on port 43733 19:25:58.399750 Wrote pid 79135 to log/9/server/http_server.pid 19:25:58.399791 Wrote port 43733 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 16 === End of file server.cmd === Start of file valgrind16 ==79842== ==79842== Process terminating with default action of signal 4 (SIGILL) ==79842== Illegal opcode at address 0x492B75F ==79842== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79842== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79842== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79842== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79842== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79842== by 0x49908EB: curl_version_info (version.c:600) ==79842== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79842== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79842== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79842== by 0x4003269: main (tool_main.c:195) === End of file valgrind16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:40921/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:35989/3 > log/22/stdout3 2> log/22/stderr3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_server.pid" --logfile "log/7/http_server.log" --logdir "log/7" --portfile log/7/server/http_server.port --config log/7/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79175 port 40859 * pid http => 79175 79175 test 0018 [multiple requests using {} in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40859/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2026-10-15 19:26:07.992664487 +0000 +++ log/7/check-generated 2026-10-15 19:26:07.992323911 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -moo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -foo[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 4[CR][LF] -[CR][LF] -hoo[LF] == Contents of files in the log/7/ directory after test 18 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] moo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] foo[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 4[CR][LF] [CR][LF] hoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:40859/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 19:25:58.489300 Running HTTP IPv4 version on port 40859 19:25:58.489440 Wrote pid 79175 to log/7/server/http_server.pid 19:25:58.489487 Wrote port 40859 to log/7/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 18 === End of file server.cmd === Start of file valgrind18 ==79919== ==79919== Process terminating with default action of signal 4 (SIGILL) ==79919== Illegal opcode at address 0x492B75F ==79919== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79919== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79919== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79919== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79919== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79919== by 0x49908EB: curl_version_info (version.c:600) ==79919== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79919== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79919== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79919== by 0x4003269: main (tool_main.c:195) === End of file valgrind18 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/12/server/http_server.pid" --logfile "log/12/http_server.log" --logdir "log/12" --portfile log/12/server/http_server.port --config log/12/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79038 port 40921 * pid http => 79038 79038 test 0013 [HTTP custom request 'DELETE'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:40921/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 13: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 13 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:40921/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 19:25:58.169912 Running HTTP IPv4 version on port 40921 19:25:58.170038 Wrote pid 79038 to log/12/server/http_server.pid 19:25:58.170081 Wrote port 40921 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 13 === End of file server.cmd === Start of file valgrind13 ==79656== ==79656== Process terminating with default action of signal 4 (SIGILL) ==79656== Illegal opcode at address 0x492B75F ==79656== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79656== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79656== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79656== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79656== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79656== by 0x49908EB: curl_version_info (version.c:600) ==79656== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79656== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79656== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79656== by 0x4003269: main (tool_main.c:195) === End of file valgrind13 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/22/server/http_server.pid" --logfile "log/22/http_server.log" --logdir "log/22" --portfile log/22/server/http_server.port --config log/22/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78984 port 35989 * pid http => 78984 78984 test 0003 [HTTP POST with auth and contents but with content-length set to 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:35989/3 > log/22/stdout3 2> log/22/stderr3 3: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 3 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3 ../src/curl -q --output log/22/curl3.out --include --trace-ascii log/22/trace3 --trace-time -d "fooo=mooo&pooo=clue&doo=%20%20%20++++" -u "fake:-user" http://127.0.0.1:35989/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 19:25:57.259357 Running HTTP IPv4 version on port 35989 19:25:57.259483 Wrote pid 78984 to log/22/server/http_server.pid 19:25:57.259528 Wrote port 35989 to log/22/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 3 === End of file server.cmd === Start of file valgrind3 ==79069== ==79069== Process terminating with default action of signal 4 (SIGILL) ==79069== Illegal opcode at address 0x492B75F ==79069== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79069== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79069== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79069== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79069== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79069== by 0x49908EB: curl_version_info (version.c:600) ==79069== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79069== by 0x4003269: UnknownInlinedFun (tool_cfCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:36753/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 gable.c:339) ==79069== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79069== by 0x4003269: main (tool_main.c:195) === End of file valgrind3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79339 port 36753 * pid http => 79339 79339 test 0022 [get HTTP with URL > 10000 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:36753/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 22: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 22 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind22 ../src/curl -q --output log/3/curl22.out --include --trace-ascii log/3/trace22 --trace-time 127.0.0.1:36753/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 19:25:59.710598 Running HTTP IPv4 version on port 36753 19:25:59.710708 Wrote pid 79339 to log/3/server/http_server.pid 19:25:59.710740 Wrote port 36753 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file valgrind22 ==80073== ==80073== Process terminating with default action of signal 4 (SIGILL) ==80073== Illegal opcode at address 0x492B75F ==80073== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80073== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80073== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80073== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80073== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80073== by 0x49908EB: curl_version_info (version.c:600) ==80073== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80073== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80073== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80073== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:46497/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:44467/that.site.com/17 log/8/stdout17 2> log/8/stderr17 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind25 ../src/curl -q --output log/9/curl25.out --include --trace-ascii log/9/trace25 --trace-time http://127.0.0.1:43733/want/25 -L --max-redirs 5 > log/9/stdout25 2> log/9/stderr25 by 0x4003269: main (tool_main.c:195) === End of file valgrind22 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_server.pid" --logfile "log/19/http_server.log" --logdir "log/19" --portfile log/19/server/http_server.port --config log/19/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78987 port 46497 * pid http => 78987 78987 test 0006 [HTTP with simple cookie send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:46497/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 6: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 6 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:46497/we/want/that/page/6 -b "name=contents;name2=content2" -b name3=content3 > log/19/stdout6 2> log/19/stderr6 === End of file commands.log === Start of file http_server.log 19:25:57.574364 Running HTTP IPv4 version on port 46497 19:25:57.574490 Wrote pid 78987 to log/19/server/http_server.pid 19:25:57.574532 Wrote port 46497 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 6 === End of file server.cmd === Start of file valgrind6 ==79257== ==79257== Process terminating with default action of signal 4 (SIGILL) ==79257== Illegal opcode at address 0x492B75F ==79257== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79257== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79257== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79257== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79257== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79257== by 0x49908EB: curl_version_info (version.c:600) ==79257== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79257== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79257== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79257== by 0x4003269: main (tool_main.c:195) === End of file valgrind6 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_server.pid" --logfile "log/8/http_server.log" --logdir "log/8" --portfile log/8/server/http_server.port --config log/8/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79137 port 44467 * pid http => 79137 79137 test 0017 [HTTP with config file on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:44467/that.site.com/17 log/8/stdout17 2> log/8/stderr17 17: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 17 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:44467/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 19:25:58.393140 Running HTTP IPv4 version on port 44467 19:25:58.393263 Wrote pid 79137 to log/8/server/http_server.pid 19:25:58.393300 Wrote port 44467 to log/8/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 17 === End of file server.cmd === Start of file stdin-for-17 # Use a silly request without '--': request MOOO # Set the user-agent using a short-option: -A "agent007 license to drill\t" # long option *with* '--': --max-time 180 === End of file stdin-for-17 === Start of file valgrind17 ==79846== ==79846== Process terminating with default action of signal 4 (SIGILL) ==79846== Illegal opcode at address 0x492B75F ==79846== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79846== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79846== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79846== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79846== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79846== by 0x49908EB: curl_version_info (version.c:600) ==79846== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79846== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79846== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79846== by 0x4003269: main (tool_main.c:195) === End of file valgrind17 test 0025 [looping HTTP Location: following with --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind25 ../src/curl -q --output log/9/curl25.out --include --trace-ascii log/9/trace25 --trace-time http://127.0.0.1:43733/want/25 -L --max-redirs 5 > log/9/stdout25 2> log/9/stderr25 25: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 25 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind25 ../src/curl -q --output log/9/curl25.out --include --trace-ascii log/9/trace25 --trace-time http://127.0.0.1:43733/want/25 -L --max-redirs 5 > log/9/stdout25 2> log/9/stderr25 === End of file commands.log === Start of file http_server.log 19:26:07.625010 ====> Client connect 19:26:07.625049 accept_connection 3 returned 4 19:26:07.625202 Read 93 bytes 19:26:07.625217 Process 93 bytes request 19:26:07.625240 Got request: GET /verifiedserver HTTP/1.1 19:26:07.625249 Are-we-friendly question received 19:26:07.625316 Wrote request (93 bytes) input to log/9/server.input 19:26:07.625338 Identifying ourselves as friends 19:26:07.625501 Response sent (56 bytes) and written to log/9/server.response 19:26:07.625514 special request received, no persistency 19:26:07.625521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 56856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 25 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind25 ==80390== ==80390== Process terminating with default action of signal 4 (SIGILL) ==80390== Illegal opcode at address 0x492B75F ==80390== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80390== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80390CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind26 ../src/curl -q --output log/7/curl26.out --include --trace-ascii log/7/trace26 --trace-time http://127.0.0.1:40859/want/26 -o - -o - > log/7/stdout26 2> log/7/stderr26 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:40921/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/stderr27 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:40989/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 == by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80390== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80390== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80390== by 0x49908EB: curl_version_info (version.c:600) ==80390== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80390== by 0x4003269: main (tool_main.c:195) === End of file valgrind25 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_server.pid" --logfile "log/4/http_server.log" --logdir "log/4" --portfile log/4/server/http_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79264 port 35735 * pid http => 79264 79264 test 0021 [use curl with multiple request methods] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 curl returned 132, when expecting 2 21: exit FAILED == Contents of files in the log/4/ directory after test 21 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind21 ../src/curl -q --output log/4/curl21.out --include --trace-ascii log/4/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/4/stdout21 2> log/4/stderr21 === End of file commands.log === Start of file http_server.log 19:25:59.603632 Running HTTP IPv4 version on port 35735 19:25:59.603866 Wrote pid 79264 to log/4/server/http_server.pid 19:25:59.603905 Wrote port 35735 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file valgrind21 ==79986== ==79986== Process terminating with default action of signal 4 (SIGILL) ==79986== Illegal opcode at address 0x492B75F ==79986== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79986== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79986== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79986== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79986== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79986== by 0x49908EB: curl_version_info (version.c:600) ==79986== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79986== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79986== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79986== by 0x4003269: main (tool_main.c:195) === End of file valgrind21 test 0026 [specify more -o than URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind26 ../src/curl -q --output log/7/curl26.out --include --trace-ascii log/7/trace26 --trace-time http://127.0.0.1:40859/want/26 -o - -o - > log/7/stdout26 2> log/7/stderr26 26: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 26 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind26 ../src/curl -q --output log/7/curl26.out --include --trace-ascii log/7/trace26 --trace-time http://127.0.0.1:40859/want/26 -o - -o - > log/7/stdout26 2> log/7/stderr26 === End of file commands.log === Start of file http_server.log 19:26:07.692167 ====> Client connect 19:26:07.692225 accept_connection 3 returned 4 19:26:07.692260 Read 93 bytes 19:26:07.692272 Process 93 bytes request 19:26:07.692298 Got request: GET /verifiedserver HTTP/1.1 19:26:07.692308 Are-we-friendly question received 19:26:07.692340 Wrote request (93 bytes) input to log/7/server.input 19:26:07.692362 Identifying ourselves as friends 19:26:07.692501 Response sent (56 bytes) and written to log/7/server.response 19:26:07.692515 special request received, no persistency 19:26:07.692524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 37256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 26 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind26 ==80411== ==80411== Process terminating with default action of signal 4 (SIGILL) ==80411== Illegal opcode at address 0x492B75F ==80411== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80411== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80411== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80411== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80411== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80411== by 0x49908EB: curl_version_info (version.c:600) ==80411== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80411== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80411== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80411== by 0x4003269: main (tool_main.c:195) === End of file valgrind26 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_server.pid" --logfile "log/11/http_server.log" --logdir "log/11" --portfile log/11/server/http_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79065 port 40989 * pid http => 79065 79065 test 0014 [HTTP HEAD with Connection: close] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:40989/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 14: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 14 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:40989/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 19:25:58.290494 Running HTTP IPv4 version on port 40989 19:25:58.290612 Wrote pid 79065 to log/11/server/http_server.pid 19:25:58.290653 Wrote port 40989 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 14 === End of file server.cmd === Start of file valgrind14 ==79752== ==79752== Process terminating with default action of signal 4 (SIGILL) ==79752== Illegal opcode at address 0x492B75F ==79752== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79752== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79752== by 0x492B67B: curl_msnprintf (mpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:45467/want/11 -L > log/14/stdout11 2> log/14/stderr11 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:39881/4 http://127.0.0.1:39881/4 > log/21/stdout4 2> log/21/stderr4 rintf.c:1277) ==79752== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79752== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79752== by 0x49908EB: curl_version_info (version.c:600) ==79752== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79752== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79752== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79752== by 0x4003269: main (tool_main.c:195) === End of file valgrind14 test 0027 [Get same cookie page several times] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:40921/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/stderr27 27: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 27 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:40921/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/stderr27 === End of file commands.log === Start of file http_server.log 19:26:07.812007 ====> Client connect 19:26:07.812046 accept_connection 3 returned 4 19:26:07.812095 Read 93 bytes 19:26:07.812180 Process 93 bytes request 19:26:07.812205 Got request: GET /verifiedserver HTTP/1.1 19:26:07.812213 Are-we-friendly question received 19:26:07.812242 Wrote request (93 bytes) input to log/12/server.input 19:26:07.812260 Identifying ourselves as friends 19:26:07.812334 Response sent (56 bytes) and written to log/12/server.response 19:26:07.812347 special request received, no persistency 19:26:07.812355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 44376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 27 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind27 ==80491== ==80491== Process terminating with default action of signal 4 (SIGILL) ==80491== Illegal opcode at address 0x492B75F ==80491== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80491== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80491== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80491== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80491== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80491== by 0x49908EB: curl_version_info (version.c:600) ==80491== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80491== by 0x4003269: main (tool_main.c:195) === End of file valgrind27 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/14/server/http_server.pid" --logfile "log/14/http_server.log" --logdir "log/14" --portfile log/14/server/http_server.port --config log/14/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78993 port 45467 * pid http => 78993 78993 test 0011 [simple HTTP Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:45467/want/11 -L > log/14/stdout11 2> log/14/stderr11 11: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 11 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:45467/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 19:25:58.066605 Running HTTP IPv4 version on port 45467 19:25:58.066731 Wrote pid 78993 to log/14/server/http_server.pid 19:25:58.066774 Wrote port 45467 to log/14/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 11 === End of file server.cmd === Start of file valgrind11 ==79584== ==79584== Process terminating with default action of signal 4 (SIGILL) ==79584== Illegal opcode at address 0x492B75F ==79584== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79584== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79584== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79584== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79584== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79584== by 0x49908EB: curl_version_info (version.c:600) ==79584== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79584== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79584== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79584== by 0x4003269: main (tool_main.c:195) === End of file valgrind11 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/21/server/http_server.pid" --logfile "log/21/http_server.log" --logdir "log/21" --portfile log/21/server/http_server.port --config log/21/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78985 port 39881 * pid http => 78985 78985 test 0004 [Replaced internal and added custom HTTP headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:39881/4 http://127.0.0.1:39881/4 > log/21/stdout4 2> log/21/stderr4 4: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 4 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind4 ../src/curl -q --output log/21/curl4.out --include --trace-ascii log/21/trace4 --trace-time -H "extra-header: here" -H "Accept: replaced" -H "X-Custom-Header;" -H "X-Test: foo; " -H "X-Test:" -H "X-Test2: foo;" -H "X-Test3: " -H "X-Test4; " -H "X-Test5;ignored" http://127.0.0.1:39881/4 http://127.0.0.1:39881/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 19:25:57.371401 Running HTTP IPv4 version on port 39881 19:25:57.371528 Wrote pid 78985 to log/21/server/http_server.pid 19:25:57.371574 Wrote port 39881 to loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind28 ../src/curl -q --output log/22/curl28.out --include --trace-ascii log/22/trace28 --trace-time http://127.0.0.1:35989/want/28 -L > log/22/stdout28 2> log/22/stderr28 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:38821/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind29 ../src/curl -q --output log/3/curl29.out --include --trace-ascii log/3/trace29 --trace-time http://127.0.0.1:36753/want/29 -m 2 > log/3/stdout29 2> log/3/stderr29 RUN: Process with pid 79339 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38815/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind30 ../src/curl -q --output log/19/curl30.out --include --trace-ascii log/19/trace30 --trace-time http://127.0.0.1:46497/want/30 > log/19/stdout30 2> log/19/stderr30 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:40913/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 RUN: Process with pid 79339 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind31 ../src/curl -q --output log/8/curl31.out --include --trace-ascii log/8/trace31 --trace-time http://test31.curl:44467/we/want/31 -b none -c log/8/jar31.txt --resolve test31.curl:44467:127.0.0.1 > log/8/stdout31 2> log/8/stderr31 g/21/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 4 === End of file server.cmd === Start of file valgrind4 ==79138== ==79138== Process terminating with default action of signal 4 (SIGILL) ==79138== Illegal opcode at address 0x492B75F ==79138== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79138== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79138== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79138== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79138== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79138== by 0x49908EB: curl_version_info (version.c:600) ==79138== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79138== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79138== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79138== by 0x4003269: main (tool_main.c:195) === End of file valgrind4 test 0028 [HTTP Location: following with extra spaces in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind28 ../src/curl -q --output log/22/curl28.out --include --trace-ascii log/22/trace28 --trace-time http://127.0.0.1:35989/want/28 -L > log/22/stdout28 2> log/22/stderr28 28: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 28 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind28 ../src/curl -q --output log/22/curl28.out --include --trace-ascii log/22/trace28 --trace-time http://127.0.0.1:35989/want/28 -L > log/22/stdout28 2> log/22/stderr28 === End of file commands.log === Start of file http_server.log 19:26:07.970105 ====> Client connect 19:26:07.995703 accept_connection 3 returned 4 19:26:07.996104 Read 93 bytes 19:26:07.996122 Process 93 bytes request 19:26:07.996148 Got request: GET /verifiedserver HTTP/1.1 19:26:07.996158 Are-we-friendly question received 19:26:08.022284 Wrote request (93 bytes) input to log/22/server.input 19:26:08.022329 Identifying ourselves as friends 19:26:08.046827 Response sent (56 bytes) and written to log/22/server.response 19:26:08.046849 special request received, no persistency 19:26:08.046858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 40860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 28 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind28 ==80591== ==80591== Process terminating with default action of signal 4 (SIGILL) ==80591== Illegal opcode at address 0x492B75F ==80591== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80591== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80591== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80591== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80591== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80591== by 0x49908EB: curl_version_info (version.c:600) ==80591== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80591== by 0x4003269: main (tool_main.c:195) === End of file valgrind28 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_server.pid" --logfile "log/13/http_server.log" --logdir "log/13" --portfile log/13/server/http_server.port --config log/13/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79032 port 38821 * pid http => 79032 79032 test 0012 [HTTP range support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:38821/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 12: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 12 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:38821/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 19:25:58.173377 Running HTTP IPv4 version on port 38821 19:25:58.173464 Wrote pid 79032 to log/13/server/http_server.pid 19:25:58.173496 Wrote port 38821 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 12 === End of file server.cmd === Start of file valgrind12 ==79655== ==79655== Process terminating with default action of signal 4 (SIGILL) ==79655== Illegal opcode at address 0x492B75F ==79655== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79655== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79655== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79655== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79655== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79655== by 0x49908EB: curl_version_info (version.c:600) ==79655== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79655== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79655== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79655== by 0x4003269: main (tool_main.c:195) === End of file valgrind12 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_server.pid" --logfile "log/1/http_server.log" --logdir "log/1" --portfile log/1/server/http_server.port --config log/1/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79446 port 38815 * pid http => 79446 79446 test 0024 [HTTP GET fail silently on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38815/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 24: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 24 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:38815/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 19:25:59.829195 Running HTTP IPv4 version on port 3881CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:38895/1 > log/24/stdout1 2> log/24/stderr1 5 19:25:59.829305 Wrote pid 79446 to log/1/server/http_server.pid 19:25:59.829341 Wrote port 38815 to log/1/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 24 === End of file server.cmd === Start of file valgrind24 ==80106== ==80106== Process terminating with default action of signal 4 (SIGILL) ==80106== Illegal opcode at address 0x492B75F ==80106== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80106== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80106== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80106== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80106== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80106== by 0x49908EB: curl_version_info (version.c:600) ==80106== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80106== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80106== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80106== by 0x4003269: main (tool_main.c:195) === End of file valgrind24 test 0029 [HTTP with 2 secs timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind29 ../src/curl -q --output log/3/curl29.out --include --trace-ascii log/3/trace29 --trace-time http://127.0.0.1:36753/want/29 -m 2 > log/3/stdout29 2> log/3/stderr29 29: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 29 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind29 ../src/curl -q --output log/3/curl29.out --include --trace-ascii log/3/trace29 --trace-time http://127.0.0.1:36753/want/29 -m 2 > log/3/stdout29 2> log/3/stderr29 === End of file commands.log === Start of file http_server.log 19:26:09.361845 ====> Client connect 19:26:09.361887 accept_connection 3 returned 4 19:26:09.361919 Read 93 bytes 19:26:09.361935 Process 93 bytes request 19:26:09.361957 Got request: GET /verifiedserver HTTP/1.1 19:26:09.361967 Are-we-friendly question received 19:26:09.362001 Wrote request (93 bytes) input to log/3/server.input 19:26:09.362022 Identifying ourselves as friends 19:26:09.362097 Response sent (56 bytes) and written to log/3/server.response 19:26:09.362108 special request received, no persistency 19:26:09.362117 ====> Client disconnect 0 19:26:11.199486 signalled to die 19:26:11.300213 ========> exit message: exit_signal_handler(): triggered 19:26:11.300241 ========> IPv4 sws (port 36753 pid: 79339) exits with signal (15) 19:26:11.300256 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36753... * Established connection to 127.0.0.1 (127.0.0.1 port 36753) from 127.0.0.1 port 45722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36753 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36753 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79339 === End of file http_verify.out === Start of file server.cmd Testnum 29 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79339 === End of file server.response === Start of file valgrind29 ==80596== ==80596== Process terminating with default action of signal 4 (SIGILL) ==80596== Illegal opcode at address 0x492B75F ==80596== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80596== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80596== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80596== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80596== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80596== by 0x49908EB: curl_version_info (version.c:600) ==80596== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80596== by 0x4003269: main (tool_main.c:195) === End of file valgrind29 setenv TZ = GMT test 0031 [HTTP with weirdly formatted cookies and cookiejar storage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind31 ../src/curl -q --output log/8/curl31.out --include --trace-ascii log/8/trace31 --trace-time http://test31.curl:44467/we/want/31 -b none -c log/8/jar31.txt --resolve test31.curl:44467:127.0.0.1 > log/8/stdout31 2> log/8/stderr31 31: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 31 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind31 ../src/curl -q --output log/8/curl31.out --include --trace-ascii log/8/trace31 --trace-time http://test31.curl:44467/we/want/31 -b none -c log/8/jar31.txt --resolve test31.curl:44467:127.0.0.1 > log/8/stdout31 2> log/8/stderr31 === End of file commands.log === Start of file http_server.log 19:26:08.699062 ====> Client connect 19:26:08.725757 accept_connection 3 returned 4 19:26:08.742412 Read 93 bytes 19:26:08.742444 Process 93 bytes request 19:26:08.742471 Got request: GET /verifiedserver HTTP/1.1 19:26:08.742481 Are-we-friendly question received 19:26:08.742535 Wrote request (93 bytes) input to log/8/server.input 19:26:08.742558 Identifying ourselves as friends 19:26:08.742646 Response sent (56 bytes) and written to log/8/server.response 19:26:08.742661 special request received, no persistency 19:26:08.742669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 51836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 31 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind31 ==80764== ==80764== Process terminating with default action of signal 4 (SIGILL) ==80764== Illegal opcode at address 0x492B75F ==80764== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80764== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80764== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80764== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80764== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80764== by 0x49908EB: curl_version_info (version.c:600) ==80764== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80764== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80764== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80764== by 0x4003269: main (tool_main.c:195) === End of file valgrind31 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:34531/none.htfml > log/2/stdout23 2> log/2/stderr23 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:44711/2 > log/23/stdout2 2> log/23/stderr2 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:33897/we/want/that/page/5#5 -x 127.0.0.1:33897 > log/20/stdout5 2> log/20/stderr5 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_server.pid" --logfile "log/10/http_server.log" --logdir "log/10" --portfile log/10/server/http_server.port --config log/10/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79067 port 40913 * pid http => 79067 79067 test 0015 [--write-out test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:40913/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 15: stdout FAILED: --- log/10/check-expected 2026-10-15 19:26:10.970862632 +0000 +++ log/10/check-generated 2026-10-15 19:26:10.940673463 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Fake: yes[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -Repeated nonsense-headers[LF] -http://127.0.0.1:40913/want/15 200 26[LF] == Contents of files in the log/10/ directory after test 15 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Fake: yes[CR][LF] Content-Length: 26[CR][LF] [CR][LF] Repeated nonsense-headers[LF] http://127.0.0.1:40913/want/15 200 26[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind15 ../src/curl -q --include --trace-ascii log/10/trace15 --trace-time http://127.0.0.1:40913/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 === End of file commands.log === Start of file http_server.log 19:25:58.273787 Running HTTP IPv4 version on port 40913 19:25:58.273907 Wrote pid 79067 to log/10/server/http_server.pid 19:25:58.273946 Wrote port 40913 to log/10/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 15 === End of file server.cmd === Start of file valgrind15 ==79742== ==79742== Process terminating with default action of signal 4 (SIGILL) ==79742== Illegal opcode at address 0x492B75F ==79742== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79742== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79742== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79742== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79742== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79742== by 0x49908EB: curl_version_info (version.c:600) ==79742== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79742== by 0x4003269: main (tool_main.c:195) === End of file valgrind15 test 0030 [HTTP with no data in server reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind30 ../src/curl -q --output log/19/curl30.out --include --trace-ascii log/19/trace30 --trace-time http://127.0.0.1:46497/want/30 > log/19/stdout30 2> log/19/stderr30 30: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 30 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind30 ../src/curl -q --output log/19/curl30.out --include --trace-ascii log/19/trace30 --trace-time http://127.0.0.1:46497/want/30 > log/19/stdout30 2> log/19/stderr30 === End of file commands.log === Start of file http_server.log 19:26:08.641250 ====> Client connect 19:26:08.641290 accept_connection 3 returned 4 19:26:08.641313 Read 93 bytes 19:26:08.641330 Process 93 bytes request 19:26:08.641353 Got request: GET /verifiedserver HTTP/1.1 19:26:08.641363 Are-we-friendly question received 19:26:08.641397 Wrote request (93 bytes) input to log/19/server.input 19:26:08.641419 Identifying ourselves as friends 19:26:08.641511 Response sent (56 bytes) and written to log/19/server.response 19:26:08.641524 special request received, no persistency 19:26:08.641533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 59310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 30 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind30 ==80727== ==80727== Process terminating with default action of signal 4 (SIGILL) ==80727== Illegal opcode at address 0x492B75F ==80727== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80727== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80727== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80727== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80727== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80727== by 0x49908EB: curl_version_info (version.c:600) ==80727== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80727== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80727== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80727== by 0x4003269: main (tool_main.c:195) === End of file valgrind30 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_server.pid" --logfile "log/2/http_server.log" --logdir "log/2" --portfile log/2/server/http_server.port --config log/2/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 79439 port 34531 * pid http => 79439 79439 test 0023 [unsupported protocol:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:34531/none.htfml > log/2/stdout23 2> log/2/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents of files in the log/2/ directory after test 23 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:34531/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 19:25:59.815045 Running HTTP IPv4 version on port 34531 19:25:59.815145 Wrote pid 79439 to log/2/server/http_server.pid 19:25:59.815179 Wrote port 34531 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 23 === End of file server.cmd === Start of file valgrind23 ==80107== ==80107== Process terminating with default action of signal 4 (SIGILL) ==80107== Illegal opcode at address 0x492B75F ==80107== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80107== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80107== by 0x492B67B: curl_msnprintf (mprintf.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind32 ../src/curl -q --output log/9/curl32.out --include --trace-ascii log/9/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43733/32 -G > log/9/stdout32 2> log/9/stderr32 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind33 ../src/curl -q --output log/12/curl33.out --include --trace-ascii log/12/trace33 --trace-time http://127.0.0.1:40921/33 -Tlog/12/test33.txt -C 50 --no-progress-meter > log/12/stdout33 2> log/12/stderr33 :1277) ==80107== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80107== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80107== by 0x49908EB: curl_version_info (version.c:600) ==80107== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80107== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80107== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80107== by 0x4003269: main (tool_main.c:195) === End of file valgrind23 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_server.pid" --logfile "log/20/http_server.log" --logdir "log/20" --portfile log/20/server/http_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78986 port 33897 * pid http => 78986 78986 test 0005 [HTTP over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:33897/we/want/that/page/5#5 -x 127.0.0.1:33897 > log/20/stdout5 2> log/20/stderr5 5: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 5 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:33897/we/want/that/page/5#5 -x 127.0.0.1:33897 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 19:25:57.468977 Running HTTP IPv4 version on port 33897 19:25:57.469117 Wrote pid 78986 to log/20/server/http_server.pid 19:25:57.469159 Wrote port 33897 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 5 === End of file server.cmd === Start of file valgrind5 ==79176== ==79176== Process terminating with default action of signal 4 (SIGILL) ==79176== Illegal opcode at address 0x492B75F ==79176== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79176== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79176== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79176== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79176== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79176== by 0x49908EB: curl_version_info (version.c:600) ==79176== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79176== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79176== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79176== by 0x4003269: main (tool_main.c:195) === End of file valgrind5 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/23/server/http_server.pid" --logfile "log/23/http_server.log" --logdir "log/23" --portfile log/23/server/http_server.port --config log/23/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78983 port 44711 * pid http => 78983 78983 test 0002 [HTTP GET with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:44711/2 > log/23/stdout2 2> log/23/stderr2 2: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 2 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2 ../src/curl -q --output log/23/curl2.out --include --trace-ascii log/23/trace2 --trace-time -u fake:user http://127.0.0.1:44711/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 19:25:57.166294 Running HTTP IPv4 version on port 44711 19:25:57.166417 Wrote pid 78983 to log/23/server/http_server.pid 19:25:57.166452 Wrote port 44711 to log/23/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 2 === End of file server.cmd === Start of file valgrind2 ==79040== ==79040== Process terminating with default action of signal 4 (SIGILL) ==79040== Illegal opcode at address 0x492B75F ==79040== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79040== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79040== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79040== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79040== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79040== by 0x49908EB: curl_version_info (version.c:600) ==79040== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79040== by 0x4003269: main (tool_main.c:195) === End of file valgrind2 Warning: 78981: cleardir(log/24/lock) failed startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_server.pid" --logfile "log/24/http_server.log" --logdir "log/24" --portfile log/24/server/http_server.port --config log/24/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78982 port 38895 * pid http => 78982 78982 test 0001 [HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:38895/1 > log/24/stdout1 2> log/24/stderr1 1: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:38895/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 19:25:57.054776 Running HTTP IPv4 version on port 38895 19:25:57.054907 Wrote pid 78982 to log/24/server/http_server.pid 19:25:57.054949 Wrote port 38895 to log/24/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1 === End of file server.cmd === Start of file valgrind1 ==78994== ==78994== Process terminating with default action of signal 4 (SIGILL) ==78994== Illegal opcode at address 0x492B75F ==78994== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==78994== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==78994== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==78994== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==78994== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==78994== by 0x49908EB: curl_version_info (version.c:600) ==78994== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==78994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==78994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==78994== by 0x4003269: main (tool_main.c:195) === End of file valgrind1 test 0019 [attempt connect to non-listening socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 curl returned 132, when expecting 7 19: exit FAILED == Contents of files in the log/6/ directory after test 19 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind19 ../src/curl -q --output log/6/curl19.out --include --trace-ascii log/6/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/6/stdout19 2> log/6/stderr19 === End of file commands.log === Start of file server.cmd Testnum 19 === End of file server.cmd === Start of file valgrind19 ==79254== ==79254== Process terminating with default action of signal 4 (SIGILL) ==79254== Illegal opcode at address 0x492B75F ==79254== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79254== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79254== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79254== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79254== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79254== by 0x49908EB: curl_version_info (version.c:600) ==79254== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79254== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79254== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79254== by 0x4003269: main (tool_main.c:195) === End of file valgrind19 test 0032 [HTTP with -d and -G] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind32 ../src/curl -q --output log/9/curl32.out --include --trace-ascii log/9/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43733/32 -G > log/9/stdout32 2> log/9/stderr32 32: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 32 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind32 ../src/curl -q --output log/9/curl32.out --include --trace-ascii log/9/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:43733/32 -G > log/9/stdout32 2> log/9/stderr32 === End of file commands.log === Start of file http_server.log 19:26:09.509329 ====> Client connect 19:26:09.529371 accept_connection 3 returned 4 19:26:09.533801 Read 93 bytes 19:26:09.533824 Process 93 bytes request 19:26:09.533862 Got request: GET /verifiedserver HTTP/1.1 19:26:09.533871 Are-we-friendly question received 19:26:09.554450 Wrote request (93 bytes) input to log/9/server.input 19:26:09.554486 Identifying ourselves as friends 19:26:09.586225 Response sent (56 bytes) and written to log/9/server.response 19:26:09.586251 special request received, no persistency 19:26:09.586260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 56868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 32 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind32 ==80902== ==80902== Process terminating with default action of signal 4 (SIGILL) ==80902== Illegal opcode at address 0x492B75F ==80902== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80902== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80902== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80902== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80902== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80902== by 0x49908EB: curl_version_info (version.c:600) ==80902== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80902== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80902== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80902== by 0x4003269: main (tool_main.c:195) === End of file valgrind32 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind37 ../src/curl -q --output log/22/curl37.out --include --trace-ascii log/22/trace37 --trace-time http://127.0.0.1:35989/37 > log/22/stdout37 2> log/22/stderr37 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind35 ../src/curl -q --output log/21/curl35.out --include --trace-ascii log/21/trace35 --trace-time http://127.0.0.1:39881/we/want/35 --data-binary @log/21/test35.txt > log/21/stdout35 2> log/21/stderr35 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind34 ../src/curl -q --output log/14/curl34.out --include --trace-ascii log/14/trace34 --trace-time http://127.0.0.1:45467/34 > log/14/stdout34 2> log/14/stderr34 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind36 ../src/curl -q --output log/11/curl36.out --include --trace-ascii log/11/trace36 --trace-time http://127.0.0.1:40989/36 > log/11/stdout36 2> log/11/stderr36 test 0033 [HTTP PUT rejects upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind33 ../src/curl -q --output log/12/curl33.out --include --trace-ascii log/12/trace33 --trace-time http://127.0.0.1:40921/33 -Tlog/12/test33.txt -C 50 --no-progress-meter > log/12/stdout33 2> log/12/stderr33 33: stderr FAILED: --- log/12/check-expected 2026-10-15 19:26:11.913746864 +0000 +++ log/12/check-generated 2026-10-15 19:26:11.883754873 +0000 @@ -1 +0,0 @@ -curl: (43) HTTP upload cannot be resumed[CR][LF] == Contents of files in the log/12/ directory after test 33 === Start of file check-expected curl: (43) HTTP upload cannot be resumed[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind33 ../src/curl -q --output log/12/curl33.out --include --trace-ascii log/12/trace33 --trace-time http://127.0.0.1:40921/33 -Tlog/12/test33.txt -C 50 --no-progress-meter > log/12/stdout33 2> log/12/stderr33 === End of file commands.log === Start of file http_server.log 19:26:09.696220 ====> Client connect 19:26:09.714245 accept_connection 3 returned 4 19:26:09.719345 Read 93 bytes 19:26:09.719368 Process 93 bytes request 19:26:09.719380 Got request: GET /verifiedserver HTTP/1.1 19:26:09.719389 Are-we-friendly question received 19:26:09.732823 Wrote request (93 bytes) input to log/12/server.input 19:26:09.732858 Identifying ourselves as friends 19:26:09.732991 Response sent (56 bytes) and written to log/12/server.response 19:26:09.733003 special request received, no persistency 19:26:09.733011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 44392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==80943== ==80943== Process terminating with default action of signal 4 (SIGILL) ==80943== Illegal opcode at address 0x492B75F ==80943== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==80943== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==80943== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==80943== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==80943== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==80943== by 0x49908EB: curl_version_info (version.c:600) ==80943== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==80943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==80943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==80943== by 0x4003269: main (tool_main.c:195) === End of file valgrind33 test 0037 [HTTP GET with nothing returned from server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind37 ../src/curl -q --output log/22/curl37.out --include --trace-ascii log/22/trace37 --trace-time http://127.0.0.1:35989/37 > log/22/stdout37 2> log/22/stderr37 37: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 37 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind37 ../src/curl -q --output log/22/curl37.out --include --trace-ascii log/22/trace37 --trace-time http://127.0.0.1:35989/37 > log/22/stdout37 2> log/22/stderr37 === End of file commands.log === Start of file http_server.log 19:26:10.063232 ====> Client connect 19:26:10.063282 accept_connection 3 returned 4 19:26:10.063308 Read 93 bytes 19:26:10.063319 Process 93 bytes request 19:26:10.063332 Got request: GET /verifiedserver HTTP/1.1 19:26:10.063341 Are-we-friendly question received 19:26:10.069746 Wrote request (93 bytes) input to log/22/server.input 19:26:10.069792 Identifying ourselves as friends 19:26:10.075066 Response sent (56 bytes) and written to log/22/server.response 19:26:10.075086 special request received, no persistency 19:26:10.075095 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 40862 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 37 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind37 ==81058== ==81058== Process terminating with default action of signal 4 (SIGILL) ==81058== Illegal opcode at address 0x492B75F ==81058== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81058== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81058== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81058== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81058== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81058== by 0x49908EB: curl_version_info (version.c:600) ==81058== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81058== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81058== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81058== by 0x4003269: main (tool_main.c:195) === End of file valgrind37 test 0036 [HTTP GET with bad chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind36 ../src/curl -q --output log/11/curl36.out --include --trace-ascii log/11/trace36 --trace-time http://127.0.0.1:40989/36 > log/11/stdout36 2> log/11/stderr36 36: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 36 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind36 ../src/curl -q --output log/11/curl36.out --include --trace-ascii log/11/trace36 --trace-time http://127.0.0.1:40989/36 > log/11/stdout36 2> log/11/stderr36 === End of file commands.log === Start of file http_server.log 19:26:10.076545 ====> Client connect 19:26:10.076583 accept_connection 3 returned 4 19:26:10.076606 Read 93 bytes 19:26:10.076615 Process 93 bytes request 19:26:10.076637 Got request: GET /verifiedserver HTTP/1.1 19:26:10.076645 Are-we-friendly question received 19:26:10.076668 Wrote request (93 bytes) input to log/11/server.input 19:26:10.076687 Identifying ourselves as friends 19:26:10.076749 Response sent (56 bytes) and written to log/11/server.response 19:26:10.076758 special request received, no persistency 19:26:10.076765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 56660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind36 ==81046== ==81046== Process terminating with default action of signal 4 (SIGILL) ==81046== Illegal opcode at address 0x492B75F ==81046== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81046== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81046== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81046== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81046== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81046== by 0x49908EB: curl_version_info (version.c:600) ==81046== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81046== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81046== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81046== by 0x4003269: main (tool_main.c:195) === End of file valgrind36 test 0034 [HTTP GET with chunked Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind34 ../src/curl -q --output log/14/curl34.out --include --trace-ascii log/14/trace34 --trace-time http://127.0.0.1:45467/34 > log/14/stdout34 2> log/14/stderr34 34: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 34 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind34 ../src/curl -q --output log/14/curl34.out --include --trace-ascii log/14/trace34 --trace-time http://127.0.0.1:45467/34 > log/14/stdout34 2> log/14/stderr34 === End of file commands.log === Start of file http_server.log 19:26:09.899380 ====> Client connect 19:26:09.919460 accept_connection 3 returned 4 19:26:09.929519 Read 93 bytes 19:26:09.929542 Process 93 bytes request 19:26:09.929568 Got request: GET /verifiedserver HTTP/1.1 19:26:09.929577 Are-we-friendly question received 19:26:09.964547 Wrote request (93 bytes) input to log/14/server.input 19:26:09.964590 Identifying ourselves as friends 19:26:09.982812 Response sent (56 bytes) and written to log/14/server.response 19:26:09.982832 special request received, no persistency 19:26:09.982841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 55974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind34 ==81043== ==81043== Process terminating with default action of signal 4 (SIGILL) ==81043== Illegal opcode at address 0x492B75F ==81043== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81043== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81043== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81043== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81043== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81043== by 0x49908EB: curl_version_info (version.c:600) ==81043== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81043== by 0x4003269: main (tool_main.c:195) === End of file valgrind34 test 0035 [HTTP POST binary data with embedded NUL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind35 ../src/curl -q --output log/21/curl35.out --include --trace-ascii log/21/trace35 --trace-time http://127.0.0.1:39881/we/want/35 --data-binary @log/21/test35.txt > log/21/stdout35 2> log/21/stderr35 35: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 35 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind35 ../src/curl -q --output log/21/curl35.out --include --trace-ascii log/21/trace35 --trace-time http://127.0.0.1:39881/we/want/35 --data-binary @log/21/test35.txt > log/21/stdout35 2> log/21/stderr35 === End of file commands.log === Start of file http_server.log 19:26:09.858477 ====> Client connect 19:26:09.858517 accept_connection 3 returned 4 19:26:09.858547 Read 93 bytes 19:26:09.858558 Process 93 bytes request 19:26:09.858581 Got request: GET /verifiedserver HTTP/1.1 19:26:09.858590 Are-we-friendly question received 19:26:09.858622 Wrote request (93 bytes) input to log/21/server.input 19:26:09.858643 Identifying ourselves as friends 19:26:09.858714 Response sent (56 bytes) and written to log/21/server.response 19:26:09.858726 special request received, no persistency 19:26:09.858735 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 53216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 35 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file test35.txt This is binary data with an embedded NUL byte === End of file test35.txt === Start of file valgrind35 ==81051== ==81051== Process terminating with default action of signal 4 (SIGILL) ==81051== Illegal opcode at address 0x492B75F ==81051== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81051== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81051== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81051== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81051== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81051== by 0x49908EB: curl_version_info (version.c:600) ==81051== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81051== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81051== by 0x4003269: UnknownInlinedFun (tool_cfgablCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:35903/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind38 ../src/curl -q --include --trace-ascii log/7/trace38 --trace-time http://127.0.0.1:40859/want/38 -C - --no-include -o log/7/fewl38.txt > log/7/stdout38 2> log/7/stderr38 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:40321/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 e.c:310) ==81051== by 0x4003269: main (tool_main.c:195) === End of file valgrind35 test 0020 [attempt connect to non-existing hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 curl returned 132, when expecting 6 20: exit FAILED == Contents of files in the log/5/ directory after test 20 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind20 ../src/curl -q --output log/5/curl20.out --include --trace-ascii log/5/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/5/stdout20 2> log/5/stderr20 === End of file commands.log === Start of file server.cmd Testnum 20 === End of file server.cmd === Start of file valgrind20 ==79262== ==79262== Process terminating with default action of signal 4 (SIGILL) ==79262== Illegal opcode at address 0x492B75F ==79262== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79262== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79262== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79262== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79262== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79262== by 0x49908EB: curl_version_info (version.c:600) ==79262== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79262== by 0x4003269: main (tool_main.c:195) === End of file valgrind20 test 0038 [HTTP resume request without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind38 ../src/curl -q --include --trace-ascii log/7/trace38 --trace-time http://127.0.0.1:40859/want/38 -C - --no-include -o log/7/fewl38.txt > log/7/stdout38 2> log/7/stderr38 38: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 38 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind38 ../src/curl -q --include --trace-ascii log/7/trace38 --trace-time http://127.0.0.1:40859/want/38 -C - --no-include -o log/7/fewl38.txt > log/7/stdout38 2> log/7/stderr38 === End of file commands.log === Start of file fewl38.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl38.txt === Start of file http_server.log 19:26:10.203924 ====> Client connect 19:26:10.203970 accept_connection 3 returned 4 19:26:10.204000 Read 93 bytes 19:26:10.204011 Process 93 bytes request 19:26:10.204028 Got request: GET /verifiedserver HTTP/1.1 19:26:10.204037 Are-we-friendly question received 19:26:10.204068 Wrote request (93 bytes) input to log/7/server.input 19:26:10.204087 Identifying ourselves as friends 19:26:10.204197 Response sent (56 bytes) and written to log/7/server.response 19:26:10.204205 special request received, no persistency 19:26:10.204212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 37266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind38 ==81315== ==81315== Process terminating with default action of signal 4 (SIGILL) ==81315== Illegal opcode at address 0x492B75F ==81315== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81315== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81315== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81315== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81315== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81315== by 0x49908EB: curl_version_info (version.c:600) ==81315== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81315== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81315== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81315== by 0x4003269: main (tool_main.c:195) === End of file valgrind38 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_server.pid" --logfile "log/16/http_server.log" --logdir "log/16" --portfile log/16/server/http_server.port --config log/16/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78990 port 35903 * pid http => 78990 78990 test 0009 [HTTP RFC1867-type formposting] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:35903/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 9: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 9 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind9 ../src/curl -q --output log/16/curl9.out --include --trace-ascii log/16/trace9 --trace-time http://127.0.0.1:35903/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 === End of file commands.log === Start of file http_server.log 19:25:58.885063 Running HTTP IPv4 version on port 35903 19:25:58.885183 Wrote pid 78990 to log/16/server/http_server.pid 19:25:58.885224 Wrote port 35903 to log/16/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 9 === End of file server.cmd === Start of file test9.txt foo- This is a moo- bar === End of file test9.txt === Start of file valgrind9 ==79474== ==79474== Process terminating with default action of signal 4 (SIGILL) ==79474== Illegal opcode at address 0x492B75F ==79474== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79474== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79474== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79474== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79474== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79474== by 0x49908EB: curl_version_info (version.c:600) ==79474== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79474== by 0x4003269: main (tool_main.c:195) === End of file valgrind9 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_server.pid" --logfile "log/15/http_server.log" --logdir "log/15" --portfile log/15/server/http_server.port --config log/15/server.cmd -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:35993/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind39 ../src/curl -q --output log/4/curl39.out --include --trace-ascii log/4/trace39 --trace-time http://127.0.0.1:35735/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/4/stdout39 2> log/4/stderr39 -ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78991 port 40321 * pid http => 78991 78991 test 0010 [simple HTTP PUT from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:40321/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 10: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 10 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:40321/we/want/10 -T log/15/test10.txt > log/15/stdout10 2> log/15/stderr10 === End of file commands.log === Start of file http_server.log 19:25:58.985318 Running HTTP IPv4 version on port 40321 19:25:58.985449 Wrote pid 78991 to log/15/server/http_server.pid 19:25:58.985520 Wrote port 40321 to log/15/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 10 === End of file server.cmd === Start of file test10.txt Weird file to upload for testing the PUT feature === End of file test10.txt === Start of file valgrind10 ==79532== ==79532== Process terminating with default action of signal 4 (SIGILL) ==79532== Illegal opcode at address 0x492B75F ==79532== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79532== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79532== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79532== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79532== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79532== by 0x49908EB: curl_version_info (version.c:600) ==79532== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79532== by 0x4003269: main (tool_main.c:195) === End of file valgrind10 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_server.pid" --logfile "log/17/http_server.log" --logdir "log/17" --portfile log/17/server/http_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78989 port 35993 * pid http => 78989 78989 prechecked /usr/bin/perl -e 'if("127.0.0.1" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' test 0008 [HTTP with cookie parsing from header file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:35993/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 8: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 8 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind8 ../src/curl -q --output log/17/curl8.out --include --trace-ascii log/17/trace8 --trace-time http://127.0.0.1:35993/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 === End of file commands.log === Start of file heads8.txt HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes Set-Cookie: foobar=name; domain=127.0.0.1; path=/; Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; Set-Cookie: partmatch=present; domain=.0.0.1; path=/w; Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey; Set-Cookie: cookie=yes; path=/we; Set-Cookie: cookie=perhaps; path=/we/want; Set-Cookie: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad; Set-Cookie: partialip=nono; domain=.0.0.1; Set-Cookie: cookie1=-junk Set-Cookie: cookie2=-junk Set-Cookie: cookie3=-junk Set-Cookie: cookie4=-junk Set-Cookie: cookie5=-junk Set-Cookie: cookie6=-junk Set-Cookie: cookie7=-junk Set-Cookie: cookie8=-junk Set-Cookie: cookie9=junk-- Set-Cookie: cookie11= -junk Set-Cookie: cookie12= -junk Set-Cookie: cookie14=-junk Set-Cookie: cookie15=-junk Set-Cookie: cookie16=-junk Set-Cookie: cookie17=-junk Set-Cookie: cookie18=-junk Set-Cookie: cookie19=-junk Set-Cookie: cookie20=-junk Set-Cookie: cookie21=-junk Set-Cookie: cookie22=-junk Set-Cookie: cookie23=-junk Set-Cookie: cookie24=-junk Set-Cookie: cookie25=-junk Set-Cookie: cookie26= -junk Set-Cookie: cookie27=-junk Set-Cookie: cookie28=-junk Set-Cookie: cookie29=-junk Set-Cookie: cookie30=-junk Set-Cookie: cookie31=-junk Set-Cookie: cookie31=-junk === End of file heads8.txt === Start of file http_server.log 19:25:58.778081 Running HTTP IPv4 version on port 35993 19:25:58.778198 Wrote pid 78989 to log/17/server/http_server.pid 19:25:58.778235 Wrote port 35993 to log/17/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 8 === End of file server.cmd === Start of file valgrind8 ==79454== ==79454== Process terminating with default action of signal 4 (SIGILL) ==79454== Illegal opcode at address 0x492B75F ==79454== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79454== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79454== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79454== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79454== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79454== by 0x49908EB: curl_version_info (version.c:600) ==79454== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==79454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79454== by 0x4003269: main (tool_main.c:195) === End of file valgrind8 test 0039 [HTTP RFC1867-type formposting with filename= and type=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind39 ../src/curl -q --output log/4/curl39.out --include --trace-ascii log/4/trace39 --trace-time http://127.0.0.1:35735/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/4/stdout39 2> log/4/stderr39 39: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 39 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind39 ../src/curl -q --output log/4/curl39.out --include --trace-ascii log/4/trace39 --trace-time http://127.0.0.1:35735/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/13/stdout40 2> log/13/stderr40 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43739/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 4/test39.txt;type=moo/foobar;filename=fakerfile" -F file2=@log/4/test39.txt -F "file3=@\"log/4/test39.txt\";type=mo/foo;filename=\"f\\\\\\\\ak\\\\\\er,\\\\an\\d;.t\\\"xt\"" -F 'file4=@"log/4/test39.txt"; filename="A\\AA\"\"\\\"ZZZ"' > log/4/stdout39 2> log/4/stderr39 === End of file commands.log === Start of file http_server.log 19:26:11.262508 ====> Client connect 19:26:11.262552 accept_connection 3 returned 4 19:26:11.262575 Read 93 bytes 19:26:11.262585 Process 93 bytes request 19:26:11.262609 Got request: GET /verifiedserver HTTP/1.1 19:26:11.262617 Are-we-friendly question received 19:26:11.262650 Wrote request (93 bytes) input to log/4/server.input 19:26:11.262669 Identifying ourselves as friends 19:26:11.262739 Response sent (56 bytes) and written to log/4/server.response 19:26:11.262750 special request received, no persistency 19:26:11.262758 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 57016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 39 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file test39.txt foo bar This is a bar foo bar foo === End of file test39.txt === Start of file valgrind39 ==81274== ==81274== Process terminating with default action of signal 4 (SIGILL) ==81274== Illegal opcode at address 0x492B75F ==81274== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81274== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81274== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81274== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81274== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81274== by 0x49908EB: curl_version_info (version.c:600) ==81274== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81274== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81274== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81274== by 0x4003269: main (tool_main.c:195) === End of file valgrind39 test 0040 [HTTP redirect with whitespace after ? (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind40 ../src/curl -q --output log/13/curl40.out --include --trace-ascii log/13/trace40 --trace-time http://127.0.0.1:38821/we/are/all/twits/40 -L > log/13/stdout40 2> log/13/stderr40 40: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 40 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind40 ../src/curl -q --output log/13/curl40.out --include --trace-ascii log/13/trace40 --trace-time http://127.0.0.1:38821/we/are/all/twits/40 -L > log/13/stdout40 2> log/13/stderr40 === End of file commands.log === Start of file http_server.log 19:26:10.659843 ====> Client connect 19:26:10.686289 accept_connection 3 returned 4 19:26:10.689686 Read 93 bytes 19:26:10.689707 Process 93 bytes request 19:26:10.689738 Got request: GET /verifiedserver HTTP/1.1 19:26:10.690020 Are-we-friendly question received 19:26:10.710185 Wrote request (93 bytes) input to log/13/server.input 19:26:10.710224 Identifying ourselves as friends 19:26:10.730287 Response sent (56 bytes) and written to log/13/server.response 19:26:10.730308 special request received, no persistency 19:26:10.730318 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 36666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 40 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind40 ==81453== ==81453== Process terminating with default action of signal 4 (SIGILL) ==81453== Illegal opcode at address 0x492B75F ==81453== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81453== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81453== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81453== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81453== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81453== by 0x49908EB: curl_version_info (version.c:600) ==81453== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81453== by 0x4003269: main (tool_main.c:195) === End of file valgrind40 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_server.pid" --logfile "log/18/http_server.log" --logdir "log/18" --portfile log/18/server/http_server.port --config log/18/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 78988 port 43739 * pid http => 78988 78988 test 0007 [HTTP with cookie parser and header recording] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43739/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 7: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 7 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:43739/we/want/7 -b none -D log/18/heads7.txt > log/18/stdout7 2> log/18/stderr7 === End of file commands.log === Start of file http_server.log 19:25:58.678843 Running HTTP IPv4 version on port 43739 19:25:58.679026 Wrote pid 78988 to log/18/server/http_server.pid 19:25:58.679069 Wrote port 43739 to log/18/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 7 === End of file server.cmd === Start of file valgrind7 ==79342== ==79342== Process terminating with default action of signal 4 (SIGILL) ==79342== Illegal opcode at address 0x492B75F ==79342== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==79342== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==79342== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==79342== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==79342== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==79342== by 0x49908EB: curl_version_info (version.c:600) ==79342== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==79342== by 0x4003269: UnknoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind42 ../src/curl -q --output log/24/curl42.out --include --trace-ascii log/24/trace42 --trace-time http://127.0.0.1:38895/we/are/all/twits/42 -L > log/24/stdout42 2> log/24/stderr42 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:46497/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind43 ../src/curl -q --output log/23/curl43.out --include --trace-ascii log/23/trace43 --trace-time http://127.0.0.1:44711/want/43 -L -x 127.0.0.1:44711 > log/23/stdout43 2> log/23/stderr43 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind44 ../src/curl -q --output log/12/curl44.out --include --trace-ascii log/12/trace44 --trace-time http://127.0.0.1:40921/we/want/44 -F name=daniel -F tool=curl -F file=@log/12/test44.txt -H "Expect:" > log/12/stdout44 2> log/12/stderr44 wnInlinedFun (tool_cfgable.c:339) ==79342== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==79342== by 0x4003269: main (tool_main.c:195) === End of file valgrind7 test 0042 [HTTP redirect with whitespace in path (and conversion)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind42 ../src/curl -q --output log/24/curl42.out --include --trace-ascii log/24/trace42 --trace-time http://127.0.0.1:38895/we/are/all/twits/42 -L > log/24/stdout42 2> log/24/stderr42 42: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 42 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind42 ../src/curl -q --output log/24/curl42.out --include --trace-ascii log/24/trace42 --trace-time http://127.0.0.1:38895/we/are/all/twits/42 -L > log/24/stdout42 2> log/24/stderr42 === End of file commands.log === Start of file http_server.log 19:26:11.286845 ====> Client connect 19:26:11.286880 accept_connection 3 returned 4 19:26:11.286902 Read 93 bytes 19:26:11.286911 Process 93 bytes request 19:26:11.286934 Got request: GET /verifiedserver HTTP/1.1 19:26:11.286943 Are-we-friendly question received 19:26:11.286969 Wrote request (93 bytes) input to log/24/server.input 19:26:11.286988 Identifying ourselves as friends 19:26:11.323205 Response sent (56 bytes) and written to log/24/server.response 19:26:11.323235 special request received, no persistency 19:26:11.323246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 47198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 42 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind42 ==81544== ==81544== Process terminating with default action of signal 4 (SIGILL) ==81544== Illegal opcode at address 0x492B75F ==81544== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81544== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81544== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81544== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81544== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81544== by 0x49908EB: curl_version_info (version.c:600) ==81544== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81544== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81544== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81544== by 0x4003269: main (tool_main.c:195) === End of file valgrind42 test 0041 [HTTP formpost with missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:46497/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/19/ directory after test 41 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind41 ../src/curl -q --output log/19/curl41.out --include --trace-ascii log/19/trace41 --trace-time http://127.0.0.1:46497/want/41 -F moo=@boo > log/19/stdout41 2> log/19/stderr41 === End of file commands.log === Start of file http_server.log 19:26:11.273084 ====> Client connect 19:26:11.273128 accept_connection 3 returned 4 19:26:11.273155 Read 93 bytes 19:26:11.273163 Process 93 bytes request 19:26:11.273174 Got request: GET /verifiedserver HTTP/1.1 19:26:11.273183 Are-we-friendly question received 19:26:11.273207 Wrote request (93 bytes) input to log/19/server.input 19:26:11.273222 Identifying ourselves as friends 19:26:11.273316 Response sent (56 bytes) and written to log/19/server.response 19:26:11.273326 special request received, no persistency 19:26:11.273335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 59322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 41 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind41 ==81551== ==81551== Process terminating with default action of signal 4 (SIGILL) ==81551== Illegal opcode at address 0x492B75F ==81551== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81551== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81551== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81551== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81551== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81551== by 0x49908EB: curl_version_info (version.c:600) ==81551== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81551== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81551== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81551== by 0x4003269: main (tool_main.c:195) === End of file valgrind41 test 0044 [HTTP RFC1867-type formposting without Expect: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind44 ../src/curl -q --output log/12/curl44.out --include --trace-ascii log/12/trace44 --trace-time http://127.0.0.1:40921/we/want/44 -F name=daniel -F tool=curl -F file=@log/12/test44.txt -H "Expect:" > log/12/stdout44 2> log/12/stderr44 44: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 44 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind44 ../src/curl -q --output log/12/curl44.out --include --trace-ascii log/12/trace44 --trace-time http://127.0.0.1:40921/we/want/44 -F name=daniel -F tool=curl -F file=@log/12/test44.txt -H "Expect:" > log/12/stdout44 2> log/12/stderr44 === End of file commands.log === Start of file http_server.log 19:26:11.616613 ====> Client connect 19:26:11.644116 accept_connection 3 returned 4 19:26:11.653607 Read 93 bytes 19:26:11.653634 Process 93 bytes request 19:26:11.653647 Got request: GET /verifiedserver HTTP/1.1 19:26:11.653656 Are-we-friendly question received 19:26:11.676618 Wrote request (93 bytes) input to log/12/server.input 19:26:11.676668 Identifying ourselves as friends 19:26:11.678393 Response sent (56 bytes) and written to log/12/server.response 19:26:11.678410CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind46 ../src/curl -q --output log/22/curl46.out --include --trace-ascii log/22/trace46 --trace-time domain..tld:35989/want/46 --resolve domain..tld:35989:127.0.0.1 -c log/22/jar46 -b log/22 -b log/22/injar46 > log/22/stdout46 2> log/22/stderr46 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind48 ../src/curl -q --output log/16/curl48.out --include --trace-ascii log/16/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35903/48 -G -I http://127.0.0.1:35903/48 > log/16/stdout48 2> log/16/stderr48 special request received, no persistency 19:26:11.678419 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 51874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 44 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file test44.txt foo- This is a moo- bar === End of file test44.txt === Start of file valgrind44 ==81671== ==81671== Process terminating with default action of signal 4 (SIGILL) ==81671== Illegal opcode at address 0x492B75F ==81671== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81671== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81671== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81671== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81671== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81671== by 0x49908EB: curl_version_info (version.c:600) ==81671== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81671== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81671== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81671== by 0x4003269: main (tool_main.c:195) === End of file valgrind44 test 0043 [HTTP Location: following over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind43 ../src/curl -q --output log/23/curl43.out --include --trace-ascii log/23/trace43 --trace-time http://127.0.0.1:44711/want/43 -L -x 127.0.0.1:44711 > log/23/stdout43 2> log/23/stderr43 43: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 43 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind43 ../src/curl -q --output log/23/curl43.out --include --trace-ascii log/23/trace43 --trace-time http://127.0.0.1:44711/want/43 -L -x 127.0.0.1:44711 > log/23/stdout43 2> log/23/stderr43 === End of file commands.log === Start of file http_server.log 19:26:11.506523 ====> Client connect 19:26:11.526654 accept_connection 3 returned 4 19:26:11.530516 Read 93 bytes 19:26:11.530536 Process 93 bytes request 19:26:11.530561 Got request: GET /verifiedserver HTTP/1.1 19:26:11.530570 Are-we-friendly question received 19:26:11.553791 Wrote request (93 bytes) input to log/23/server.input 19:26:11.553825 Identifying ourselves as friends 19:26:11.590624 Response sent (56 bytes) and written to log/23/server.response 19:26:11.590653 special request received, no persistency 19:26:11.590664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 49666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 43 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind43 ==81594== ==81594== Process terminating with default action of signal 4 (SIGILL) ==81594== Illegal opcode at address 0x492B75F ==81594== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81594== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81594== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81594== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81594== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81594== by 0x49908EB: curl_version_info (version.c:600) ==81594== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81594== by 0x4003269: main (tool_main.c:195) === End of file valgrind43 test 0048 [HTTP with -d and -G and -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind48 ../src/curl -q --output log/16/curl48.out --include --trace-ascii log/16/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35903/48 -G -I http://127.0.0.1:35903/48 > log/16/stdout48 2> log/16/stderr48 48: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 48 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind48 ../src/curl -q --output log/16/curl48.out --include --trace-ascii log/16/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35903/48 -G -I http://127.0.0.1:35903/48 > log/16/stdout48 2> log/16/stderr48 === End of file commands.log === Start of file http_server.log 19:26:13.220050 ====> Client connect 19:26:13.220104 accept_connection 3 returned 4 19:26:13.220130 Read 93 bytes 19:26:13.220140 Process 93 bytes request 19:26:13.220166 Got request: GET /verifiedserver HTTP/1.1 19:26:13.220175 Are-we-friendly question received 19:26:13.220202 Wrote request (93 bytes) input to log/16/server.input 19:26:13.220224 Identifying ourselves as friends 19:26:13.220348 Response sent (56 bytes) and written to log/16/server.response 19:26:13.220359 special request received, no persistency 19:26:13.220368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 36616 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 48 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind48 ==81868== ==81868== Process terminating with default action of signal 4 (SIGILL) ==81868== Illegal opcode at address 0x492B75F ==81868== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81868== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81868== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81868== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81868== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81868== by 0x49908EB: curl_version_info (version.c:600) ==81868== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81868== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81868== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81868== by 0x4003269: mainCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind45 ../src/curl -q --output log/9/curl45.out --include --trace-ascii log/9/trace45 --trace-time 127.0.0.1:43733/want/45 -L > log/9/stdout45 2> log/9/stderr45 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind47 ../src/curl -q --output log/21/curl47.out --include --trace-ascii log/21/trace47 --trace-time http://127.0.0.1:39881/47 -0 > log/21/stdout47 2> log/21/stderr47 (tool_main.c:195) === End of file valgrind48 setenv TZ = GMT test 0046 [HTTP with bad domain name, get cookies and store in cookie jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind46 ../src/curl -q --output log/22/curl46.out --include --trace-ascii log/22/trace46 --trace-time domain..tld:35989/want/46 --resolve domain..tld:35989:127.0.0.1 -c log/22/jar46 -b log/22 -b log/22/injar46 > log/22/stdout46 2> log/22/stderr46 46: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 46 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind46 ../src/curl -q --output log/22/curl46.out --include --trace-ascii log/22/trace46 --trace-time domain..tld:35989/want/46 --resolve domain..tld:35989:127.0.0.1 -c log/22/jar46 -b log/22 -b log/22/injar46 > log/22/stdout46 2> log/22/stderr46 === End of file commands.log === Start of file http_server.log 19:26:11.850225 ====> Client connect 19:26:11.850263 accept_connection 3 returned 4 19:26:11.850287 Read 93 bytes 19:26:11.850298 Process 93 bytes request 19:26:11.850315 Got request: GET /verifiedserver HTTP/1.1 19:26:11.850324 Are-we-friendly question received 19:26:11.850356 Wrote request (93 bytes) input to log/22/server.input 19:26:11.850375 Identifying ourselves as friends 19:26:11.850445 Response sent (56 bytes) and written to log/22/server.response 19:26:11.850458 special request received, no persistency 19:26:11.850467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 54690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file injar46 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This is generated by libcurl! Do not edit. www.fake.come FALSE / FALSE 22147483647 cookiecliente si www.loser.com FALSE / FALSE 22139150993 UID 99 domain..tld FALSE / FALSE 22139150993 mooo indeed #HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2 domain..tld FALSE /want FALSE 0 empty === End of file injar46 === Start of file server.cmd Testnum 46 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind46 ==81800== ==81800== Process terminating with default action of signal 4 (SIGILL) ==81800== Illegal opcode at address 0x492B75F ==81800== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81800== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81800== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81800== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81800== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81800== by 0x49908EB: curl_version_info (version.c:600) ==81800== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81800== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81800== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81800== by 0x4003269: main (tool_main.c:195) === End of file valgrind46 test 0045 [simple HTTP Location: without protocol in initial URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind45 ../src/curl -q --output log/9/curl45.out --include --trace-ascii log/9/trace45 --trace-time 127.0.0.1:43733/want/45 -L > log/9/stdout45 2> log/9/stderr45 45: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 45 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind45 ../src/curl -q --output log/9/curl45.out --include --trace-ascii log/9/trace45 --trace-time 127.0.0.1:43733/want/45 -L > log/9/stdout45 2> log/9/stderr45 === End of file commands.log === Start of file http_server.log 19:26:11.740943 ====> Client connect 19:26:11.743982 accept_connection 3 returned 4 19:26:11.746650 Read 93 bytes 19:26:11.746669 Process 93 bytes request 19:26:11.746683 Got request: GET /verifiedserver HTTP/1.1 19:26:11.746692 Are-we-friendly question received 19:26:11.759918 Wrote request (93 bytes) input to log/9/server.input 19:26:11.760002 Identifying ourselves as friends 19:26:11.770076 Response sent (56 bytes) and written to log/9/server.response 19:26:11.770095 special request received, no persistency 19:26:11.770103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 39294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 45 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind45 ==81785== ==81785== Process terminating with default action of signal 4 (SIGILL) ==81785== Illegal opcode at address 0x492B75F ==81785== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81785== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81785== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81785== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81785== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81785== by 0x49908EB: curl_version_info (version.c:600) ==81785== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81785== by 0x4003269: main (tool_main.c:195) === End of file valgrind45 test 0047 [simple HTTP 1.0 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind47 ../src/curl -q --output log/21/curl47.out --include --trace-ascii log/21/trace47 --trace-time http://127.0.0.1:39881/47 -0 > log/21/stdout47 2> log/21/stderr47 47: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 47 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind47 ../src/curl -q --output log/21/curl47.out --include --trace-ascii log/21/trace47 --trace-time http://127.0.0.1:39881/47 -0 > log/21/stdout47 2> log/21/stderr47 === End of file commands.log === Start of file http_server.log 19:26:12.235789 ====> Client connect 19:26:12.235830 accept_connection 3 returned 4 19:26:12.235854 Read 93 bytes 19:26:12.235865 Process 93 bytes request 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind50 ../src/curl -q --output log/7/curl50.out --include --trace-ascii log/7/trace50 --trace-time http://127.0.0.1:40859/we/are/all/twits/50 -L > log/7/stdout50 2> log/7/stderr50 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind49 ../src/curl -q --output log/15/curl49.out --include --trace-ascii log/15/trace49 --trace-time http://127.0.0.1:40321/we/are/all/twits/49 -L > log/15/stdout49 2> log/15/stderr49 9:26:12.235879 Got request: GET /verifiedserver HTTP/1.1 19:26:12.235889 Are-we-friendly question received 19:26:12.235923 Wrote request (93 bytes) input to log/21/server.input 19:26:12.235943 Identifying ourselves as friends 19:26:12.236015 Response sent (56 bytes) and written to log/21/server.response 19:26:12.236027 special request received, no persistency 19:26:12.236036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 56260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 47 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind47 ==81877== ==81877== Process terminating with default action of signal 4 (SIGILL) ==81877== Illegal opcode at address 0x492B75F ==81877== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81877== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81877== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81877== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81877== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81877== by 0x49908EB: curl_version_info (version.c:600) ==81877== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81877== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81877== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81877== by 0x4003269: main (tool_main.c:195) === End of file valgrind47 test 0050 [HTTP follow redirect with ../../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind50 ../src/curl -q --output log/7/curl50.out --include --trace-ascii log/7/trace50 --trace-time http://127.0.0.1:40859/we/are/all/twits/50 -L > log/7/stdout50 2> log/7/stderr50 50: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 50 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind50 ../src/curl -q --output log/7/curl50.out --include --trace-ascii log/7/trace50 --trace-time http://127.0.0.1:40859/we/are/all/twits/50 -L > log/7/stdout50 2> log/7/stderr50 === End of file commands.log === Start of file http_server.log 19:26:12.306490 ====> Client connect 19:26:12.306527 accept_connection 3 returned 4 19:26:12.306551 Read 93 bytes 19:26:12.306561 Process 93 bytes request 19:26:12.306575 Got request: GET /verifiedserver HTTP/1.1 19:26:12.306584 Are-we-friendly question received 19:26:12.306617 Wrote request (93 bytes) input to log/7/server.input 19:26:12.306635 Identifying ourselves as friends 19:26:12.306750 Response sent (56 bytes) and written to log/7/server.response 19:26:12.306762 special request received, no persistency 19:26:12.306772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 44820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 50 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind50 ==81973== ==81973== Process terminating with default action of signal 4 (SIGILL) ==81973== Illegal opcode at address 0x492B75F ==81973== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81973== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81973== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81973== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81973== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81973== by 0x49908EB: curl_version_info (version.c:600) ==81973== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81973== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==81973== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81973== by 0x4003269: main (tool_main.c:195) === End of file valgrind50 test 0049 [HTTP follow redirect with ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind49 ../src/curl -q --output log/15/curl49.out --include --trace-ascii log/15/trace49 --trace-time http://127.0.0.1:40321/we/are/all/twits/49 -L > log/15/stdout49 2> log/15/stderr49 49: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 49 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind49 ../src/curl -q --output log/15/curl49.out --include --trace-ascii log/15/trace49 --trace-time http://127.0.0.1:40321/we/are/all/twits/49 -L > log/15/stdout49 2> log/15/stderr49 === End of file commands.log === Start of file http_server.log 19:26:13.253719 ====> Client connect 19:26:13.253764 accept_connection 3 returned 4 19:26:13.253799 Read 93 bytes 19:26:13.253811 Process 93 bytes request 19:26:13.253836 Got request: GET /verifiedserver HTTP/1.1 19:26:13.253846 Are-we-friendly question received 19:26:13.253884 Wrote request (93 bytes) input to log/15/server.input 19:26:13.253909 Identifying ourselves as friends 19:26:13.253995 Response sent (56 bytes) and written to log/15/server.response 19:26:13.254009 special request received, no persistency 19:26:13.254017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 34738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 49 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind49 ==81922== ==81922== Process terminating with default action of signal 4 (SIGILL) ==81922== Illegal opcode at address 0x492B75F ==81922== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==81922== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==81922== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==81922== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==81922== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==81922== by 0x49908EB: curl_version_info (version.c:600) ==81922== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==81922== by 0x4003269: UnknownInlinedFCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind52 ../src/curl -q --output log/14/curl52.out --include --trace-ascii log/14/trace52 --trace-time http://127.0.0.1:45467/we/are/all/twits/52 -L > log/14/stdout52 2> log/14/stderr52 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind53 ../src/curl -q --output log/17/curl53.out --include --trace-ascii log/17/trace53 --trace-time 127.0.0.1:35993/want/53 -b log/17/injar53 -j > log/17/stdout53 2> log/17/stderr53 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind55 ../src/curl -q --output log/4/curl55.out --include --trace-ascii log/4/trace55 --trace-time http://127.0.0.1:35735/55 -L > log/4/stdout55 2> log/4/stderr55 un (tool_cfgable.c:339) ==81922== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==81922== by 0x4003269: main (tool_main.c:195) === End of file valgrind49 test 0052 [HTTP follow redirect with ./-prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind52 ../src/curl -q --output log/14/curl52.out --include --trace-ascii log/14/trace52 --trace-time http://127.0.0.1:45467/we/are/all/twits/52 -L > log/14/stdout52 2> log/14/stderr52 52: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 52 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind52 ../src/curl -q --output log/14/curl52.out --include --trace-ascii log/14/trace52 --trace-time http://127.0.0.1:45467/we/are/all/twits/52 -L > log/14/stdout52 2> log/14/stderr52 === End of file commands.log === Start of file http_server.log 19:26:12.370093 ====> Client connect 19:26:12.370139 accept_connection 3 returned 4 19:26:12.370170 Read 93 bytes 19:26:12.370181 Process 93 bytes request 19:26:12.370195 Got request: GET /verifiedserver HTTP/1.1 19:26:12.370204 Are-we-friendly question received 19:26:12.370237 Wrote request (93 bytes) input to log/14/server.input 19:26:12.370255 Identifying ourselves as friends 19:26:12.370360 Response sent (56 bytes) and written to log/14/server.response 19:26:12.370374 special request received, no persistency 19:26:12.370383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 51470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 52 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind52 ==82173== ==82173== Process terminating with default action of signal 4 (SIGILL) ==82173== Illegal opcode at address 0x492B75F ==82173== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82173== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82173== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82173== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82173== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82173== by 0x49908EB: curl_version_info (version.c:600) ==82173== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82173== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82173== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82173== by 0x4003269: main (tool_main.c:195) === End of file valgrind52 test 0053 [HTTP, junk session cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind53 ../src/curl -q --output log/17/curl53.out --include --trace-ascii log/17/trace53 --trace-time 127.0.0.1:35993/want/53 -b log/17/injar53 -j > log/17/stdout53 2> log/17/stderr53 53: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 53 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind53 ../src/curl -q --output log/17/curl53.out --include --trace-ascii log/17/trace53 --trace-time 127.0.0.1:35993/want/53 -b log/17/injar53 -j > log/17/stdout53 2> log/17/stderr53 === End of file commands.log === Start of file http_server.log 19:26:13.386754 ====> Client connect 19:26:13.390121 accept_connection 3 returned 4 19:26:13.390161 Read 93 bytes 19:26:13.390176 Process 93 bytes request 19:26:13.390197 Got request: GET /verifiedserver HTTP/1.1 19:26:13.390206 Are-we-friendly question received 19:26:13.390262 Wrote request (93 bytes) input to log/17/server.input 19:26:13.390286 Identifying ourselves as friends 19:26:13.391618 Response sent (56 bytes) and written to log/17/server.response 19:26:13.391634 special request received, no persistency 19:26:13.391643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 33852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file injar53 127.0.0.1 FALSE / FALSE 22139150993 mooo indeed 127.0.0.1 FALSE / FALSE 0 moo1 indeed 127.0.0.1 FALSE / FALSE 1 moo2 indeed === End of file injar53 === Start of file server.cmd Testnum 53 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind53 ==82206== ==82206== Process terminating with default action of signal 4 (SIGILL) ==82206== Illegal opcode at address 0x492B75F ==82206== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82206== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82206== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82206== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82206== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82206== by 0x49908EB: curl_version_info (version.c:600) ==82206== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82206== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82206== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82206== by 0x4003269: main (tool_main.c:195) === End of file valgrind53 test 0055 [HTTP follow redirect with single slash in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind55 ../src/curl -q --output log/4/curl55.out --include --trace-ascii log/4/trace55 --trace-time http://127.0.0.1:35735/55 -L > log/4/stdout55 2> log/4/stderr55 55: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 55 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind55 ../src/curl -q --output log/4/curl55.out --include --trace-ascii log/4/trace55 --trace-time http://127.0.0.1:35735/55 -L > log/4/stdout55 2> log/4/stderr55 === End of file commands.log === Start of file http_server.log 19:26:13.446733 ====> Client connect 19:26:13.465999 accept_connection 3 returned 4 19:26:13.466059 Read 93 bytes 19:26:13.466070 Process 93 bytes request 19:26:13.466086 Got request: GET /verifiedserver HTTP/1.1 19:26:13.466095 Are-we-friendly question received 19:26:13.466129 Wrote request (93 bytes) input to log/4/server.input 19:26:13.466146 Identifying ourselves as friends 19:26:13.466295 Response sent CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-time http://127.0.0.1:40989/want/54 -L > log/11/stdout54 2> log/11/stderr54 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind60 ../src/curl -q --output log/8/curl60.out --include --trace-ascii log/8/trace60 --trace-time http://127.0.0.1:44467/bzz/60 -T - -H "Content-Length: 1" log/8/stdout60 2> log/8/stderr60 (56 bytes) and written to log/4/server.response 19:26:13.466311 special request received, no persistency 19:26:13.466320 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 46420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 55 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind55 ==82281== ==82281== Process terminating with default action of signal 4 (SIGILL) ==82281== Illegal opcode at address 0x492B75F ==82281== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82281== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82281== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82281== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82281== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82281== by 0x49908EB: curl_version_info (version.c:600) ==82281== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82281== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82281== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82281== by 0x4003269: main (tool_main.c:195) === End of file valgrind55 test 0054 [HTTP with blank Location:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-time http://127.0.0.1:40989/want/54 -L > log/11/stdout54 2> log/11/stderr54 54: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 54 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind54 ../src/curl -q --output log/11/curl54.out --include --trace-ascii log/11/trace54 --trace-time http://127.0.0.1:40989/want/54 -L > log/11/stdout54 2> log/11/stderr54 === End of file commands.log === Start of file http_server.log 19:26:12.383165 ====> Client connect 19:26:12.383204 accept_connection 3 returned 4 19:26:12.383227 Read 93 bytes 19:26:12.383236 Process 93 bytes request 19:26:12.383248 Got request: GET /verifiedserver HTTP/1.1 19:26:12.383256 Are-we-friendly question received 19:26:12.383280 Wrote request (93 bytes) input to log/11/server.input 19:26:12.383295 Identifying ourselves as friends 19:26:12.383407 Response sent (56 bytes) and written to log/11/server.response 19:26:12.383417 special request received, no persistency 19:26:12.383426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 33028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 54 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind54 ==82235== ==82235== Process terminating with default action of signal 4 (SIGILL) ==82235== Illegal opcode at address 0x492B75F ==82235== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82235== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82235== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82235== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82235== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82235== by 0x49908EB: curl_version_info (version.c:600) ==82235== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82235== by 0x4003269: main (tool_main.c:195) === End of file valgrind54 test 0060 [HTTP PUT from stdin with wrong content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind60 ../src/curl -q --output log/8/curl60.out --include --trace-ascii log/8/trace60 --trace-time http://127.0.0.1:44467/bzz/60 -T - -H "Content-Length: 1" log/8/stdout60 2> log/8/stderr60 60: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 60 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind60 ../src/curl -q --output log/8/curl60.out --include --trace-ascii log/8/trace60 --trace-time http://127.0.0.1:44467/bzz/60 -T - -H "Content-Length: 1" log/8/stdout60 2> log/8/stderr60 === End of file commands.log === Start of file http_server.log 19:26:12.781438 ====> Client connect 19:26:12.804939 accept_connection 3 returned 4 19:26:12.804983 Read 93 bytes 19:26:12.804995 Process 93 bytes request 19:26:12.805009 Got request: GET /verifiedserver HTTP/1.1 19:26:12.805018 Are-we-friendly question received 19:26:12.805052 Wrote request (93 bytes) input to log/8/server.input 19:26:12.805070 Identifying ourselves as friends 19:26:12.805167 Response sent (56 bytes) and written to log/8/server.response 19:26:12.805178 special request received, no persistency 19:26:12.805187 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 42276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 60 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file stdin-for-60 more than one byte === End of file stdin-for-60 === Start of file valgrind60 ==82552== ==82552== Process terminating with default action of signal 4 (SIGILL) ==82552== Illegal opcode at address 0x492B75F ==82552== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82552== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82552== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82552== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82552== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82552== by 0x49908EB: curl_version_info (version.c:600) ==82552== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82552== by 0x4003269: main (tool_maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind57 ../src/curl -q --include --trace-ascii log/20/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:33897/57 -o log/20/out57 > log/20/stdout57 2> log/20/stderr57 in.c:195) === End of file valgrind60 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:40913?mooo/59" > log/10/stdout59 2> log/10/stderr59 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind65 ../src/curl -q --output log/24/curl65.out --include --trace-ascii log/24/trace65 --trace-time http://127.0.0.1:38895/65 -u testuser:test2pass --digest > log/24/stdout65 2> log/24/stderr65 test 0057 [HTTP content-type with spaces in] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind57 ../src/curl -q --include --trace-ascii log/20/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:33897/57 -o log/20/out57 > log/20/stdout57 2> log/20/stderr57 57: stdout FAILED: --- log/20/check-expected 2026-10-15 19:26:15.536035028 +0000 +++ log/20/check-generated 2026-10-15 19:26:15.532793493 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/20/ directory after test 57 === Start of file check-expected text/html; charset=ISO-8859-4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind57 ../src/curl -q --include --trace-ascii log/20/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:33897/57 -o log/20/out57 > log/20/stdout57 2> log/20/stderr57 === End of file commands.log === Start of file http_server.log 19:26:12.625730 ====> Client connect 19:26:12.625773 accept_connection 3 returned 4 19:26:12.625799 Read 93 bytes 19:26:12.625811 Process 93 bytes request 19:26:12.625837 Got request: GET /verifiedserver HTTP/1.1 19:26:12.625848 Are-we-friendly question received 19:26:12.625883 Wrote request (93 bytes) input to log/20/server.input 19:26:12.625909 Identifying ourselves as friends 19:26:12.625994 Response sent (56 bytes) and written to log/20/server.response 19:26:12.626008 special request received, no persistency 19:26:12.626017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 57 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind57 ==82333== ==82333== Process terminating with default action of signal 4 (SIGILL) ==82333== Illegal opcode at address 0x492B75F ==82333== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82333== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82333== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82333== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82333== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82333== by 0x49908EB: curl_version_info (version.c:600) ==82333== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82333== by 0x4003269: main (tool_main.c:195) === End of file valgrind57 test 0059 [HTTP URL with slash but with "parameter"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:40913?mooo/59" > log/10/stdout59 2> log/10/stderr59 59: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 59 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind59 ../src/curl -q --output log/10/curl59.out --include --trace-ascii log/10/trace59 --trace-time "http://127.0.0.1:40913?mooo/59" > log/10/stdout59 2> log/10/stderr59 === End of file commands.log === Start of file http_server.log 19:26:12.712649 ====> Client connect 19:26:12.712684 accept_connection 3 returned 4 19:26:12.713286 Read 93 bytes 19:26:12.713300 Process 93 bytes request 19:26:12.713324 Got request: GET /verifiedserver HTTP/1.1 19:26:12.713332 Are-we-friendly question received 19:26:12.713363 Wrote request (93 bytes) input to log/10/server.input 19:26:12.713383 Identifying ourselves as friends 19:26:12.713463 Response sent (56 bytes) and written to log/10/server.response 19:26:12.713473 special request received, no persistency 19:26:12.713481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 46836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 59 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind59 ==82481== ==82481== Process terminating with default action of signal 4 (SIGILL) ==82481== Illegal opcode at address 0x492B75F ==82481== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82481== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82481== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82481== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82481== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82481== by 0x49908EB: curl_version_info (version.c:600) ==82481== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82481== by 0x4003269: main (tool_main.c:195) === End of file valgrind59 test 0065 [HTTP with Digest authorization with bad password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind65 ../src/curl -q --output log/24/curl65.out --include --trace-ascii log/24/trace65 --trace-time http://127.0.0.1:38895/65 -u testuser:test2pass --digest > log/24/stdout65 2> log/24/stderr65 65: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 65 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind65 ../src/curl -q --output log/24/curl65.out --include --trace-ascii log/24/trace65 --trace-time http://127.0.0.1:38895/65 -u testuser:test2pass --digest > log/24/stdout65 2> log/24/stderr65 === End of file commands.log === Start of file http_server.log 19:26:13.423332 ====> Client connect 19:26:13.450443 accept_connection 3 returned 4 19:26:13.456707 Read 93 bytes 19:26:13.456728 Process 93 bytes request 19:26:13.456744 Got request: GET /verifiedserver HTTP/1.1 19:26:13.456752 Are-we-friendly question received 19:26:13.480668 Wrote request (93 bytes) input to log/24/server.input 19:26:13.480718 Identifying ourselves as friends 19:26:13.480834 Response sent (56 bytes) and written to log/24/server.response 19:26:13.480848 special request received, no persistency 19:26:13.480857 ====> Client discCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind62 ../src/curl -q --output log/13/curl62.out --include --trace-ascii log/13/trace62 --trace-time http://127.0.0.1:38821/we/want/62 http://127.0.0.1:38821/we/want/62?hoge=fuga -b log/13/jar62.txt -H "Host: www.host.foo.com" > log/13/stdout62 2> log/13/stderr62 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind63 ../src/curl -q --output log/1/curl63.out --include --trace-ascii log/1/trace63 --trace-time http://we.want.that.site.com/63 > log/1/stdout63 2> log/1/stderr63 onnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 59770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 65 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind65 ==82962== ==82962== Process terminating with default action of signal 4 (SIGILL) ==82962== Illegal opcode at address 0x492B75F ==82962== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82962== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82962== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82962== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82962== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82962== by 0x49908EB: curl_version_info (version.c:600) ==82962== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82962== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82962== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82962== by 0x4003269: main (tool_main.c:195) === End of file valgrind65 test 0062 [HTTP, send cookies when using custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind62 ../src/curl -q --output log/13/curl62.out --include --trace-ascii log/13/trace62 --trace-time http://127.0.0.1:38821/we/want/62 http://127.0.0.1:38821/we/want/62?hoge=fuga -b log/13/jar62.txt -H "Host: www.host.foo.com" > log/13/stdout62 2> log/13/stderr62 62: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 62 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind62 ../src/curl -q --output log/13/curl62.out --include --trace-ascii log/13/trace62 --trace-time http://127.0.0.1:38821/we/want/62 http://127.0.0.1:38821/we/want/62?hoge=fuga -b log/13/jar62.txt -H "Host: www.host.foo.com" > log/13/stdout62 2> log/13/stderr62 === End of file commands.log === Start of file http_server.log 19:26:13.077438 ====> Client connect 19:26:13.100012 accept_connection 3 returned 4 19:26:13.100541 Read 93 bytes 19:26:13.100559 Process 93 bytes request 19:26:13.100577 Got request: GET /verifiedserver HTTP/1.1 19:26:13.100587 Are-we-friendly question received 19:26:13.125967 Wrote request (93 bytes) input to log/13/server.input 19:26:13.126008 Identifying ourselves as friends 19:26:13.140427 Response sent (56 bytes) and written to log/13/server.response 19:26:13.140450 special request received, no persistency 19:26:13.140460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 35798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file jar62.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. #HttpOnly_.foo.com TRUE /we/want/ FALSE 22147483647 test yes .host.foo.com TRUE /we/want/ FALSE 22147483647 test2 yes .fake.host.foo.com TRUE /we/want/ FALSE 22147483647 test4 yes .foo.com TRUE /moo TRUE 0 test3 maybe === End of file jar62.txt === Start of file server.cmd Testnum 62 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind62 ==82769== ==82769== Process terminating with default action of signal 4 (SIGILL) ==82769== Illegal opcode at address 0x492B75F ==82769== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82769== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82769== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82769== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82769== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82769== by 0x49908EB: curl_version_info (version.c:600) ==82769== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82769== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82769== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82769== by 0x4003269: main (tool_main.c:195) === End of file valgrind62 setenv http_proxy = http://fake:user@127.0.0.1:38815/ test 0063 [HTTP with proxy authorization set in environment] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind63 ../src/curl -q --output log/1/curl63.out --include --trace-ascii log/1/trace63 --trace-time http://we.want.that.site.com/63 > log/1/stdout63 2> log/1/stderr63 63: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 63 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind63 ../src/curl -q --output log/1/curl63.out --include --trace-ascii log/1/trace63 --trace-time http://we.want.that.site.com/63 > log/1/stdout63 2> log/1/stderr63 === End of file commands.log === Start of file http_server.log 19:26:14.243679 ====> Client connect 19:26:14.267076 accept_connection 3 returned 4 19:26:14.276964 Read 93 bytes 19:26:14.276986 Process 93 bytes request 19:26:14.277012 Got request: GET /verifiedserver HTTP/1.1 19:26:14.277021 Are-we-friendly question received 19:26:14.283643 Wrote request (93 bytes) input to log/1/server.input 19:26:14.283702 Identifying ourselves as friends 19:26:14.283827 Response sent (56 bytes) and written to log/1/server.response 19:26:14.283842 special request received, no persistency 19:26:14.283851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 55698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 63 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind63 ==82762== ==82762== Process terminating with default action of signal 4 (SIGILL) ==82762== Illegal opcode at address 0x492B75F ==82762== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82762== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82762== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82762== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82762CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind58 ../src/curl -q --output log/2/curl58.out --include --trace-ascii log/2/trace58 --trace-time http://127.0.0.1:34531/we/want/ -T log/2/58te[]st.txt -g > log/2/stdout58 2> log/2/stderr58 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind56 ../src/curl -q --output log/6/curl56.out --include --trace-ascii log/6/trace56 --trace-time -K - 127.0.0.1:33935/that.site.com/56 log/6/stdout56 2> log/6/stderr56 == by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82762== by 0x49908EB: curl_version_info (version.c:600) ==82762== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82762== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82762== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82762== by 0x4003269: main (tool_main.c:195) === End of file valgrind63 test 0058 [HTTP PUT from file with weird letters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind58 ../src/curl -q --output log/2/curl58.out --include --trace-ascii log/2/trace58 --trace-time http://127.0.0.1:34531/we/want/ -T log/2/58te[]st.txt -g > log/2/stdout58 2> log/2/stderr58 58: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 58 === Start of file 58te[]st.txt a few bytes === End of file 58te[]st.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind58 ../src/curl -q --output log/2/curl58.out --include --trace-ascii log/2/trace58 --trace-time http://127.0.0.1:34531/we/want/ -T log/2/58te[]st.txt -g > log/2/stdout58 2> log/2/stderr58 === End of file commands.log === Start of file http_server.log 19:26:13.773503 ====> Client connect 19:26:13.786872 accept_connection 3 returned 4 19:26:13.786931 Read 93 bytes 19:26:13.786941 Process 93 bytes request 19:26:13.786971 Got request: GET /verifiedserver HTTP/1.1 19:26:13.786985 Are-we-friendly question received 19:26:13.787028 Wrote request (93 bytes) input to log/2/server.input 19:26:13.787049 Identifying ourselves as friends 19:26:13.787155 Response sent (56 bytes) and written to log/2/server.response 19:26:13.787168 special request received, no persistency 19:26:13.787176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 37652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 58 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind58 ==82564== ==82564== Process terminating with default action of signal 4 (SIGILL) ==82564== Illegal opcode at address 0x492B75F ==82564== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82564== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82564== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82564== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82564== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82564== by 0x49908EB: curl_version_info (version.c:600) ==82564== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82564== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82564== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82564== by 0x4003269: main (tool_main.c:195) === End of file valgrind58 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/6/server/http_server.pid" --logfile "log/6/http_server.log" --logdir "log/6" --portfile log/6/server/http_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 82167 port 33935 * pid http => 82167 82167 test 0056 [HTTP POST with *HUGE* request and chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind56 ../src/curl -q --output log/6/curl56.out --include --trace-ascii log/6/trace56 --trace-time -K - 127.0.0.1:33935/that.site.com/56 log/6/stdout56 2> log/6/stderr56 56: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 56 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind56 ../src/curl -q --output log/6/curl56.out --include --trace-ascii log/6/trace56 --trace-time -K - 127.0.0.1:33935/that.site.com/56 log/6/stdout56 2> log/6/stderr56 === End of file commands.log === Start of file http_server.log 19:26:12.491091 Running HTTP IPv4 version on port 33935 19:26:12.540274 Wrote pid 82167 to log/6/server/http_server.pid 19:26:12.566789 Wrote port 33935 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 56 === End of file server.cmd === Start of file stdin-for-56 data "we post this" # enforce chunky post header "Transfer-Encoding: chunked" # Set the user-agent using a short-option: -A "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind72 ../src/curl -q --output log/12/curl72.out --include --trace-ascii log/12/trace72 --trace-time http://127.0.0.1:40921/72 -u testuser:testpass --anyauth > log/12/stdout72 2> log/12/stderr72 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" === End of file stdin-for-56 === Start of file valgrind56 ==82958== ==82958== Process terminating with default action of signal 4 (SIGILL) ==82958== Illegal opcode at address 0x492B75F ==82958== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82958== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82958== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82958== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82958== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82958== by 0x49908EB: curl_version_info (version.c:600) ==82958== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82958== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82958== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82958== by 0x4003269: main (tool_main.c:195) === End of file valgrind56 test 0072 [HTTP with Digest *OR* BasiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind51 ../src/curl -q --output log/5/curl51.out --include --trace-ascii log/5/trace51 --trace-time http://127.0.0.1:37089/we/are/all/twits/51 -L > log/5/stdout51 2> log/5/stderr51 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind64 ../src/curl -q --output log/18/curl64.out --include --trace-ascii log/18/trace64 --trace-time 'http://127.0.0.1:43739/64"' -u testuser:testpass --digest > log/18/stdout64 2> log/18/stderr64 c authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind72 ../src/curl -q --output log/12/curl72.out --include --trace-ascii log/12/trace72 --trace-time http://127.0.0.1:40921/72 -u testuser:testpass --anyauth > log/12/stdout72 2> log/12/stderr72 72: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 72 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind72 ../src/curl -q --output log/12/curl72.out --include --trace-ascii log/12/trace72 --trace-time http://127.0.0.1:40921/72 -u testuser:testpass --anyauth > log/12/stdout72 2> log/12/stderr72 === End of file commands.log === Start of file http_server.log 19:26:13.823792 ====> Client connect 19:26:13.823836 accept_connection 3 returned 4 19:26:13.823863 Read 93 bytes 19:26:13.823876 Process 93 bytes request 19:26:13.823897 Got request: GET /verifiedserver HTTP/1.1 19:26:13.823906 Are-we-friendly question received 19:26:13.823939 Wrote request (93 bytes) input to log/12/server.input 19:26:13.823959 Identifying ourselves as friends 19:26:13.824043 Response sent (56 bytes) and written to log/12/server.response 19:26:13.824055 special request received, no persistency 19:26:13.824064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 51882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 72 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind72 ==83151== ==83151== Process terminating with default action of signal 4 (SIGILL) ==83151== Illegal opcode at address 0x492B75F ==83151== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83151== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83151== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83151== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83151== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83151== by 0x49908EB: curl_version_info (version.c:600) ==83151== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83151== by 0x4003269: main (tool_main.c:195) === End of file valgrind72 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_server.pid" --logfile "log/5/http_server.log" --logdir "log/5" --portfile log/5/server/http_server.port --config log/5/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 81869 port 37089 * pid http => 81869 81869 test 0051 [HTTP follow redirect with excessive ../] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind51 ../src/curl -q --output log/5/curl51.out --include --trace-ascii log/5/trace51 --trace-time http://127.0.0.1:37089/we/are/all/twits/51 -L > log/5/stdout51 2> log/5/stderr51 51: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 51 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind51 ../src/curl -q --output log/5/curl51.out --include --trace-ascii log/5/trace51 --trace-time http://127.0.0.1:37089/we/are/all/twits/51 -L > log/5/stdout51 2> log/5/stderr51 === End of file commands.log === Start of file http_server.log 19:26:12.293118 Running HTTP IPv4 version on port 37089 19:26:12.293243 Wrote pid 81869 to log/5/server/http_server.pid 19:26:12.293285 Wrote port 37089 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 51 === End of file server.cmd === Start of file valgrind51 ==82736== ==82736== Process terminating with default action of signal 4 (SIGILL) ==82736== Illegal opcode at address 0x492B75F ==82736== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82736== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82736== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82736== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82736== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82736== by 0x49908EB: curl_version_info (version.c:600) ==82736== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82736== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82736== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82736== by 0x4003269: main (tool_main.c:195) === End of file valgrind51 test 0064 [HTTP with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind64 ../src/curl -q --output log/18/curl64.out --include --trace-ascii log/18/trace64 --trace-time 'http://127.0.0.1:43739/64"' -u testuser:testpass --digest > log/18/stdout64 2> log/18/stderr64 64: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 64 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind64 ../src/curl -q --output log/18/curl64.out --include --trace-ascii log/18/trace64 --trace-time 'http://127.0.0.1:43739/64"' -u testuser:testpass --digest > log/18/stdout64 2> log/18/stderr64 === End of file commands.log === Start of file http_server.log 19:26:14.206960 ====> Client connect 19:26:14.207168 accept_connection 3 returned 4 19:26:14.213753 Read 93 bytes 19:26:14.213775 Process 93 bytes request 19:26:14.213805 Got request: GET /verifiedserver HTTP/1.1 19:26:14.213815 Are-we-friendly question received 19:26:14.213859 Wrote request (93 bytes) input to log/18/server.input 19:26:14.213883 Identifying ourselves as friends 19:26:14.213989 Response sent (56 bytes) and written to log/18/server.response 19:26:14.214000 special request received, no persistency 19:26:14.214008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 53534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 64 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind64 ==82757=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind66 ../src/curl -q --output log/19/curl66.out --include --trace-ascii log/19/trace66 --trace-time http://127.0.0.1:46497/66 --http0.9 > log/19/stdout66 2> log/19/stderr66 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind75 ../src/curl -q --include --trace-ascii log/21/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/21/weee#1.dump" --stderr - > log/21/stdout75 2> log/21/stderr75 = ==82757== Process terminating with default action of signal 4 (SIGILL) ==82757== Illegal opcode at address 0x492B75F ==82757== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==82757== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==82757== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==82757== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==82757== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==82757== by 0x49908EB: curl_version_info (version.c:600) ==82757== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==82757== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==82757== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==82757== by 0x4003269: main (tool_main.c:195) === End of file valgrind64 test 0066 [HTTP GET without headers in the response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind66 ../src/curl -q --output log/19/curl66.out --include --trace-ascii log/19/trace66 --trace-time http://127.0.0.1:46497/66 --http0.9 > log/19/stdout66 2> log/19/stderr66 66: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 66 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind66 ../src/curl -q --output log/19/curl66.out --include --trace-ascii log/19/trace66 --trace-time http://127.0.0.1:46497/66 --http0.9 > log/19/stdout66 2> log/19/stderr66 === End of file commands.log === Start of file http_server.log 19:26:13.739936 ====> Client connect 19:26:13.739974 accept_connection 3 returned 4 19:26:13.739996 Read 93 bytes 19:26:13.740007 Process 93 bytes request 19:26:13.740019 Got request: GET /verifiedserver HTTP/1.1 19:26:13.740027 Are-we-friendly question received 19:26:13.740062 Wrote request (93 bytes) input to log/19/server.input 19:26:13.740080 Identifying ourselves as friends 19:26:13.740150 Response sent (56 bytes) and written to log/19/server.response 19:26:13.740160 special request received, no persistency 19:26:13.740169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 38028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 66 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind66 ==83058== ==83058== Process terminating with default action of signal 4 (SIGILL) ==83058== Illegal opcode at address 0x492B75F ==83058== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83058== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83058== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83058== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83058== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83058== by 0x49908EB: curl_version_info (version.c:600) ==83058== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83058== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83058== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83058== by 0x4003269: main (tool_main.c:195) === End of file valgrind66 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind74 ../src/curl -q --include --trace-ascii log/9/trace74 --trace-time "http://127.0.0.1:43733/{74,740001}" -o "log/9/dumpit#1.dump" > log/9/stdout74 2> log/9/stderr74 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind77 ../src/curl -q --output log/16/curl77.out --include --trace-ascii log/16/trace77 --trace-time http://127.0.0.1:35903/77 -z "dec 12 12:00:00 1999 GMT" > log/16/stdout77 2> log/16/stderr77 test 0075 [HTTP, urlglob retrieval with bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind75 ../src/curl -q --include --trace-ascii log/21/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/21/weee#1.dump" --stderr - > log/21/stdout75 2> log/21/stderr75 75: stdout FAILED: --- log/21/check-expected 2026-10-15 19:26:16.829330027 +0000 +++ log/21/check-generated 2026-10-15 19:26:16.825791019 +0000 @@ -1,3 +0,0 @@ -curl: (3) bad range in position 47:[CR][LF] -http://a-site-never-accessed.example.org/[2-1][CR][LF] - ^[CR][LF] == Contents of files in the log/21/ directory after test 75 === Start of file check-expected curl: (3) bad range in position 47:[CR][LF] http://a-site-never-accessed.example.org/[2-1][CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind75 ../src/curl -q --include --trace-ascii log/21/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/21/weee#1.dump" --stderr - > log/21/stdout75 2> log/21/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==83341== ==83341== Process terminating with default action of signal 4 (SIGILL) ==83341== Illegal opcode at address 0x492B75F ==83341== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83341== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83341== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83341== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83341== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83341== by 0x49908EB: curl_version_info (version.c:600) ==83341== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83341== by 0x4003269: main (tool_main.c:195) === End of file valgrind75 test 0074 [HTTP, urlglob {}-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind74 ../src/curl -q --include --trace-ascii log/9/trace74 --trace-time "http://127.0.0.1:43733/{74,740001}" -o "log/9/dumpit#1.dump" > log/9/stdout74 2> log/9/stderr74 74: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 74 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind74 ../src/curl -q --include --trace-ascii log/9/trace74 --trace-time "http://127.0.0.1:43733/{74,740001}" -o "log/9/dumpit#1.dump" > log/9/stdout74 2> log/9/stderr74 === End of file commands.log === Start of file http_server.log 19:26:14.205190 ====> Client connect 19:26:14.205229 accept_connection 3 returned 4 19:26:14.205408 Read 93 bytes 19:26:14.205425 Process 93 bytes request 19:26:14.205439 Got request: GET /verifiedserver HTTP/1.1 19:26:14.205449 Are-we-friendly question received 19:26:14.205485 Wrote request (93 bytes) input to log/9/server.input 19:26:14.205504 Identifying ourselves as friends 19:26:14.205574 Response sent (56 bytes) and written to log/9/server.response 19:26:14.205586 special request received, no persistency 19:26:14.205595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 39296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 74 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind74 ==83386== ==83386== Process terminating with default action of signal 4 (SIGILL) ==83386== Illegal opcode at address 0x492B75F ==83386== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83386== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83386== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83386== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83386== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83386== by 0x49908EB: curl_version_info (version.c:600) ==83386== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83386== by 0x4003269: main (tool_main.c:195) === End of file valgrind74 test 0077 [HTTP with -z "older date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind77 ../src/curl -q --output log/16/curl77.out --include --trace-ascii log/16/trace77 --trace-time http://127.0.0.1:35903/77 -z "dec 12 12:00:00 1999 GMT" > log/16/stdout77 2> log/16/stderr77 77: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 77 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind77 ../src/curl -q --output log/16/curl77.out --include --trace-ascii log/16/trace77 --trace-time http://127.0.0.1:35903/77 -z "dec 12 12:00:00 1999 GMT" > log/16/stdout77 2> log/16/stderr77 === End of file commands.log === Start of file http_server.log 19:26:15.263179 ====> Client connect 19:26:15.263213 accept_connection 3 returned 4 19:26:15.269858 Read 93 bytes 19:26:15.269882 Process 93 bytes request 19:26:15.269894 Got request: GET /verifiedserver HTTP/1.1 19:26:15.269903 Are-we-friendly question received 19:26:15.269946 Wrote request (93 bytes) input to log/16/server.input 19:26:15.269975 Identifying ourselves as friends 19:26:15.270037 Response sent (56 bytes) and written to log/16/server.response 19:26:15.270047 special request received, no persistency 19:26:15.270056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 36626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 77 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind77 ==83447== ==83447== Process terminating with default action of signal 4 (SIGILL) ==83447== Illegal opcode at address 0x492B75F ==83447== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83447== by 0x492C53A: curl_mvsnprintf (mpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:36161/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind71 ../src/curl -q --output log/23/curl71.out --include --trace-ascii log/23/trace71 --trace-time http://127.0.0.1:44711/we/want/71 -K - log/23/stdout71 2> log/23/stderr71 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:35989/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 rintf.c:1257) ==83447== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83447== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83447== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83447== by 0x49908EB: curl_version_info (version.c:600) ==83447== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83447== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83447== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83447== by 0x4003269: main (tool_main.c:195) === End of file valgrind77 test 0071 [HTTP and -F upload in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind71 ../src/curl -q --output log/23/curl71.out --include --trace-ascii log/23/trace71 --trace-time http://127.0.0.1:44711/we/want/71 -K - log/23/stdout71 2> log/23/stderr71 71: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 71 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind71 ../src/curl -q --output log/23/curl71.out --include --trace-ascii log/23/trace71 --trace-time http://127.0.0.1:44711/we/want/71 -K - log/23/stdout71 2> log/23/stderr71 === End of file commands.log === Start of file http_server.log 19:26:13.723779 ====> Client connect 19:26:13.723820 accept_connection 3 returned 4 19:26:13.723844 Read 93 bytes 19:26:13.723854 Process 93 bytes request 19:26:13.723867 Got request: GET /verifiedserver HTTP/1.1 19:26:13.723875 Are-we-friendly question received 19:26:13.723901 Wrote request (93 bytes) input to log/23/server.input 19:26:13.723917 Identifying ourselves as friends 19:26:13.724005 Response sent (56 bytes) and written to log/23/server.response 19:26:13.724016 special request received, no persistency 19:26:13.724024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 49680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 71 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/23/test71.txt user-agent = "" === End of file stdin-for-71 === Start of file test71.txt foo- This is a moo- bar === End of file test71.txt === Start of file valgrind71 ==83060== ==83060== Process terminating with default action of signal 4 (SIGILL) ==83060== Illegal opcode at address 0x492B75F ==83060== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83060== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83060== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83060== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83060== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83060== by 0x49908EB: curl_version_info (version.c:600) ==83060== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83060== by 0x4003269: main (tool_main.c:195) === End of file valgrind71 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_server.pid" --logfile "log/3/http_server.log" --logdir "log/3" --portfile log/3/server/http_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 82533 port 36161 * pid http => 82533 82533 setenv TZ = GMT test 0061 [HTTP with various cookies and custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:36161/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 61: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 61 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind61 ../src/curl -q --output log/3/curl61.out --include --trace-ascii log/3/trace61 --trace-time http://127.0.0.1:36161/we/want/61 -c log/3/jar61.txt -H "Host: www.host.foo.com" > log/3/stdout61 2> log/3/stderr61 === End of file commands.log === Start of file http_server.log 19:26:13.982399 Running HTTP IPv4 version on port 36161 19:26:14.010272 Wrote pid 82533 to log/3/server/http_server.pid 19:26:14.010577 Wrote port 36161 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 61 === End of file server.cmd === Start of file valgrind61 ==83236== ==83236== Process terminating with default action of signal 4 (SIGILL) ==83236== Illegal opcode at address 0x492B75F ==83236== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83236== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83236== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83236== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83236== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83236== by 0x49908EB: curl_version_info (version.c:600) ==83236== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83236== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83236== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83236== by 0x4003269: main (tool_main.c:195) === End of file valgrind61 test 0073 [HTTP cookies when using custom Host:, domain using only two dots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:35989/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 73: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 73 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind73 ../src/curl -q --output log/22/curl73.out --include --trace-ascii log/22/trace73 --trace-time http://127.0.0.1:35989/we/want/73 -c log/22/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/22/stdout73 2> log/22/stderr73 === End of file commands.log === Start of file http_server.log 19:26:14.169700 ====> Client connect 19:26:14.169733 accept_connection 3 returned 4 19:26:14.169755 Read 93 bytes 19:26:14.169766 Process 93 bytes request 19:26:14.169779 Got request: GET /verifiedserver HTTP/1.1 19:26:14.169788 Are-we-friendly question received 19:26:14.169814 Wrote request (93 bytes) input to log/22/server.input 19:26:14.169831 Identifying ourselves as friends 19:26:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind78 ../src/curl -q --output log/7/curl78.out --include --trace-ascii log/7/trace78 --trace-time http://127.0.0.1:40859/78 -z "dec 12 11:00:00 1999 GMT" > log/7/stdout78 2> log/7/stderr78 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:40321/we/want/that/page/79 -x 127.0.0.1:40321 > log/15/stdout79 2> log/15/stderr79 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:35993/82 --proxy-user testuser:testpass -x http://127.0.0.1:35993 > log/17/stdout82 2> log/17/stderr82 4.169894 Response sent (56 bytes) and written to log/22/server.response 19:26:14.169903 special request received, no persistency 19:26:14.169912 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 54706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 73 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind73 ==83356== ==83356== Process terminating with default action of signal 4 (SIGILL) ==83356== Illegal opcode at address 0x492B75F ==83356== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83356== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83356== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83356== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83356== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83356== by 0x49908EB: curl_version_info (version.c:600) ==83356== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83356== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83356== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83356== by 0x4003269: main (tool_main.c:195) === End of file valgrind73 test 0078 [HTTP with -z "newer date"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind78 ../src/curl -q --output log/7/curl78.out --include --trace-ascii log/7/trace78 --trace-time http://127.0.0.1:40859/78 -z "dec 12 11:00:00 1999 GMT" > log/7/stdout78 2> log/7/stderr78 78: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 78 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind78 ../src/curl -q --output log/7/curl78.out --include --trace-ascii log/7/trace78 --trace-time http://127.0.0.1:40859/78 -z "dec 12 11:00:00 1999 GMT" > log/7/stdout78 2> log/7/stderr78 === End of file commands.log === Start of file http_server.log 19:26:14.458061 ====> Client connect 19:26:14.458096 accept_connection 3 returned 4 19:26:14.458117 Read 93 bytes 19:26:14.458127 Process 93 bytes request 19:26:14.458140 Got request: GET /verifiedserver HTTP/1.1 19:26:14.458149 Are-we-friendly question received 19:26:14.458175 Wrote request (93 bytes) input to log/7/server.input 19:26:14.458191 Identifying ourselves as friends 19:26:14.458252 Response sent (56 bytes) and written to log/7/server.response 19:26:14.458261 special request received, no persistency 19:26:14.458269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 44836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 78 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind78 ==83568== ==83568== Process terminating with default action of signal 4 (SIGILL) ==83568== Illegal opcode at address 0x492B75F ==83568== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83568== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83568== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83568== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83568== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83568== by 0x49908EB: curl_version_info (version.c:600) ==83568== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83568== by 0x4003269: main (tool_main.c:195) === End of file valgrind78 test 0079 [FTP over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:40321/we/want/that/page/79 -x 127.0.0.1:40321 > log/15/stdout79 2> log/15/stderr79 79: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 79 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:40321/we/want/that/page/79 -x 127.0.0.1:40321 > log/15/stdout79 2> log/15/stderr79 === End of file commands.log === Start of file http_server.log 19:26:15.517406 ====> Client connect 19:26:15.517448 accept_connection 3 returned 4 19:26:15.517473 Read 93 bytes 19:26:15.517482 Process 93 bytes request 19:26:15.517495 Got request: GET /verifiedserver HTTP/1.1 19:26:15.517504 Are-we-friendly question received 19:26:15.517529 Wrote request (93 bytes) input to log/15/server.input 19:26:15.517544 Identifying ourselves as friends 19:26:15.517627 Response sent (56 bytes) and written to log/15/server.response 19:26:15.517637 special request received, no persistency 19:26:15.517645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 34750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 79 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind79 ==83624== ==83624== Process terminating with default action of signal 4 (SIGILL) ==83624== Illegal opcode at address 0x492B75F ==83624== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83624== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83624== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83624== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83624== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83624== by 0x49908EB: curl_version_info (version.c:600) ==83624== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83624== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83624== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83624== by 0x4003269: main (tool_main.c:195) === End of file valgrind79 test 0082 [HTTP with proxy requirCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind84 ../src/curl -q --output log/11/curl84.out --include --trace-ascii log/11/trace84 --trace-time http://127.0.0.1:40989/we/want/that/page/84 -x 127.0.0.1:40989 --user iam:myself > log/11/stdout84 2> log/11/stderr84 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind85 ../src/curl -q --output log/8/curl85.out --include --trace-ascii log/8/trace85 --trace-time http://127.0.0.1:44467/we/want/that/page/85 -x 127.0.0.1:44467 --user iam:myself --proxy-user testing:this > log/8/stdout85 2> log/8/stderr85 ing NTLM, but we send Basic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:35993/82 --proxy-user testuser:testpass -x http://127.0.0.1:35993 > log/17/stdout82 2> log/17/stderr82 82: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 82 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind82 ../src/curl -q --output log/17/curl82.out --include --trace-ascii log/17/trace82 --trace-time http://127.0.0.1:35993/82 --proxy-user testuser:testpass -x http://127.0.0.1:35993 > log/17/stdout82 2> log/17/stderr82 === End of file commands.log === Start of file http_server.log 19:26:15.977795 ====> Client connect 19:26:15.977832 accept_connection 3 returned 4 19:26:15.977855 Read 93 bytes 19:26:15.977865 Process 93 bytes request 19:26:15.977879 Got request: GET /verifiedserver HTTP/1.1 19:26:15.977888 Are-we-friendly question received 19:26:15.977917 Wrote request (93 bytes) input to log/17/server.input 19:26:15.977935 Identifying ourselves as friends 19:26:15.978005 Response sent (56 bytes) and written to log/17/server.response 19:26:15.978016 special request received, no persistency 19:26:15.978025 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 33868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 82 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind82 ==83755== ==83755== Process terminating with default action of signal 4 (SIGILL) ==83755== Illegal opcode at address 0x492B75F ==83755== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83755== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83755== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83755== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83755== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83755== by 0x49908EB: curl_version_info (version.c:600) ==83755== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83755== by 0x4003269: main (tool_main.c:195) === End of file valgrind82 test 0084 [HTTP over proxy with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind84 ../src/curl -q --output log/11/curl84.out --include --trace-ascii log/11/trace84 --trace-time http://127.0.0.1:40989/we/want/that/page/84 -x 127.0.0.1:40989 --user iam:myself > log/11/stdout84 2> log/11/stderr84 84: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 84 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind84 ../src/curl -q --output log/11/curl84.out --include --trace-ascii log/11/trace84 --trace-time http://127.0.0.1:40989/we/want/that/page/84 -x 127.0.0.1:40989 --user iam:myself > log/11/stdout84 2> log/11/stderr84 === End of file commands.log === Start of file http_server.log 19:26:15.190061 ====> Client connect 19:26:15.190096 accept_connection 3 returned 4 19:26:15.190120 Read 93 bytes 19:26:15.190130 Process 93 bytes request 19:26:15.190142 Got request: GET /verifiedserver HTTP/1.1 19:26:15.190151 Are-we-friendly question received 19:26:15.190178 Wrote request (93 bytes) input to log/11/server.input 19:26:15.190194 Identifying ourselves as friends 19:26:15.190258 Response sent (56 bytes) and written to log/11/server.response 19:26:15.190268 special request received, no persistency 19:26:15.190277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 33034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 84 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind84 ==83866== ==83866== Process terminating with default action of signal 4 (SIGILL) ==83866== Illegal opcode at address 0x492B75F ==83866== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83866== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83866== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83866== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83866== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83866== by 0x49908EB: curl_version_info (version.c:600) ==83866== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83866== by 0x4003269: main (tool_main.c:195) === End of file valgrind84 test 0085 [HTTP over proxy with site and proxy authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind85 ../src/curl -q --output log/8/curl85.out --include --trace-ascii log/8/trace85 --trace-time http://127.0.0.1:44467/we/want/that/page/85 -x 127.0.0.1:44467 --user iam:myself --proxy-user testing:this > log/8/stdout85 2> log/8/stderr85 85: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 85 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind85 ../src/curl -q --output log/8/curl85.out --include --trace-ascii log/8/trace85 --trace-time http://127.0.0.1:44467/we/want/that/page/85 -x 127.0.0.1:44467 --user iam:myself --proxy-user testing:this > log/8/stdout85 2> log/8/stderr85 === End of file commands.log === Start of file http_server.log 19:26:15.194686 ====> Client connect 19:26:15.194722 accept_connection 3 returned 4 19:26:15.194742 Read 93 bytes 19:26:15.194751 Process 93 bytes request 19:26:15.194762 Got request: GET /verifiedserver HTTP/1.1 19:26:15.194771 Are-we-friendly question received 19:26:15.194795 Wrote request (93 bytes) input to log/8/server.input 19:26:15.194811 Identifying ourselves as friends 19:26:15.194869 Response sent (56 bytes) and written to log/8/server.responseCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind86 ../src/curl -q --include --trace-ascii log/20/trace86 --trace-time "http://127.0.0.1:33897/[860001-860003]" -o "log/20/dumpit#1.dump" > log/20/stdout86 2> log/20/stderr86 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind93 ../src/curl -q --output log/1/curl93.out --include --trace-ascii log/1/trace93 --trace-time http://127.0.0.1:38815/93 -x 127.0.0.1:38815 > log/1/stdout93 2> log/1/stderr93 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind92 ../src/curl -q --output log/13/curl92.out --include --trace-ascii log/13/trace92 --trace-time http://127.0.0.1:38821/want/92 -C 87 > log/13/stdout92 2> log/13/stderr92 19:26:15.194878 special request received, no persistency 19:26:15.194886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 42284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 85 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind85 ==83870== ==83870== Process terminating with default action of signal 4 (SIGILL) ==83870== Illegal opcode at address 0x492B75F ==83870== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83870== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83870== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83870== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83870== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83870== by 0x49908EB: curl_version_info (version.c:600) ==83870== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83870== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83870== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83870== by 0x4003269: main (tool_main.c:195) === End of file valgrind85 test 0086 [HTTP, urlglob []-retrieval and -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind86 ../src/curl -q --include --trace-ascii log/20/trace86 --trace-time "http://127.0.0.1:33897/[860001-860003]" -o "log/20/dumpit#1.dump" > log/20/stdout86 2> log/20/stderr86 86: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 86 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind86 ../src/curl -q --include --trace-ascii log/20/trace86 --trace-time "http://127.0.0.1:33897/[860001-860003]" -o "log/20/dumpit#1.dump" > log/20/stdout86 2> log/20/stderr86 === End of file commands.log === Start of file http_server.log 19:26:15.184146 ====> Client connect 19:26:15.184188 accept_connection 3 returned 4 19:26:15.184214 Read 93 bytes 19:26:15.184226 Process 93 bytes request 19:26:15.184239 Got request: GET /verifiedserver HTTP/1.1 19:26:15.184247 Are-we-friendly question received 19:26:15.184278 Wrote request (93 bytes) input to log/20/server.input 19:26:15.184297 Identifying ourselves as friends 19:26:15.184373 Response sent (56 bytes) and written to log/20/server.response 19:26:15.184386 special request received, no persistency 19:26:15.184394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 86 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind86 ==83863== ==83863== Process terminating with default action of signal 4 (SIGILL) ==83863== Illegal opcode at address 0x492B75F ==83863== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==83863== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==83863== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==83863== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==83863== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==83863== by 0x49908EB: curl_version_info (version.c:600) ==83863== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==83863== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==83863== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==83863== by 0x4003269: main (tool_main.c:195) === End of file valgrind86 test 0093 [HTTP GET with failed proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind93 ../src/curl -q --output log/1/curl93.out --include --trace-ascii log/1/trace93 --trace-time http://127.0.0.1:38815/93 -x 127.0.0.1:38815 > log/1/stdout93 2> log/1/stderr93 93: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 93 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind93 ../src/curl -q --output log/1/curl93.out --include --trace-ascii log/1/trace93 --trace-time http://127.0.0.1:38815/93 -x 127.0.0.1:38815 > log/1/stdout93 2> log/1/stderr93 === End of file commands.log === Start of file http_server.log 19:26:16.647913 ====> Client connect 19:26:16.647958 accept_connection 3 returned 4 19:26:16.647986 Read 93 bytes 19:26:16.647998 Process 93 bytes request 19:26:16.648012 Got request: GET /verifiedserver HTTP/1.1 19:26:16.648022 Are-we-friendly question received 19:26:16.648054 Wrote request (93 bytes) input to log/1/server.input 19:26:16.648074 Identifying ourselves as friends 19:26:16.648147 Response sent (56 bytes) and written to log/1/server.response 19:26:16.648160 special request received, no persistency 19:26:16.648169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 55702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 93 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind93 ==84201== ==84201== Process terminating with default action of signal 4 (SIGILL) ==84201== Illegal opcode at address 0x492B75F ==84201== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84201== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84201== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84201== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84201== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84201== by 0x49908EB: curl_version_info (version.c:600) ==84201== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84201== by 0x4003269: main (tool_main.c:195) === End of file valgrind93 test 0092 [HTTP resume transfer with the whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quietCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind80 ../src/curl -q --output log/14/curl80.out --include --trace-ascii log/14/trace80 --trace-time http://test.80:45467/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37729 --user iam:myself --proxy-user youare:yourself -A "" > log/14/stdout80 2> log/14/stderr80 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-time http://127.0.0.1:38895/88 -T log/24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind92 ../src/curl -q --output log/13/curl92.out --include --trace-ascii log/13/trace92 --trace-time http://127.0.0.1:38821/want/92 -C 87 > log/13/stdout92 2> log/13/stderr92 92: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 92 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind92 ../src/curl -q --output log/13/curl92.out --include --trace-ascii log/13/trace92 --trace-time http://127.0.0.1:38821/want/92 -C 87 > log/13/stdout92 2> log/13/stderr92 === End of file commands.log === Start of file http_server.log 19:26:15.584393 ====> Client connect 19:26:15.584434 accept_connection 3 returned 4 19:26:15.584458 Read 93 bytes 19:26:15.584468 Process 93 bytes request 19:26:15.584481 Got request: GET /verifiedserver HTTP/1.1 19:26:15.584490 Are-we-friendly question received 19:26:15.584521 Wrote request (93 bytes) input to log/13/server.input 19:26:15.584538 Identifying ourselves as friends 19:26:15.584612 Response sent (56 bytes) and written to log/13/server.response 19:26:15.584623 special request received, no persistency 19:26:15.584631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 35800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 92 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind92 ==84159== ==84159== Process terminating with default action of signal 4 (SIGILL) ==84159== Illegal opcode at address 0x492B75F ==84159== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84159== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84159== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84159== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84159== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84159== by 0x49908EB: curl_version_info (version.c:600) ==84159== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84159== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84159== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84159== by 0x4003269: main (tool_main.c:195) === End of file valgrind92 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/14/server/http2_server.pid" --logfile "log/14/http2_server.log" --logdir "log/14" --portfile log/14/server/http2_server.port --config log/14/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 83621 port 37729 * pid http-proxy => 83621 83621 test 0080 [HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind80 ../src/curl -q --output log/14/curl80.out --include --trace-ascii log/14/trace80 --trace-time http://test.80:45467/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37729 --user iam:myself --proxy-user youare:yourself -A "" > log/14/stdout80 2> log/14/stderr80 80: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 80 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind80 ../src/curl -q --output log/14/curl80.out --include --trace-ascii log/14/trace80 --trace-time http://test.80:45467/we/want/that/page/80 -p --proxy1.0 127.0.0.1:37729 --user iam:myself --proxy-user youare:yourself -A "" > log/14/stdout80 2> log/14/stderr80 === End of file commands.log === Start of file http2_server.log 19:26:14.573659 Run as proxy, CONNECT to host 127.0.0.1 19:26:14.573788 Running HTTP IPv4 version on port 37729 19:26:14.573831 Wrote pid 83621 to log/14/server/http2_server.pid 19:26:14.573860 Wrote port 37729 to log/14/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:26:14.530128 ====> Client connect 19:26:14.530167 accept_connection 3 returned 4 19:26:14.530191 Read 93 bytes 19:26:14.530202 Process 93 bytes request 19:26:14.530216 Got request: GET /verifiedserver HTTP/1.1 19:26:14.530226 Are-we-friendly question received 19:26:14.530258 Wrote request (93 bytes) input to log/14/server.input 19:26:14.530277 Identifying ourselves as friends 19:26:14.530351 Response sent (56 bytes) and written to log/14/server.response 19:26:14.530364 special request received, no persistency 19:26:14.530373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 51478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 80 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind80 ==84089== ==84089== Process terminating with default action of signal 4 (SIGILL) ==84089== Illegal opcode at address 0x492B75F ==84089== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84089== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84089== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84089== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84089== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84089== by 0x49908EB: curl_version_info (version.c:600) ==84089== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84089== by 0x4003269: main (tool_main.c:195) === End of file valgrind80 test 0088 [HTTP PUT with Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-time http://127.0.0.1:38895/88 -T log/24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 88: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 88 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind88 ../src/curl -q --output log/24/curl88.out --include --trace-ascii log/24/trace88 --trace-time http://127.0.0.1:38895/88 -T log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind87 ../src/curl -q --include --trace-ascii log/10/trace87 --trace-time "http://127.0.0.1:40913/[870001-870002]" -o "log/10/dumpit87-#2.dump" > log/10/stdout87 2> log/10/stderr87 24/put88 -u testuser:testpass --digest > log/24/stdout88 2> log/24/stderr88 === End of file commands.log === Start of file http_server.log 19:26:15.634243 ====> Client connect 19:26:15.634292 accept_connection 3 returned 4 19:26:15.634324 Read 93 bytes 19:26:15.634335 Process 93 bytes request 19:26:15.634349 Got request: GET /verifiedserver HTTP/1.1 19:26:15.634358 Are-we-friendly question received 19:26:15.634386 Wrote request (93 bytes) input to log/24/server.input 19:26:15.634404 Identifying ourselves as friends 19:26:15.634494 Response sent (56 bytes) and written to log/24/server.response 19:26:15.634505 special request received, no persistency 19:26:15.634514 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 59786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file put88 This is data we upload with PUT a second line line three four is the number of lines === End of file put88 === Start of file server.cmd auth_required Testnum 88 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind88 ==84214== ==84214== Process terminating with default action of signal 4 (SIGILL) ==84214== Illegal opcode at address 0x492B75F ==84214== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84214== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84214== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84214== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84214== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84214== by 0x49908EB: curl_version_info (version.c:600) ==84214== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84214== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84214== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84214== by 0x4003269: main (tool_main.c:195) === End of file valgrind88 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind94 ../src/curl -q --output log/2/curl94.out --include --trace-ascii log/2/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:34531 > log/2/stdout94 2> log/2/stderr94 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind97 ../src/curl -q --output log/12/curl97.out --include --trace-ascii log/12/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:40921/97 > log/12/stdout97 2> log/12/stderr97 test 0087 [urlglob with out of range -o #[num] usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind87 ../src/curl -q --include --trace-ascii log/10/trace87 --trace-time "http://127.0.0.1:40913/[870001-870002]" -o "log/10/dumpit87-#2.dump" > log/10/stdout87 2> log/10/stderr87 87: output (log/10/dumpit87-#2.dump) FAILED: --- log/10/check-expected 2026-10-15 19:26:18.249672663 +0000 +++ log/10/check-generated 2026-10-15 19:26:18.245425326 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/10/ directory after test 87 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind87 ../src/curl -q --include --trace-ascii log/10/trace87 --trace-time "http://127.0.0.1:40913/[870001-870002]" -o "log/10/dumpit87-#2.dump" > log/10/stdout87 2> log/10/stderr87 === End of file commands.log === Start of file http_server.log 19:26:15.500900 ====> Client connect 19:26:15.500945 accept_connection 3 returned 4 19:26:15.500972 Read 93 bytes 19:26:15.500984 Process 93 bytes request 19:26:15.500999 Got request: GET /verifiedserver HTTP/1.1 19:26:15.501008 Are-we-friendly question received 19:26:15.501043 Wrote request (93 bytes) input to log/10/server.input 19:26:15.501066 Identifying ourselves as friends 19:26:15.501152 Response sent (56 bytes) and written to log/10/server.response 19:26:15.501165 special request received, no persistency 19:26:15.501173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 46848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 87 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind87 ==84045== ==84045== Process terminating with default action of signal 4 (SIGILL) ==84045== Illegal opcode at address 0x492B75F ==84045== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84045== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84045== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84045== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84045== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84045== by 0x49908EB: curl_version_info (version.c:600) ==84045== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84045== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84045== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84045== by 0x4003269: main (tool_main.c:195) === End of file valgrind87 test 0094 [HTTPS GET with failed proxy auth (CONNECT 1.0)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind94 ../src/curl -q --output log/2/curl94.out --include --trace-ascii log/2/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:34531 > log/2/stdout94 2> log/2/stderr94 94: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 94 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind94 ../src/curl -q --output log/2/curl94.out --include --trace-ascii log/2/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:34531 > log/2/stdout94 2> log/2/stderr94 === End of file commands.log === Start of file http_server.log 19:26:16.740925 ====> Client connect 19:26:16.740967 accept_connection 3 returned 4 19:26:16.741000 Read 93 bytes 19:26:16.741010 Process 93 bytes request 19:26:16.741024 Got request: GET /verifiedserver HTTP/1.1 19:26:16.741034 Are-we-friendly question received 19:26:16.741063 Wrote request (93 bytes) input to log/2/server.input 19:26:16.741082 Identifying ourselves as friends 19:26:16.741177 Response sent (56 bytes) and written to log/2/server.response 19:26:16.741190 special request received, no persistency 19:26:16.741199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 37654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 94 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind94 ==84230== ==84230== Process terminating with default action of signal 4 (SIGILL) ==84230== Illegal opcode at address 0x492B75F ==84230== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84230== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84230== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84230== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84230== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84230== by 0x49908EB: curl_version_info (version.c:600) ==84230== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84230== by 0x4003269: main (tool_main.c:195) === End of file valgrind94 test 0097 [HTTP POST with custom content-type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind97 ../src/curl -q --output log/12/curl97.out --include --trace-ascii log/12/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:40921/97 > log/12/stdout97 2> log/12/stderr97 97: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 97 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind97 ../src/curl -q --output log/12/curl97.out --include --trace-ascii log/12/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:40921/97 > log/12/stdout97 2> log/12/stderr97 === End of file commands.log === Start of file http_server.log 19:26:15.864445 ====> Client connect 19:26:15.864493 accept_connection 3 returned 4 19:26:15.864519 Read 93 bytes 19:26:15.864530 Process 93 bytes request 19:26:15.864544 Got request: GET /verifiedserver HTTP/1.1 19:26:15.864553 Are-we-friendly question received 19:26:15.864581 Wrote rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind98 ../src/curl -q --output log/5/curl98.out --include --trace-ascii log/5/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37089/98 log/5/stdout98 2> log/5/stderr98 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind83 ../src/curl -q --output log/4/curl83.out --include --trace-ascii log/4/trace83 --trace-time http://test.83:35735/we/want/that/page/83 -p -x 127.0.0.1:45375 --user 'iam:my:;self' > log/4/stdout83 2> log/4/stderr83 equest (93 bytes) input to log/12/server.input 19:26:15.864597 Identifying ourselves as friends 19:26:15.864674 Response sent (56 bytes) and written to log/12/server.response 19:26:15.864685 special request received, no persistency 19:26:15.864693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 51886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 97 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind97 ==84384== ==84384== Process terminating with default action of signal 4 (SIGILL) ==84384== Illegal opcode at address 0x492B75F ==84384== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84384== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84384== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84384== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84384== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84384== by 0x49908EB: curl_version_info (version.c:600) ==84384== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84384== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84384== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84384== by 0x4003269: main (tool_main.c:195) === End of file valgrind97 test 0098 [HTTP PUT from stdin with set size, disabling chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind98 ../src/curl -q --output log/5/curl98.out --include --trace-ascii log/5/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37089/98 log/5/stdout98 2> log/5/stderr98 98: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 98 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind98 ../src/curl -q --output log/5/curl98.out --include --trace-ascii log/5/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37089/98 log/5/stdout98 2> log/5/stderr98 === End of file commands.log === Start of file http_server.log 19:26:16.006457 ====> Client connect 19:26:16.006499 accept_connection 3 returned 4 19:26:16.006597 Read 93 bytes 19:26:16.006608 Process 93 bytes request 19:26:16.006628 Got request: GET /verifiedserver HTTP/1.1 19:26:16.006636 Are-we-friendly question received 19:26:16.006663 Wrote request (93 bytes) input to log/5/server.input 19:26:16.006680 Identifying ourselves as friends 19:26:16.006737 Response sent (56 bytes) and written to log/5/server.response 19:26:16.006745 special request received, no persistency 19:26:16.006753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 43084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 98 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==84501== ==84501== Process terminating with default action of signal 4 (SIGILL) ==84501== Illegal opcode at address 0x492B75F ==84501== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84501== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84501== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84501== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84501== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84501== by 0x49908EB: curl_version_info (version.c:600) ==84501== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84501== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84501== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84501== by 0x4003269: main (tool_main.c:195) === End of file valgrind98 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/4/server/http2_server.pid" --logfile "log/4/http2_server.log" --logdir "log/4" --portfile log/4/server/http2_server.port --config log/4/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 83777 port 45375 * pid http-proxy => 83777 83777 test 0083 [HTTP over proxy-tunnel with site authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind83 ../src/curl -q --output log/4/curl83.out --include --trace-ascii log/4/trace83 --trace-time http://test.83:35735/we/want/that/page/83 -p -x 127.0.0.1:45375 --user 'iam:my:;self' > log/4/stdout83 2> log/4/stderr83 83: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 83 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind83 ../src/curl -q --output log/4/curl83.out --include --trace-ascii log/4/trace83 --trace-time http://test.83:35735/we/want/that/page/83 -p -x 127.0.0.1:45375 --user 'iam:my:;self' > log/4/stdout83 2> log/4/stderr83 === End of file commands.log === Start of file http2_server.log 19:26:15.099539 Run as proxy, CONNECT to host 127.0.0.1 19:26:15.099678 Running HTTP IPv4 version on port 45375 19:26:15.099720 Wrote pid 83777 to log/4/server/http2_server.pid 19:26:15.099750 Wrote port 45375 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:26:16.064880 ====> Client connect 19:26:16.064919 accept_connection 3 returned 4 19:26:16.064943 Read 93 bytes 19:26:16.064953 Process 93 bytes request 19:26:16.064966 Got request: GET /verifiedserver HTTP/1.1 19:26:16.064975 Are-we-friendly question received 19:26:16.065006 Wrote request (93 bytes) input to log/4/server.input 19:26:16.065025 Identifying ourselves as friends 19:26:16.065095 Response sent (56 bytes) and written to log/4/server.response 19:26:16.065106 special request received, no persistency 19:26:16.065115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 46422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:43739/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-time http://test.95:33935/we/want/that/page/95 -p -x 127.0.0.1:40259 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 og === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 83 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind83 ==84563== ==84563== Process terminating with default action of signal 4 (SIGILL) ==84563== Illegal opcode at address 0x492B75F ==84563== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84563== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84563== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84563== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84563== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84563== by 0x49908EB: curl_version_info (version.c:600) ==84563== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84563== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84563== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84563== by 0x4003269: main (tool_main.c:195) === End of file valgrind83 test 0099 [HTTP GET with large-file resume point and failed resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:43739/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 99: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 99 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind99 ../src/curl -q --output log/18/curl99.out --include --trace-ascii log/18/trace99 --trace-time http://127.0.0.1:43739/99 -C 9999999999 > log/18/stdout99 2> log/18/stderr99 === End of file commands.log === Start of file http_server.log 19:26:17.053066 ====> Client connect 19:26:17.053101 accept_connection 3 returned 4 19:26:17.053120 Read 93 bytes 19:26:17.053130 Process 93 bytes request 19:26:17.053142 Got request: GET /verifiedserver HTTP/1.1 19:26:17.053151 Are-we-friendly question received 19:26:17.053185 Wrote request (93 bytes) input to log/18/server.input 19:26:17.053204 Identifying ourselves as friends 19:26:17.053270 Response sent (56 bytes) and written to log/18/server.response 19:26:17.053280 special request received, no persistency 19:26:17.053288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 53544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 99 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind99 ==84540== ==84540== Process terminating with default action of signal 4 (SIGILL) ==84540== Illegal opcode at address 0x492B75F ==84540== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84540== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84540== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84540== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84540== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84540== by 0x49908EB: curl_version_info (version.c:600) ==84540== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84540== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84540== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84540== by 0x4003269: main (tool_main.c:195) === End of file valgrind99 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/6/server/http2_server.pid" --logfile "log/6/http2_server.log" --logdir "log/6" --portfile log/6/server/http2_server.port --config log/6/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 84342 port 40259 * pid http-proxy => 84342 84342 test 0095 [HTTP over proxytunnel using POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-time http://test.95:33935/we/want/that/page/95 -p -x 127.0.0.1:40259 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 95: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 95 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind95 ../src/curl -q --output log/6/curl95.out --include --trace-ascii log/6/trace95 --trace-time http://test.95:33935/we/want/that/page/95 -p -x 127.0.0.1:40259 -d "datatopost=ohthatsfunyesyes" > log/6/stdout95 2> log/6/stderr95 === End of file commands.log === Start of file http2_server.log 19:26:16.894910 Run as proxy, CONNECT to host 127.0.0.1 19:26:16.895056 Running HTTP IPv4 version on port 40259 19:26:16.895108 Wrote pid 84342 to log/6/server/http2_server.pid 19:26:16.895145 Wrote port 40259 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:26:15.849966 ====> Client connect 19:26:15.850004 accept_connection 3 returned 4 19:26:15.850100 Read 93 bytes 19:26:15.850115 Process 93 bytes request 19:26:15.850138 Got request: GET /verifiedserver HTTP/1.1 19:26:15.850147 Are-we-friendly question received 19:26:15.850178 Wrote request (93 bytes) input to log/6/server.input 19:26:15.850198 Identifying ourselves as friends 19:26:15.850269 Response sent (56 bytes) and written to log/6/server.response 19:26:15.850281 special request received, no persistency 19:26:15.850289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 50712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 95 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind95 ==84728== ==84728== Process terminating with default action of signal 4 (SIGILL) ==84728== Illegal opcode at address 0x492B75F ==84728== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84728== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84728== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84728== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84728== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84728== by 0x49908EB: curl_version_info (version.c:600) ==84728== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84728== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84728==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind100 ../src/curl -q --output log/19/curl100.out --include --trace-ascii log/19/trace100 --trace-time ftp://127.0.0.1:38555/test-100/ > log/19/stdout100 2> log/19/stderr100 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind101 ../src/curl -q --output log/21/curl101.out --include --trace-ascii log/21/trace101 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/21/stdout101 2> log/21/stderr101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:36605/102 > log/9/stdout102 2> log/9/stderr102 by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84728== by 0x4003269: main (tool_main.c:195) === End of file valgrind95 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/ftp_server.pid" --logfile "log/19/ftp_server.log" --logdir "log/19" --portfile "log/19/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38555 (log/19/server/ftp_server.port) RUN: FTP server is PID 84587 port 38555 * pid ftp => 84587 84587 test 0100 [FTP dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind100 ../src/curl -q --output log/19/curl100.out --include --trace-ascii log/19/trace100 --trace-time ftp://127.0.0.1:38555/test-100/ > log/19/stdout100 2> log/19/stderr100 100: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind100 ../src/curl -q --output log/19/curl100.out --include --trace-ascii log/19/trace100 --trace-time ftp://127.0.0.1:38555/test-100/ > log/19/stdout100 2> log/19/stderr100 === End of file commands.log === Start of file ftp_server.log 19:26:16.652320 FTP server listens on port IPv4/38555 19:26:16.652454 logged pid 84587 in log/19/server/ftp_server.pid 19:26:16.652486 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:16.245630 Running IPv4 version 19:26:16.245754 Listening on port 38555 19:26:16.245793 Wrote pid 84652 to log/19/server/ftp_sockctrl.pid 19:26:16.245822 Wrote port 38555 to log/19/server/ftp_server.port 19:26:16.251214 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 100 === End of file server.cmd === Start of file valgrind100 ==84795== ==84795== Process terminating with default action of signal 4 (SIGILL) ==84795== Illegal opcode at address 0x492B75F ==84795== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84795== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84795== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84795== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84795== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84795== by 0x49908EB: curl_version_info (version.c:600) ==84795== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84795== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84795== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84795== by 0x4003269: main (tool_main.c:195) === End of file valgrind100 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/ftp_server.pid" --logfile "log/21/ftp_server.log" --logdir "log/21" --portfile "log/21/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35787 (log/21/server/ftp_server.port) RUN: FTP server is PID 84694 port 35787 * pid ftp => 84694 84694 test 0101 [FTP dir list, PORT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind101 ../src/curl -q --output log/21/curl101.out --include --trace-ascii log/21/trace101 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/21/stdout101 2> log/21/stderr101 101: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind101 ../src/curl -q --output log/21/curl101.out --include --trace-ascii log/21/trace101 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/21/stdout101 2> log/21/stderr101 === End of file commands.log === Start of file ftp_server.log 19:26:16.915461 FTP server listens on port IPv4/35787 19:26:16.915604 logged pid 84694 in log/21/server/ftp_server.pid 19:26:16.915640 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:16.506012 Running IPv4 version 19:26:16.506099 Listening on port 35787 19:26:16.506143 Wrote pid 84700 to log/21/server/ftp_sockctrl.pid 19:26:16.506176 Wrote port 35787 to log/21/server/ftp_server.port 19:26:16.506196 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 101 === End of file server.cmd === Start of file valgrind101 ==84864== ==84864== Process terminating with default action of signal 4 (SIGILL) ==84864== Illegal opcode at address 0x492B75F ==84864== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84864== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84864== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84864== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84864== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84864== by 0x49908EB: curl_version_info (version.c:600) ==84864== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84864== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84864== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84864== by 0x4003269: main (tool_main.c:195) === End of file valgrind101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_server.pid" --logfile "log/9/ftp_server.log" --logdir "log/9" --portfile "log/9/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36605 (log/9/server/ftp_server.port) RUN: FTP server is PID 84695 port 36605 * pid ftp => 84695 84695 test 0102 [FTP RETR PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:36605/102 > log/9/stdout102 2> log/9/stderr102 102: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind102 ../src/curl -q --output log/9/curl102.out --include --trace-ascii log/9/trace102 --trace-time ftp://127.0.0.1:36605/102 > log/9/stdout102 2> log/9/stderr102 === End of file commands.log === Start of file ftp_server.log 19:26:16.907513 FTP server listens on port IPv4/36605 19:26:16.907624 logged pid 84695 in log/9/server/ftp_server.pid 19:26:16.907657 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:16.506323 Running IPv4 version 19:26:16.506399 Listening on port 36605 19:26:16.506436 Wrote pid 84699 to log/9/server/ftp_sockctrl.pid 19:26:16.506472 Wrote port 36605 to log/9/server/ftp_server.port 19:26:16.506491 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 102 === End of file server.cmd === Start of file valgrind102 ==84863== ==84863== Process terminating with default action of signal 4 (SIGILL) ==84863== Illegal opcode at address 0x492B75F ==84863== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84863== by 0x492C53A: curl_mvsnprintf (mprintf.c:12CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind104 ../src/curl -q --output log/23/curl104.out --include --trace-ascii log/23/trace104 --trace-time ftp://127.0.0.1:35523/a/path/104 --head > log/23/stdout104 2> log/23/stderr104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind103 ../src/curl -q --output log/16/curl103.out --include --trace-ascii log/16/trace103 --trace-time ftp://127.0.0.1:40031/a/path/103 -P - > log/16/stdout103 2> log/16/stderr103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind105 ../src/curl -q --output log/3/curl105.out --include --trace-ascii log/3/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:42249/105 --use-ascii > log/3/stdout105 2> log/3/stderr105 57) ==84863== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84863== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84863== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84863== by 0x49908EB: curl_version_info (version.c:600) ==84863== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84863== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84863== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84863== by 0x4003269: main (tool_main.c:195) === End of file valgrind102 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/ftp_server.pid" --logfile "log/23/ftp_server.log" --logdir "log/23" --portfile "log/23/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35523 (log/23/server/ftp_server.port) RUN: FTP server is PID 84709 port 35523 * pid ftp => 84709 84709 test 0104 [FTP --head to get file size only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind104 ../src/curl -q --output log/23/curl104.out --include --trace-ascii log/23/trace104 --trace-time ftp://127.0.0.1:35523/a/path/104 --head > log/23/stdout104 2> log/23/stderr104 104: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind104 ../src/curl -q --output log/23/curl104.out --include --trace-ascii log/23/trace104 --trace-time ftp://127.0.0.1:35523/a/path/104 --head > log/23/stdout104 2> log/23/stderr104 === End of file commands.log === Start of file ftp_server.log 19:26:17.092058 FTP server listens on port IPv4/35523 19:26:17.092180 logged pid 84709 in log/23/server/ftp_server.pid 19:26:17.092218 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.690695 Running IPv4 version 19:26:17.690803 Listening on port 35523 19:26:17.690851 Wrote pid 84711 to log/23/server/ftp_sockctrl.pid 19:26:17.691042 Wrote port 35523 to log/23/server/ftp_server.port 19:26:17.691071 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 104 === End of file server.cmd === Start of file valgrind104 ==84986== ==84986== Process terminating with default action of signal 4 (SIGILL) ==84986== Illegal opcode at address 0x492B75F ==84986== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84986== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84986== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84986== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84986== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84986== by 0x49908EB: curl_version_info (version.c:600) ==84986== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84986== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84986== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84986== by 0x4003269: main (tool_main.c:195) === End of file valgrind104 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/ftp_server.pid" --logfile "log/16/ftp_server.log" --logdir "log/16" --portfile "log/16/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40031 (log/16/server/ftp_server.port) RUN: FTP server is PID 84702 port 40031 * pid ftp => 84702 84702 test 0103 [FTP RETR PORT with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind103 ../src/curl -q --output log/16/curl103.out --include --trace-ascii log/16/trace103 --trace-time ftp://127.0.0.1:40031/a/path/103 -P - > log/16/stdout103 2> log/16/stderr103 103: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind103 ../src/curl -q --output log/16/curl103.out --include --trace-ascii log/16/trace103 --trace-time ftp://127.0.0.1:40031/a/path/103 -P - > log/16/stdout103 2> log/16/stderr103 === End of file commands.log === Start of file ftp_server.log 19:26:16.993342 FTP server listens on port IPv4/40031 19:26:16.993882 logged pid 84702 in log/16/server/ftp_server.pid 19:26:16.993917 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:16.591984 Running IPv4 version 19:26:16.592087 Listening on port 40031 19:26:16.592131 Wrote pid 84707 to log/16/server/ftp_sockctrl.pid 19:26:16.592163 Wrote port 40031 to log/16/server/ftp_server.port 19:26:16.592353 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 103 === End of file server.cmd === Start of file valgrind103 ==84914== ==84914== Process terminating with default action of signal 4 (SIGILL) ==84914== Illegal opcode at address 0x492B75F ==84914== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==84914== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==84914== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==84914== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==84914== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==84914== by 0x49908EB: curl_version_info (version.c:600) ==84914== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==84914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==84914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==84914== by 0x4003269: main (tool_main.c:195) === End of file valgrind103 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/ftp_server.pid" --logfile "log/3/ftp_server.log" --logdir "log/3" --portfile "log/3/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42249 (log/3/server/ftp_server.port) RUN: FTP server is PID 84710 port 42249 * pid ftp => 84710 84710 test 0105 [FTP user+password in URL and ASCII transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind105 ../src/curl -q --output log/3/curl105.out --include --trace-ascii log/3/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:42249/105 --use-ascii > log/3/stdout105 2> log/3/stderr105 105: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind105 ../src/curl -q --output log/3/curl105.out --include --trace-ascii log/3/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:42249/105 --use-ascii > log/3/stdout105 2> log/3/stderr105 === End of file commands.log === Start of file ftp_server.log 19:26:17.118882 FTP server listens on port IPv4/42249 19:26:17.119022 logged pid 84710 in log/3/server/ftp_server.pid 19:26:17.119063 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.715836 Running IPv4 version 19:26:17.715950 Listening on port 42249 19:26:17.716002 Wrote pid 84715 to log/3/server/ftp_sockctrl.pid 19:26:17.717863 WCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind106 ../src/curl -q --output log/22/curl106.out --include --trace-ascii log/22/trace106 --trace-time "ftp://127.0.0.1:33255//path%20with%20%20spaces//and%20things2/106;type=A" > log/22/stdout106 2> log/22/stderr106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44283/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind109 ../src/curl -q --output log/17/curl109.out --include --trace-ascii log/17/trace109 --trace-time ftp://127.0.0.1:46137/109 -T log/17/upload109 --append > log/17/stdout109 2> log/17/stderr109 rote port 42249 to log/3/server/ftp_server.port 19:26:17.717894 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 105 === End of file server.cmd === Start of file valgrind105 ==85005== ==85005== Process terminating with default action of signal 4 (SIGILL) ==85005== Illegal opcode at address 0x492B75F ==85005== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85005== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85005== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85005== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85005== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85005== by 0x49908EB: curl_version_info (version.c:600) ==85005== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85005== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85005== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85005== by 0x4003269: main (tool_main.c:195) === End of file valgrind105 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_server.pid" --logfile "log/22/ftp_server.log" --logdir "log/22" --portfile "log/22/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33255 (log/22/server/ftp_server.port) RUN: FTP server is PID 84714 port 33255 * pid ftp => 84714 84714 test 0106 [FTP GET with type=A style ASCII URL using %20 codes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind106 ../src/curl -q --output log/22/curl106.out --include --trace-ascii log/22/trace106 --trace-time "ftp://127.0.0.1:33255//path%20with%20%20spaces//and%20things2/106;type=A" > log/22/stdout106 2> log/22/stderr106 106: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind106 ../src/curl -q --output log/22/curl106.out --include --trace-ascii log/22/trace106 --trace-time "ftp://127.0.0.1:33255//path%20with%20%20spaces//and%20things2/106;type=A" > log/22/stdout106 2> log/22/stderr106 === End of file commands.log === Start of file ftp_server.log 19:26:17.155464 FTP server listens on port IPv4/33255 19:26:17.155643 logged pid 84714 in log/22/server/ftp_server.pid 19:26:17.155689 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.745882 Running IPv4 version 19:26:17.745981 Listening on port 33255 19:26:17.746025 Wrote pid 84719 to log/22/server/ftp_sockctrl.pid 19:26:17.746057 Wrote port 33255 to log/22/server/ftp_server.port 19:26:17.751165 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 106 === End of file server.cmd === Start of file valgrind106 ==85036== ==85036== Process terminating with default action of signal 4 (SIGILL) ==85036== Illegal opcode at address 0x492B75F ==85036== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85036== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85036== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85036== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85036== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85036== by 0x49908EB: curl_version_info (version.c:600) ==85036== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85036== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85036== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85036== by 0x4003269: main (tool_main.c:195) === End of file valgrind106 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_server.pid" --logfile "log/7/ftp_server.log" --logdir "log/7" --portfile "log/7/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44283 (log/7/server/ftp_server.port) RUN: FTP server is PID 84721 port 44283 * pid ftp => 84721 84721 test 0107 [FTP PASV upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44283/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 107: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind107 ../src/curl -q --output log/7/curl107.out --include --trace-ascii log/7/trace107 --trace-time ftp://127.0.0.1:44283/107 -T log/7/test107.txt > log/7/stdout107 2> log/7/stderr107 === End of file commands.log === Start of file ftp_server.log 19:26:17.288715 FTP server listens on port IPv4/44283 19:26:17.288897 logged pid 84721 in log/7/server/ftp_server.pid 19:26:17.288933 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.879041 Running IPv4 version 19:26:17.879126 Listening on port 44283 19:26:17.879177 Wrote pid 84725 to log/7/server/ftp_sockctrl.pid 19:26:17.879208 Wrote port 44283 to log/7/server/ftp_server.port 19:26:17.887745 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 107 === End of file server.cmd === Start of file test107.txt data to see that FTP works so does it? === End of file test107.txt === Start of file valgrind107 ==85115== ==85115== Process terminating with default action of signal 4 (SIGILL) ==85115== Illegal opcode at address 0x492B75F ==85115== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85115== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85115== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85115== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85115== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85115== by 0x49908EB: curl_version_info (version.c:600) ==85115== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85115== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85115== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85115== by 0x4003269: main (tool_main.c:195) === End of file valgrind107 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/ftp_server.pid" --logfile "log/17/ftp_server.log" --logdir "log/17" --portfile "log/17/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46137 (log/17/server/ftp_server.port) RUN: FTP server is PID 84749 port 46137 * pid ftp => 84749 84749 test 0109 [FTP PASV upload append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind109 ../src/curl -q --output log/17/curl109.out --include --trace-ascii log/17/trace109 --trace-time ftp://127.0.0.1:46137/109 -T log/17/upload109 --append > log/17/stdout109 2> log/17/stderr109 109: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind110 ../src/curl -q --output log/11/curl110.out --include --trace-ascii log/11/trace110 --trace-time ftp://127.0.0.1:37735/110 -C 20 > log/11/stdout110 2> log/11/stderr110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind108 ../src/curl -q --output log/15/curl108.out --include --trace-ascii log/15/trace108 --trace-time ftp://127.0.0.1:44883/CWD/STOR/RETR/108 -T log/15/upload108 -P - > log/15/stdout108 2> log/15/stderr108 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind112 ../src/curl -q --output log/20/curl112.out --include --trace-ascii log/20/trace112 --trace-time ftp://127.0.0.1:41549/112 -T log/20/upload112 -C 41 > log/20/stdout112 2> log/20/stderr112 ts/valgrind.supp --num-callers=16 --log-file=log/17/valgrind109 ../src/curl -q --output log/17/curl109.out --include --trace-ascii log/17/trace109 --trace-time ftp://127.0.0.1:46137/109 -T log/17/upload109 --append > log/17/stdout109 2> log/17/stderr109 === End of file commands.log === Start of file ftp_server.log 19:26:17.401305 FTP server listens on port IPv4/46137 19:26:17.401434 logged pid 84749 in log/17/server/ftp_server.pid 19:26:17.401469 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.000068 Running IPv4 version 19:26:17.000180 Listening on port 46137 19:26:17.000226 Wrote pid 84757 to log/17/server/ftp_sockctrl.pid 19:26:17.000263 Wrote port 46137 to log/17/server/ftp_server.port 19:26:17.000418 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 109 === End of file server.cmd === Start of file upload109 Moooooooooooo upload this === End of file upload109 === Start of file valgrind109 ==85215== ==85215== Process terminating with default action of signal 4 (SIGILL) ==85215== Illegal opcode at address 0x492B75F ==85215== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85215== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85215== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85215== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85215== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85215== by 0x49908EB: curl_version_info (version.c:600) ==85215== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85215== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85215== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85215== by 0x4003269: main (tool_main.c:195) === End of file valgrind109 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_server.pid" --logfile "log/11/ftp_server.log" --logdir "log/11" --portfile "log/11/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37735 (log/11/server/ftp_server.port) RUN: FTP server is PID 84823 port 37735 * pid ftp => 84823 84823 test 0110 [FTP download resume with set limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind110 ../src/curl -q --output log/11/curl110.out --include --trace-ascii log/11/trace110 --trace-time ftp://127.0.0.1:37735/110 -C 20 > log/11/stdout110 2> log/11/stderr110 110: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind110 ../src/curl -q --output log/11/curl110.out --include --trace-ascii log/11/trace110 --trace-time ftp://127.0.0.1:37735/110 -C 20 > log/11/stdout110 2> log/11/stderr110 === End of file commands.log === Start of file ftp_server.log 19:26:17.728779 FTP server listens on port IPv4/37735 19:26:17.728947 logged pid 84823 in log/11/server/ftp_server.pid 19:26:17.728988 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.318826 Running IPv4 version 19:26:17.319021 Listening on port 37735 19:26:17.319067 Wrote pid 84852 to log/11/server/ftp_sockctrl.pid 19:26:17.319099 Wrote port 37735 to log/11/server/ftp_server.port 19:26:17.324651 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 110 === End of file server.cmd === Start of file valgrind110 ==85342== ==85342== Process terminating with default action of signal 4 (SIGILL) ==85342== Illegal opcode at address 0x492B75F ==85342== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85342== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85342== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85342== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85342== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85342== by 0x49908EB: curl_version_info (version.c:600) ==85342== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85342== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85342== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85342== by 0x4003269: main (tool_main.c:195) === End of file valgrind110 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/ftp_server.pid" --logfile "log/15/ftp_server.log" --logdir "log/15" --portfile "log/15/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44883 (log/15/server/ftp_server.port) RUN: FTP server is PID 84744 port 44883 * pid ftp => 84744 84744 test 0108 [FTP PORT upload with CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind108 ../src/curl -q --output log/15/curl108.out --include --trace-ascii log/15/trace108 --trace-time ftp://127.0.0.1:44883/CWD/STOR/RETR/108 -T log/15/upload108 -P - > log/15/stdout108 2> log/15/stderr108 108: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind108 ../src/curl -q --output log/15/curl108.out --include --trace-ascii log/15/trace108 --trace-time ftp://127.0.0.1:44883/CWD/STOR/RETR/108 -T log/15/upload108 -P - > log/15/stdout108 2> log/15/stderr108 === End of file commands.log === Start of file ftp_server.log 19:26:17.410653 FTP server listens on port IPv4/44883 19:26:17.410783 logged pid 84744 in log/15/server/ftp_server.pid 19:26:17.410821 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.009130 Running IPv4 version 19:26:17.009240 Listening on port 44883 19:26:17.009291 Wrote pid 84761 to log/15/server/ftp_sockctrl.pid 19:26:17.009328 Wrote port 44883 to log/15/server/ftp_server.port 19:26:17.009761 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 108 === End of file server.cmd === Start of file upload108 Moooooooooooo upload this === End of file upload108 === Start of file valgrind108 ==85214== ==85214== Process terminating with default action of signal 4 (SIGILL) ==85214== Illegal opcode at address 0x492B75F ==85214== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85214== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85214== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85214== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85214== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85214== by 0x49908EB: curl_version_info (version.c:600) ==85214== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85214== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85214== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85214== by 0x4003269: main (tool_main.c:195) === End of file valgrind108 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/ftp_server.pid" --logfile "log/20/ftp_server.log" --logdir "log/20" --portfile "log/20/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41549 (log/20/server/ftp_server.port) RUN: FTP server is PID 84833 port 41549 * pid ftp => 84833 84833 test 0112 [FTP PASV upload resume] ../libtool --mode=eCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:41879/111 -C 2000 > log/8/stdout111 2> log/8/stderr111 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind115 ../src/curl -q --output log/14/curl115.out --include --trace-ascii log/14/trace115 --trace-time ftp://127.0.0.1:37411/115 > log/14/stdout115 2> log/14/stderr115 xecute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind112 ../src/curl -q --output log/20/curl112.out --include --trace-ascii log/20/trace112 --trace-time ftp://127.0.0.1:41549/112 -T log/20/upload112 -C 41 > log/20/stdout112 2> log/20/stderr112 112: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 112 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind112 ../src/curl -q --output log/20/curl112.out --include --trace-ascii log/20/trace112 --trace-time ftp://127.0.0.1:41549/112 -T log/20/upload112 -C 41 > log/20/stdout112 2> log/20/stderr112 === End of file commands.log === Start of file ftp_server.log 19:26:17.762318 FTP server listens on port IPv4/41549 19:26:17.762452 logged pid 84833 in log/20/server/ftp_server.pid 19:26:17.762485 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.355988 Running IPv4 version 19:26:17.356106 Listening on port 41549 19:26:17.356146 Wrote pid 84855 to log/20/server/ftp_sockctrl.pid 19:26:17.356181 Wrote port 41549 to log/20/server/ftp_server.port 19:26:17.361498 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 112 === End of file server.cmd === Start of file upload112 this is the *****crap******** that we are gonna upload worx? === End of file upload112 === Start of file valgrind112 ==85356== ==85356== Process terminating with default action of signal 4 (SIGILL) ==85356== Illegal opcode at address 0x492B75F ==85356== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85356== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85356== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85356== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85356== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85356== by 0x49908EB: curl_version_info (version.c:600) ==85356== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85356== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85356== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85356== by 0x4003269: main (tool_main.c:195) === End of file valgrind112 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/ftp_server.pid" --logfile "log/8/ftp_server.log" --logdir "log/8" --portfile "log/8/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41879 (log/8/server/ftp_server.port) RUN: FTP server is PID 84824 port 41879 * pid ftp => 84824 84824 test 0111 [FTP download resume beyond file size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:41879/111 -C 2000 > log/8/stdout111 2> log/8/stderr111 111: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind111 ../src/curl -q --output log/8/curl111.out --include --trace-ascii log/8/trace111 --trace-time ftp://127.0.0.1:41879/111 -C 2000 > log/8/stdout111 2> log/8/stderr111 === End of file commands.log === Start of file ftp_server.log 19:26:17.718872 FTP server listens on port IPv4/41879 19:26:17.719021 logged pid 84824 in log/8/server/ftp_server.pid 19:26:17.719060 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:17.314398 Running IPv4 version 19:26:17.314543 Listening on port 41879 19:26:17.314593 Wrote pid 84850 to log/8/server/ftp_sockctrl.pid 19:26:17.318011 Wrote port 41879 to log/8/server/ftp_server.port 19:26:17.318041 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 111 === End of file server.cmd === Start of file valgrind111 ==85341== ==85341== Process terminating with default action of signal 4 (SIGILL) ==85341== Illegal opcode at address 0x492B75F ==85341== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85341== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85341== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85341== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85341== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85341== by 0x49908EB: curl_version_info (version.c:600) ==85341== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85341== by 0x4003269: main (tool_main.c:195) === End of file valgrind111 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/ftp_server.pid" --logfile "log/14/ftp_server.log" --logdir "log/14" --portfile "log/14/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37411 (log/14/server/ftp_server.port) RUN: FTP server is PID 85053 port 37411 * pid ftp => 85053 85053 test 0115 [FTP download, failed PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind115 ../src/curl -q --output log/14/curl115.out --include --trace-ascii log/14/trace115 --trace-time ftp://127.0.0.1:37411/115 > log/14/stdout115 2> log/14/stderr115 115: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind115 ../src/curl -q --output log/14/curl115.out --include --trace-ascii log/14/trace115 --trace-time ftp://127.0.0.1:37411/115 > log/14/stdout115 2> log/14/stderr115 === End of file commands.log === Start of file ftp_server.log 19:26:18.222172 FTP server listens on port IPv4/37411 19:26:18.222325 logged pid 85053 in log/14/server/ftp_server.pid 19:26:18.222366 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.813527 Running IPv4 version 19:26:18.813630 Listening on port 37411 19:26:18.813678 Wrote pid 85111 to log/14/server/ftp_sockctrl.pid 19:26:18.813714 Wrote port 37411 to log/14/server/ftp_server.port 19:26:18.821444 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASV 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 115 === End of file server.cmd === Start of file valgrind115 ==85578== ==85578== Process terminating with default action of signal 4 (SIGILL) ==85578== Illegal opcode at address 0x492B75F ==85578== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85578== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85578== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85578== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85578== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85578== by 0x49908EB: curl_version_info (version.c:600) ==85578== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85578== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85578== by 0x4003269: UnknownInlinedFuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind114 ../src/curl -q --output log/13/curl114.out --include --trace-ascii log/13/trace114 --trace-time ftp://127.0.0.1:36047/114 > log/13/stdout114 2> log/13/stderr114 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind113 ../src/curl -q --output log/1/curl113.out --include --trace-ascii log/1/trace113 --trace-time ftp://127.0.0.1:40221/113 > log/1/stdout113 2> log/1/stderr113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind116 ../src/curl -q --output log/24/curl116.out --include --trace-ascii log/24/trace116 --trace-time ftp://127.0.0.1:37215/116 -P 1.2.3.4 > log/24/stdout116 2> log/24/stderr116 n (tool_cfgable.c:310) ==85578== by 0x4003269: main (tool_main.c:195) === End of file valgrind115 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36047 (log/13/server/ftp_server.port) RUN: FTP server is PID 84987 port 36047 * pid ftp => 84987 84987 test 0114 [FTP download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind114 ../src/curl -q --output log/13/curl114.out --include --trace-ascii log/13/trace114 --trace-time ftp://127.0.0.1:36047/114 > log/13/stdout114 2> log/13/stderr114 114: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind114 ../src/curl -q --output log/13/curl114.out --include --trace-ascii log/13/trace114 --trace-time ftp://127.0.0.1:36047/114 > log/13/stdout114 2> log/13/stderr114 === End of file commands.log === Start of file ftp_server.log 19:26:18.129906 FTP server listens on port IPv4/36047 19:26:18.130024 logged pid 84987 in log/13/server/ftp_server.pid 19:26:18.130056 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.728877 Running IPv4 version 19:26:18.728962 Listening on port 36047 19:26:18.729003 Wrote pid 85038 to log/13/server/ftp_sockctrl.pid 19:26:18.729035 Wrote port 36047 to log/13/server/ftp_server.port 19:26:18.729205 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 114 === End of file server.cmd === Start of file valgrind114 ==85556== ==85556== Process terminating with default action of signal 4 (SIGILL) ==85556== Illegal opcode at address 0x492B75F ==85556== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85556== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85556== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85556== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85556== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85556== by 0x49908EB: curl_version_info (version.c:600) ==85556== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85556== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85556== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85556== by 0x4003269: main (tool_main.c:195) === End of file valgrind114 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/ftp_server.pid" --logfile "log/1/ftp_server.log" --logdir "log/1" --portfile "log/1/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40221 (log/1/server/ftp_server.port) RUN: FTP server is PID 84935 port 40221 * pid ftp => 84935 84935 test 0113 [FTP download, failed login: USER not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind113 ../src/curl -q --output log/1/curl113.out --include --trace-ascii log/1/trace113 --trace-time ftp://127.0.0.1:40221/113 > log/1/stdout113 2> log/1/stderr113 113: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind113 ../src/curl -q --output log/1/curl113.out --include --trace-ascii log/1/trace113 --trace-time ftp://127.0.0.1:40221/113 > log/1/stdout113 2> log/1/stderr113 === End of file commands.log === Start of file ftp_server.log 19:26:18.055590 FTP server listens on port IPv4/40221 19:26:18.055731 logged pid 84935 in log/1/server/ftp_server.pid 19:26:18.055766 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.649308 Running IPv4 version 19:26:18.649416 Listening on port 40221 19:26:18.649478 Wrote pid 84974 to log/1/server/ftp_sockctrl.pid 19:26:18.649516 Wrote port 40221 to log/1/server/ftp_server.port 19:26:18.649539 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY USER 314 bluah you fewl Testnum 113 === End of file server.cmd === Start of file valgrind113 ==85504== ==85504== Process terminating with default action of signal 4 (SIGILL) ==85504== Illegal opcode at address 0x492B75F ==85504== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85504== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85504== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85504== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85504== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85504== by 0x49908EB: curl_version_info (version.c:600) ==85504== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85504== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85504== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85504== by 0x4003269: main (tool_main.c:195) === End of file valgrind113 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_server.pid" --logfile "log/24/ftp_server.log" --logdir "log/24" --portfile "log/24/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37215 (log/24/server/ftp_server.port) RUN: FTP server is PID 85113 port 37215 * pid ftp => 85113 85113 test 0116 [FTP download, failed PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind116 ../src/curl -q --output log/24/curl116.out --include --trace-ascii log/24/trace116 --trace-time ftp://127.0.0.1:37215/116 -P 1.2.3.4 > log/24/stdout116 2> log/24/stderr116 116: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind116 ../src/curl -q --output log/24/curl116.out --include --trace-ascii log/24/trace116 --trace-time ftp://127.0.0.1:37215/116 -P 1.2.3.4 > log/24/stdout116 2> log/24/stderr116 === End of file commands.log === Start of file ftp_server.log 19:26:18.315473 FTP server listens on port IPv4/37215 19:26:18.315645 logged pid 85113 in log/24/server/ftp_server.pid 19:26:18.315691 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.906082 Running IPv4 version 19:26:18.907347 Listening on port 37215 19:26:18.907392 Wrote pid 85181 to log/24/server/ftp_sockctrl.pid 19:26:18.907430 Wrote port 37215 to log/24/server/ftp_server.port 19:26:18.907451 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now REPLY PORT 314 bluah you f00l Testnum 116 === End of file server.cmd === Start of file valgrind116 ==85609== ==85609== Process terminating with default action of signal 4 (SIGILL) ==85609== Illegal opcode at address 0x492B75F ==85609== at 0x492CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind120 ../src/curl -q --output log/5/curl120.out --include --trace-ascii log/5/trace120 --trace-time ftp://127.0.0.1:39641/120 -Q "-DELE file" > log/5/stdout120 2> log/5/stderr120 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind119 ../src/curl -q --output log/2/curl119.out --include --trace-ascii log/2/trace119 --trace-time ftp://127.0.0.1:38033/119 -P - > log/2/stdout119 2> log/2/stderr119 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind121 ../src/curl -q --output log/4/curl121.out --include --trace-ascii log/4/trace121 --trace-time ftp://127.0.0.1:39739/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/4/stdout121 2> log/4/stderr121 B75F: formatf.constprop.2 (mprintf.c:1115) ==85609== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85609== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85609== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85609== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85609== by 0x49908EB: curl_version_info (version.c:600) ==85609== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85609== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85609== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85609== by 0x4003269: main (tool_main.c:195) === End of file valgrind116 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_server.pid" --logfile "log/5/ftp_server.log" --logdir "log/5" --portfile "log/5/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39641 (log/5/server/ftp_server.port) RUN: FTP server is PID 85245 port 39641 * pid ftp => 85245 85245 test 0120 [ftp download with post-quote delete operation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind120 ../src/curl -q --output log/5/curl120.out --include --trace-ascii log/5/trace120 --trace-time ftp://127.0.0.1:39641/120 -Q "-DELE file" > log/5/stdout120 2> log/5/stderr120 120: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind120 ../src/curl -q --output log/5/curl120.out --include --trace-ascii log/5/trace120 --trace-time ftp://127.0.0.1:39641/120 -Q "-DELE file" > log/5/stdout120 2> log/5/stderr120 === End of file commands.log === Start of file ftp_server.log 19:26:18.460970 FTP server listens on port IPv4/39641 19:26:18.461087 logged pid 85245 in log/5/server/ftp_server.pid 19:26:18.461121 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.060013 Running IPv4 version 19:26:18.060128 Listening on port 39641 19:26:18.060175 Wrote pid 85263 to log/5/server/ftp_sockctrl.pid 19:26:18.060209 Wrote port 39641 to log/5/server/ftp_server.port 19:26:18.060364 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l Testnum 120 === End of file server.cmd === Start of file valgrind120 ==85821== ==85821== Process terminating with default action of signal 4 (SIGILL) ==85821== Illegal opcode at address 0x492B75F ==85821== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85821== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85821== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85821== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85821== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85821== by 0x49908EB: curl_version_info (version.c:600) ==85821== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85821== by 0x4003269: main (tool_main.c:195) === End of file valgrind120 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/ftp_server.pid" --logfile "log/2/ftp_server.log" --logdir "log/2" --portfile "log/2/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38033 (log/2/server/ftp_server.port) RUN: FTP server is PID 85208 port 38033 * pid ftp => 85208 85208 test 0119 [FTP download, failed RETR with PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind119 ../src/curl -q --output log/2/curl119.out --include --trace-ascii log/2/trace119 --trace-time ftp://127.0.0.1:38033/119 -P - > log/2/stdout119 2> log/2/stderr119 119: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 119 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind119 ../src/curl -q --output log/2/curl119.out --include --trace-ascii log/2/trace119 --trace-time ftp://127.0.0.1:38033/119 -P - > log/2/stdout119 2> log/2/stderr119 === End of file commands.log === Start of file ftp_server.log 19:26:18.503742 FTP server listens on port IPv4/38033 19:26:18.503853 logged pid 85208 in log/2/server/ftp_server.pid 19:26:18.503885 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.102815 Running IPv4 version 19:26:18.102898 Listening on port 38033 19:26:18.102940 Wrote pid 85278 to log/2/server/ftp_sockctrl.pid 19:26:18.102972 Wrote port 38033 to log/2/server/ftp_server.port 19:26:18.103145 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 119 === End of file server.cmd === Start of file valgrind119 ==85765== ==85765== Process terminating with default action of signal 4 (SIGILL) ==85765== Illegal opcode at address 0x492B75F ==85765== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85765== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85765== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85765== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85765== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85765== by 0x49908EB: curl_version_info (version.c:600) ==85765== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85765== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85765== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85765== by 0x4003269: main (tool_main.c:195) === End of file valgrind119 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/ftp_server.pid" --logfile "log/4/ftp_server.log" --logdir "log/4" --portfile "log/4/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39739 (log/4/server/ftp_server.port) RUN: FTP server is PID 85249 port 39739 * pid ftp => 85249 85249 test 0121 [ftp download with post- and pre-transfer delete operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind121 ../src/curl -q --output log/4/curl121.out --include --trace-ascii log/4/trace121 --trace-time ftp://127.0.0.1:39739/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/4/stdout121 2> log/4/stderr121 121: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind121 ../src/curl -q --output log/4/curl121.out --include --trace-ascii log/4/trace121 --trace-time ftp://127.0.0.1:39739/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/4/stdout121 2> log/4/stderr121 === End of file commands.log === Start of file ftp_server.log 19:26:18.490262 FTP server listens on port IPv4/39739 19:26:18.490434 logged pid 85249 in log/4/server/ftp_server.pid 19:26:18.490477 Awaiting inpCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind124 ../src/curl -q --output log/19/curl124.out --include --trace-ascii log/19/trace124 --trace-time ftp://127.0.0.1:38555/124 > log/19/stdout124 2> log/19/stderr124 ut === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.089425 Running IPv4 version 19:26:18.089530 Listening on port 39739 19:26:18.089584 Wrote pid 85274 to log/4/server/ftp_sockctrl.pid 19:26:18.089619 Wrote port 39739 to log/4/server/ftp_server.port 19:26:18.089640 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 121 === End of file server.cmd === Start of file valgrind121 ==85832== ==85832== Process terminating with default action of signal 4 (SIGILL) ==85832== Illegal opcode at address 0x492B75F ==85832== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85832== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85832== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85832== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85832== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85832== by 0x49908EB: curl_version_info (version.c:600) ==85832== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85832== by 0x4003269: main (tool_main.c:195) === End of file valgrind121 test 0124 [FTP download, failed PWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind124 ../src/curl -q --output log/19/curl124.out --include --trace-ascii log/19/trace124 --trace-time ftp://127.0.0.1:38555/124 > log/19/stdout124 2> log/19/stderr124 124: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind124 ../src/curl -q --output log/19/curl124.out --include --trace-ascii log/19/trace124 --trace-time ftp://127.0.0.1:38555/124 > log/19/stdout124 2> log/19/stderr124 === End of file commands.log === Start of file ftp_server.log 19:26:19.438834 ====> Client connect 19:26:19.439063 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:19.443001 < "USER anonymous" 19:26:19.443051 > "331 We are happy you popped in![CR][LF]" 19:26:19.448886 < "PASS ftp@example.com" 19:26:19.448935 > "230 Welcome you silly person[CR][LF]" 19:26:19.449267 < "PWD" 19:26:19.449326 > "257 "/" is current directory[CR][LF]" 19:26:19.450126 < "EPSV" 19:26:19.450157 ====> Passive DATA channel requested by client 19:26:19.450174 DATA sockfilt for passive data channel starting... 19:26:19.458708 DATA sockfilt for passive data channel started (pid 85827) 19:26:19.458865 DATA sockfilt for passive data channel listens on port 38801 19:26:19.458913 > "229 Entering Passive Mode (|||38801|)[CR][LF]" 19:26:19.458929 Client has been notified that upcoming DATA connection is awaited on port 38801 19:26:19.459238 Client connects to port 38801 19:26:19.459270 ====> Client established passive DATA connection on port 38801 19:26:19.459355 < "TYPE I" 19:26:19.459386 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:19.459542 < "SIZE verifiedserver" 19:26:19.459580 > "213 17[CR][LF]" 19:26:19.459727 < "RETR verifiedserver" 19:26:19.459760 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:19.459844 =====> Closing passive DATA connection... 19:26:19.459860 Server disconnects passive DATA connection 19:26:19.460082 Server disconnected passive DATA connection 19:26:19.460107 DATA sockfilt for passive data channel quits (pid 85827) 19:26:19.460354 DATA sockfilt for passive data channel quit (pid 85827) 19:26:19.460381 =====> Closed passive DATA connection 19:26:19.460408 > "226 File transfer complete[CR][LF]" 19:26:19.508889 < "QUIT" 19:26:19.508952 > "221 bye bye baby[CR][LF]" 19:26:19.510179 MAIN sockfilt said DISC 19:26:19.510215 ====> Client disconnected 19:26:19.510299 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:19.038435 ====> Client connect 19:26:19.038825 Received DATA (on stdin) 19:26:19.038842 > 146 bytes data, server => client 19:26:19.038853 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:19.038863 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:19.038872 '220 \___|\___/|_| \_\_____|\r\n' 19:26:19.042532 < 16 bytes data, client => server 19:26:19.042555 'USER anonymous\r\n' 19:26:19.042805 Received DATA (on stdin) 19:26:19.042818 > 33 bytes data, server => client 19:26:19.042828 '331 We are happy you popped in!\r\n' 19:26:19.048453 < 22 bytes data, client => server 19:26:19.048484 'PASS ftp@example.com\r\n' 19:26:19.048692 Received DATA (on stdin) 19:26:19.048705 > 30 bytes data, server => client 19:26:19.048715 '230 Welcome you silly person\r\n' 19:26:19.048833 < 5 bytes data, client => server 19:26:19.048863 'PWD\r\n' 19:26:19.049077 Received DATA (on stdin) 19:26:19.049087 > 30 bytes data, server => client 19:26:19.049097 '257 "/" is current directory\r\n' 19:26:19.049160 < 6 bytes data, client => server 19:26:19.049171 'EPSV\r\n' 19:26:19.058687 Received DATA (on stdin) 19:26:19.058703 > 39 bytes data, server => client 19:26:19.058713 '229 Entering Passive Mode (|||38801|)\r\n' 19:26:19.058912 < 8 bytes data, client => server 19:26:19.058926 'TYPE I\r\n' 19:26:19.059139 Received DATA (on stdin) 19:26:19.059150 > 33 bytes data, server => client 19:26:19.059159 '200 I modify TYPE as you wanted\r\n' 19:26:19.059212 < 21 bytes data, client => server 19:26:19.059222 'SIZE verifiedserver\r\n' 19:26:19.059332 Received DATA (on stdin) 19:26:19.059342 > 8 bytes data, server => client 19:26:19.059350 '213 17\r\n' 19:26:19.059398 < 21 bytes data, client => server 19:26:19.059408 'RETR verifiedserver\r\n' 19:26:19.059612 Received DATA (on stdin) 19:26:19.059623 > 29 bytes data, server => client 19:26:19.059632 '150 Binary junk (17 bytes).\r\n' 19:26:19.060161 Received DATA (on stdin) 19:26:19.060172 > 28 bytes data, server => client 19:26:19.060182 '226 File transfer complete\r\n' 19:26:19.108442 < 6 bytes data, client => server 19:26:19.108480 'QUIT\r\n' 19:26:19.108721 Received DATA (on stdin) 19:26:19.108732 > 18 bytes data, server => client 19:26:19.108742 '221 bye bye baby\r\n' 19:26:19.109881 ====> Client disconnect 19:26:19.110067 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:19.051316 Running IPv4 version 19:26:19.051517 Listening on port 38801 19:26:19.051567 Wrote pid 85827 to log/19/server/ftp_sockdata.pid 19:26:19.057353 Received PING (on stdin) 19:26:19.058514 Received PORT (on stdin) 19:26:19.058945 ====> Client connect 19:26:19.059685 Received DATA (on stdin) 19:26:19.059697 > 17 bytes data, server => client 19:26:19.059706 'WE ROOLZ: 84587\r\n' 19:26:19.059731 Received DISC (on stdin) 19:26:19.059741 ====> Client forcibly disconnected 19:26:19.059864 Received QUIT (on stdin) 19:26:19.059874 quits 19:26:19.059942 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 314 bluah you f00l REPLY EPSV 314 bluah you f00l Testnum 124 === End of file server.cmd === Start of file valgrind124 ==85899== ==85899== Process terminating with default action of signal 4 (SIGILL) ==85899== Illegal opcode at address 0x492B75F ==85899== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85899== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85899== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85899== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85899== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85899== by 0x49908EB: curl_version_info (version.c:600) ==85899== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85899== by 0x4003269: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-time ftp://127.0.0.1:40031/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-time ftp://127.0.0.1:40417/118 > log/12/stdout118 2> log/12/stderr118 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind125 ../src/curl -q --output log/21/curl125.out --include --trace-ascii log/21/trace125 --trace-time ftp://127.0.0.1:35787/path/to/file/125 > log/21/stdout125 2> log/21/stderr125 UnknownInlinedFun (tool_cfgable.c:339) ==85899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85899== by 0x4003269: main (tool_main.c:195) === End of file valgrind124 test 0128 [FTP upload with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-time ftp://127.0.0.1:40031/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 128: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 128 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind128 ../src/curl -q --output log/16/curl128.out --include --trace-ascii log/16/trace128 --trace-time ftp://127.0.0.1:40031/128 -T log/16/upload128 --crlf > log/16/stdout128 2> log/16/stderr128 === End of file commands.log === Start of file ftp_server.log 19:26:20.105235 ====> Client connect 19:26:20.105521 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.106167 < "USER anonymous" 19:26:20.106219 > "331 We are happy you popped in![CR][LF]" 19:26:20.106446 < "PASS ftp@example.com" 19:26:20.106486 > "230 Welcome you silly person[CR][LF]" 19:26:20.106690 < "PWD" 19:26:20.106731 > "257 "/" is current directory[CR][LF]" 19:26:20.106943 < "EPSV" 19:26:20.106982 ====> Passive DATA channel requested by client 19:26:20.107004 DATA sockfilt for passive data channel starting... 19:26:20.110709 DATA sockfilt for passive data channel started (pid 86213) 19:26:20.110830 DATA sockfilt for passive data channel listens on port 38747 19:26:20.110878 > "229 Entering Passive Mode (|||38747|)[CR][LF]" 19:26:20.110893 Client has been notified that upcoming DATA connection is awaited on port 38747 19:26:20.111177 Client connects to port 38747 19:26:20.111208 ====> Client established passive DATA connection on port 38747 19:26:20.111298 < "TYPE I" 19:26:20.111331 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.111492 < "SIZE verifiedserver" 19:26:20.111534 > "213 17[CR][LF]" 19:26:20.111680 < "RETR verifiedserver" 19:26:20.111711 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.111799 =====> Closing passive DATA connection... 19:26:20.111814 Server disconnects passive DATA connection 19:26:20.112151 Server disconnected passive DATA connection 19:26:20.112180 DATA sockfilt for passive data channel quits (pid 86213) 19:26:20.112444 DATA sockfilt for passive data channel quit (pid 86213) 19:26:20.112472 =====> Closed passive DATA connection 19:26:20.112504 > "226 File transfer complete[CR][LF]" 19:26:20.158834 < "QUIT" 19:26:20.158897 > "221 bye bye baby[CR][LF]" 19:26:20.163286 MAIN sockfilt said DISC 19:26:20.163337 ====> Client disconnected 19:26:20.163418 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:19.704511 ====> Client connect 19:26:19.705470 Received DATA (on stdin) 19:26:19.705490 > 146 bytes data, server => client 19:26:19.705503 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:19.705512 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:19.705522 '220 \___|\___/|_| \_\_____|\r\n' 19:26:19.705878 < 16 bytes data, client => server 19:26:19.705898 'USER anonymous\r\n' 19:26:19.706147 Received DATA (on stdin) 19:26:19.706162 > 33 bytes data, server => client 19:26:19.706174 '331 We are happy you popped in!\r\n' 19:26:19.706243 < 22 bytes data, client => server 19:26:19.706259 'PASS ftp@example.com\r\n' 19:26:19.706411 Received DATA (on stdin) 19:26:19.706425 > 30 bytes data, server => client 19:26:19.706436 '230 Welcome you silly person\r\n' 19:26:19.706499 < 5 bytes data, client => server 19:26:19.706514 'PWD\r\n' 19:26:19.706657 Received DATA (on stdin) 19:26:19.706670 > 30 bytes data, server => client 19:26:19.706681 '257 "/" is current directory\r\n' 19:26:19.706754 < 6 bytes data, client => server 19:26:19.706771 'EPSV\r\n' 19:26:19.710817 Received DATA (on stdin) 19:26:19.710834 > 39 bytes data, server => client 19:26:19.710845 '229 Entering Passive Mode (|||38747|)\r\n' 19:26:19.711011 < 8 bytes data, client => server 19:26:19.711026 'TYPE I\r\n' 19:26:19.711249 Received DATA (on stdin) 19:26:19.711260 > 33 bytes data, server => client 19:26:19.711269 '200 I modify TYPE as you wanted\r\n' 19:26:19.711325 < 21 bytes data, client => server 19:26:19.711335 'SIZE verifiedserver\r\n' 19:26:19.711451 Received DATA (on stdin) 19:26:19.711460 > 8 bytes data, server => client 19:26:19.711469 '213 17\r\n' 19:26:19.711517 < 21 bytes data, client => server 19:26:19.711527 'RETR verifiedserver\r\n' 19:26:19.711733 Received DATA (on stdin) 19:26:19.711743 > 29 bytes data, server => client 19:26:19.711753 '150 Binary junk (17 bytes).\r\n' 19:26:19.712426 Received DATA (on stdin) 19:26:19.712438 > 28 bytes data, server => client 19:26:19.712448 '226 File transfer complete\r\n' 19:26:19.755613 < 6 bytes data, client => server 19:26:19.755655 'QUIT\r\n' 19:26:19.758838 Received DATA (on stdin) 19:26:19.758856 > 18 bytes data, server => client 19:26:19.758866 '221 bye bye baby\r\n' 19:26:19.763129 ====> Client disconnect 19:26:19.775267 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.708811 Running IPv4 version 19:26:20.708904 Listening on port 38747 19:26:20.708951 Wrote pid 86213 to log/16/server/ftp_sockdata.pid 19:26:20.710561 Received PING (on stdin) 19:26:20.710659 Received PORT (on stdin) 19:26:20.711047 ====> Client connect 19:26:20.711778 Received DATA (on stdin) 19:26:20.711790 > 17 bytes data, server => client 19:26:20.711799 'WE ROOLZ: 84702\r\n' 19:26:20.711822 Received DISC (on stdin) 19:26:20.711832 ====> Client forcibly disconnected 19:26:20.712105 Received QUIT (on stdin) 19:26:20.712116 quits 19:26:20.712181 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 128 === End of file server.cmd === Start of file upload128 file with Unix newlines meant to be converted with the --crlf option === End of file upload128 === Start of file valgrind128 ==86296== ==86296== Process terminating with default action of signal 4 (SIGILL) ==86296== Illegal opcode at address 0x492B75F ==86296== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86296== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86296== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86296== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86296== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86296== by 0x49908EB: curl_version_info (version.c:600) ==86296== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86296== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86296== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86296== by 0x4003269: main (tool_main.c:195) === End of file valgrind128 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/ftp_server.pid" --logfile "log/12/ftp_server.log" --logdir "log/12" --portfile "log/12/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40417 (log/12/server/ftp_server.port) RUN: FTP server is PID 85158 port 40417 * pid ftp => 85158 85158 test 0118 [FTP download, failed RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-time ftp://127.0.0.1:40417/118 > log/12/stdout118 2> log/12/stderr118 118: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind118 ../src/curl -q --output log/12/curl118.out --include --trace-ascii log/12/trace118 --trace-time ftp://127.0.0.1:40417/118 > log/12/stdout118 2> log/12/stderr118 === End of file commands.log === Start of file ftp_server.log 19:26:18.330176 FTP server listens on port IPv4/40417 19:26:18.330312 logged pid 85158 in log/12/server/ftp_server.pid 19:26:18.330352 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.928698 Running IPv4 version 19:26:18.928790 Listening on port 40417 19:26:18.928842 Wrote pid 85189 to log/12/server/ftp_sockctrl.pid 19:26:18.928873 Wrote port 40417 to log/12/server/ftp_server.port 19:26:18.928895 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY RETR 314 bluah you f00l REPLY EPSV 314 bluah you f00l REPLY SIZE 500 command not understood Testnum 118 === End of file server.cmd === Start of file valgrind118 ==85656== ==85656== Process terminating with default action of signal 4 (SIGILL) ==85656== Illegal opcode at address 0x492B75F ==85656== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85656== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85656== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85656== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85656== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85656== by 0x49908EB: curl_version_info (version.c:600) ==85656== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85656== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85656== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85656== by 0x4003269: main (tool_main.c:195) === End of file valgrind118 test 0125 [FTP download, failed CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind125 ../src/curl -q --output log/21/curl125.out --include --trace-ascii log/21/trace125 --trace-time ftp://127.0.0.1:35787/path/to/file/125 > log/21/stdout125 2> log/21/stderr125 125: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind125 ../src/curl -q --output log/21/curl125.out --include --trace-ascii log/21/trace125 --trace-time ftp://127.0.0.1:35787/path/to/file/125 > log/21/stdout125 2> log/21/stderr125 === End of file commands.log === Start of file ftp_server.log 19:26:19.912163 ====> Client connect 19:26:19.912414 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:19.912783 < "USER anonymous" 19:26:19.912829 > "331 We are happy you popped in![CR][LF]" 19:26:19.913027 < "PASS ftp@example.com" 19:26:19.913058 > "230 Welcome you silly person[CR][LF]" 19:26:19.913244 < "PWD" 19:26:19.913283 > "257 "/" is current directory[CR][LF]" 19:26:19.913482 < "EPSV" 19:26:19.913518 ====> Passive DATA channel requested by client 19:26:19.913534 DATA sockfilt for passive data channel starting... 19:26:19.918922 DATA sockfilt for passive data channel started (pid 86111) 19:26:19.919052 DATA sockfilt for passive data channel listens on port 46373 19:26:19.919103 > "229 Entering Passive Mode (|||46373|)[CR][LF]" 19:26:19.919120 Client has been notified that upcoming DATA connection is awaited on port 46373 19:26:19.919419 Client connects to port 46373 19:26:19.919450 ====> Client established passive DATA connection on port 46373 19:26:19.919542 < "TYPE I" 19:26:19.919571 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:19.919725 < "SIZE verifiedserver" 19:26:19.919764 > "213 17[CR][LF]" 19:26:19.919909 < "RETR verifiedserver" 19:26:19.919940 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:19.920030 =====> Closing passive DATA connection... 19:26:19.920046 Server disconnects passive DATA connection 19:26:19.920235 Server disconnected passive DATA connection 19:26:19.920258 DATA sockfilt for passive data channel quits (pid 86111) 19:26:19.920569 DATA sockfilt for passive data channel quit (pid 86111) 19:26:19.920595 =====> Closed passive DATA connection 19:26:19.920622 > "226 File transfer complete[CR][LF]" 19:26:19.964632 < "QUIT" 19:26:19.964686 > "221 bye bye baby[CR][LF]" 19:26:19.968759 MAIN sockfilt said DISC 19:26:19.968813 ====> Client disconnected 19:26:19.968899 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:19.511895 ====> Client connect 19:26:19.512299 Received DATA (on stdin) 19:26:19.512315 > 146 bytes data, server => client 19:26:19.512326 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:19.512342 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:19.512352 '220 \___|\___/|_| \_\_____|\r\n' 19:26:19.512464 < 16 bytes data, client => server 19:26:19.512480 'USER anonymous\r\n' 19:26:19.512705 Received DATA (on stdin) 19:26:19.512718 > 33 bytes data, server => client 19:26:19.512729 '331 We are happy you popped in!\r\n' 19:26:19.512789 < 22 bytes data, client => server 19:26:19.512802 'PASS ftp@example.com\r\n' 19:26:19.512929 Received DATA (on stdin) 19:26:19.512942 > 30 bytes data, server => client 19:26:19.512952 '230 Welcome you silly person\r\n' 19:26:19.513013 < 5 bytes data, client => server 19:26:19.513028 'PWD\r\n' 19:26:19.513155 Received DATA (on stdin) 19:26:19.513166 > 30 bytes data, server => client 19:26:19.513177 '257 "/" is current directory\r\n' 19:26:19.513250 < 6 bytes data, client => server 19:26:19.513265 'EPSV\r\n' 19:26:19.518997 Received DATA (on stdin) 19:26:19.519012 > 39 bytes data, server => client 19:26:19.519023 '229 Entering Passive Mode (|||46373|)\r\n' 19:26:19.519210 < 8 bytes data, client => server 19:26:19.519223 'TYPE I\r\n' 19:26:19.519440 Received DATA (on stdin) 19:26:19.519451 > 33 bytes data, server => client 19:26:19.519461 '200 I modify TYPE as you wanted\r\n' 19:26:19.519513 < 21 bytes data, client => server 19:26:19.519524 'SIZE verifiedserver\r\n' 19:26:19.519631 Received DATA (on stdin) 19:26:19.519641 > 8 bytes data, server => client 19:26:19.519651 '213 17\r\n' 19:26:19.519701 < 21 bytes data, client => server 19:26:19.519711 'RETR verifiedserver\r\n' 19:26:19.519915 Received DATA (on stdin) 19:26:19.519926 > 29 bytes data, server => client 19:26:19.519935 '150 Binary junk (17 bytes).\r\n' 19:26:19.520492 Received DATA (on stdin) 19:26:19.520504 > 28 bytes data, server => client 19:26:19.520514 '226 File transfer complete\r\n' 19:26:19.564325 < 6 bytes data, client => server 19:26:19.564355 'QUIT\r\n' 19:26:19.564569 Received DATA (on stdin) 19:26:19.564578 > 18 bytes data, server => client 19:26:19.564588 '221 bye bye baby\r\n' 19:26:19.568553 ====> Client disconnect 19:26:19.568786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:19.515330 Running IPv4 version 19:26:19.515412 Listening on port 46373 19:26:19.515461 Wrote pid 86111 to log/21/server/ftp_sockdata.pid 19:26:19.518713 Received PING (on stdin) 19:26:19.518826 Received PORT (on stdin) 19:26:19.519243 ====> Client connect 19:26:19.519992 Received DATA (on stdin) 19:26:19.520004 > 17 bytes data, server => client 19:26:19.520014 'WE ROOLZ: 84694\CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind131 ../src/curl -q --output log/7/curl131.out --include --trace-ascii log/7/trace131 --trace-time --netrc-optional --netrc-file log/7/netrc131 ftp://user2@127.0.0.1:44283/ > log/7/stdout131 2> log/7/stderr131 r\n' 19:26:19.520042 Received DISC (on stdin) 19:26:19.520053 ====> Client forcibly disconnected 19:26:19.520183 Received QUIT (on stdin) 19:26:19.520195 quits 19:26:19.520258 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 314 bluah you f00l Testnum 125 === End of file server.cmd === Start of file valgrind125 ==86124== ==86124== Process terminating with default action of signal 4 (SIGILL) ==86124== Illegal opcode at address 0x492B75F ==86124== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86124== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86124== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86124== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86124== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86124== by 0x49908EB: curl_version_info (version.c:600) ==86124== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86124== by 0x4003269: main (tool_main.c:195) === End of file valgrind125 test 0131 [FTP (optional .netrc; user/no pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind131 ../src/curl -q --output log/7/curl131.out --include --trace-ascii log/7/trace131 --trace-time --netrc-optional --netrc-file log/7/netrc131 ftp://user2@127.0.0.1:44283/ > log/7/stdout131 2> log/7/stderr131 131: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 131 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind131 ../src/curl -q --output log/7/curl131.out --include --trace-ascii log/7/trace131 --trace-time --netrc-optional --netrc-file log/7/netrc131 ftp://user2@127.0.0.1:44283/ > log/7/stdout131 2> log/7/stderr131 === End of file commands.log === Start of file ftp_server.log 19:26:20.427655 ====> Client connect 19:26:20.427909 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.429031 < "USER anonymous" 19:26:20.429091 > "331 We are happy you popped in![CR][LF]" 19:26:20.429492 < "PASS ftp@example.com" 19:26:20.429533 > "230 Welcome you silly person[CR][LF]" 19:26:20.429712 < "PWD" 19:26:20.429753 > "257 "/" is current directory[CR][LF]" 19:26:20.429937 < "EPSV" 19:26:20.429972 ====> Passive DATA channel requested by client 19:26:20.429987 DATA sockfilt for passive data channel starting... 19:26:20.432514 DATA sockfilt for passive data channel started (pid 86513) 19:26:20.439442 DATA sockfilt for passive data channel listens on port 39117 19:26:20.439542 > "229 Entering Passive Mode (|||39117|)[CR][LF]" 19:26:20.439569 Client has been notified that upcoming DATA connection is awaited on port 39117 19:26:20.439959 Client connects to port 39117 19:26:20.439999 ====> Client established passive DATA connection on port 39117 19:26:20.440116 < "TYPE I" 19:26:20.440206 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.440398 < "SIZE verifiedserver" 19:26:20.440454 > "213 17[CR][LF]" 19:26:20.440645 < "RETR verifiedserver" 19:26:20.440685 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.441126 =====> Closing passive DATA connection... 19:26:20.441153 Server disconnects passive DATA connection 19:26:20.441178 Fancy that; client wants to DISC, too 19:26:20.441266 Server disconnected passive DATA connection 19:26:20.441292 DATA sockfilt for passive data channel quits (pid 86513) 19:26:20.441571 DATA sockfilt for passive data channel quit (pid 86513) 19:26:20.441601 =====> Closed passive DATA connection 19:26:20.441633 > "226 File transfer complete[CR][LF]" 19:26:20.485659 < "QUIT" 19:26:20.485724 > "221 bye bye baby[CR][LF]" 19:26:20.486835 MAIN sockfilt said DISC 19:26:20.486880 ====> Client disconnected 19:26:20.486963 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.027508 ====> Client connect 19:26:21.027923 Received DATA (on stdin) 19:26:21.027937 > 146 bytes data, server => client 19:26:21.027948 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.027958 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.027967 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.028775 < 16 bytes data, client => server 19:26:21.028802 'USER anonymous\r\n' 19:26:21.029264 Received DATA (on stdin) 19:26:21.029285 > 33 bytes data, server => client 19:26:21.029297 '331 We are happy you popped in!\r\n' 19:26:21.029365 < 22 bytes data, client => server 19:26:21.029378 'PASS ftp@example.com\r\n' 19:26:21.029536 Received DATA (on stdin) 19:26:21.029548 > 30 bytes data, server => client 19:26:21.029559 '230 Welcome you silly person\r\n' 19:26:21.029615 < 5 bytes data, client => server 19:26:21.029627 'PWD\r\n' 19:26:21.029756 Received DATA (on stdin) 19:26:21.029768 > 30 bytes data, server => client 19:26:21.029778 '257 "/" is current directory\r\n' 19:26:21.029843 < 6 bytes data, client => server 19:26:21.029856 'EPSV\r\n' 19:26:21.039587 Received DATA (on stdin) 19:26:21.039608 > 39 bytes data, server => client 19:26:21.039619 '229 Entering Passive Mode (|||39117|)\r\n' 19:26:21.039857 < 8 bytes data, client => server 19:26:21.039876 'TYPE I\r\n' 19:26:21.040141 Received DATA (on stdin) 19:26:21.040156 > 33 bytes data, server => client 19:26:21.040217 '200 I modify TYPE as you wanted\r\n' 19:26:21.040287 < 21 bytes data, client => server 19:26:21.040302 'SIZE verifiedserver\r\n' 19:26:21.040464 Received DATA (on stdin) 19:26:21.040477 > 8 bytes data, server => client 19:26:21.040486 '213 17\r\n' 19:26:21.040548 < 21 bytes data, client => server 19:26:21.040562 'RETR verifiedserver\r\n' 19:26:21.040853 Received DATA (on stdin) 19:26:21.040869 > 29 bytes data, server => client 19:26:21.040879 '150 Binary junk (17 bytes).\r\n' 19:26:21.041638 Received DATA (on stdin) 19:26:21.041651 > 28 bytes data, server => client 19:26:21.041661 '226 File transfer complete\r\n' 19:26:21.085457 < 6 bytes data, client => server 19:26:21.085500 'QUIT\r\n' 19:26:21.085746 Received DATA (on stdin) 19:26:21.085760 > 18 bytes data, server => client 19:26:21.085771 '221 bye bye baby\r\n' 19:26:21.086775 ====> Client disconnect 19:26:21.086986 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.032295 Running IPv4 version 19:26:20.032376 Listening on port 39117 19:26:20.032434 Wrote pid 86513 to log/7/server/ftp_sockdata.pid 19:26:20.032456 Received PING (on stdin) 19:26:20.038678 Received PORT (on stdin) 19:26:20.039904 ====> Client connect 19:26:20.040945 Received DATA (on stdin) 19:26:20.040961 > 17 bytes data, server => client 19:26:20.040972 'WE ROOLZ: 84721\r\n' 19:26:20.041047 ====> Client disconnect 19:26:20.041179 Received DISC (on stdin) 19:26:20.041189 Crikey! Client also wants to disconnect 19:26:20.041199 Received ACKD (on stdin) 19:26:20.041304 Received QUIT (on stdin) 19:26:20.041315 quits 19:26:20.041390 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc131 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc131 === Start of file server.cmd Testnum 131 === End of file server.cmd === Start of file valgrind131 ==86546== ==86546== Process terminating with default action of signal 4 (SIGILL) ==86546== Illegal opcode at address 0x492B75F ==86546== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86546== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86546== by 0x492B67B: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind117 ../src/curl -q --output log/10/curl117.out --include --trace-ascii log/10/trace117 --trace-time ftp://127.0.0.1:44817/117 > log/10/stdout117 2> log/10/stderr117 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind123 ../src/curl -q --output log/6/curl123.out --include --trace-ascii log/6/trace123 --trace-time ftp://127.0.0.1:33989/123 -T log/6/upload123 -C 51 > log/6/stdout123 2> log/6/stderr123 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind127 ../src/curl -q --output log/23/curl127.out --include --trace-ascii log/23/trace127 --trace-time ftp://127.0.0.1:35523/path/to/file/127 --disable-epsv > log/23/stdout127 2> log/23/stderr127 curl_msnprintf (mprintf.c:1277) ==86546== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86546== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86546== by 0x49908EB: curl_version_info (version.c:600) ==86546== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86546== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86546== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86546== by 0x4003269: main (tool_main.c:195) === End of file valgrind131 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/ftp_server.pid" --logfile "log/10/ftp_server.log" --logdir "log/10" --portfile "log/10/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44817 (log/10/server/ftp_server.port) RUN: FTP server is PID 85153 port 44817 * pid ftp => 85153 85153 test 0117 [FTP download, failed TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind117 ../src/curl -q --output log/10/curl117.out --include --trace-ascii log/10/trace117 --trace-time ftp://127.0.0.1:44817/117 > log/10/stdout117 2> log/10/stderr117 117: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 117 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind117 ../src/curl -q --output log/10/curl117.out --include --trace-ascii log/10/trace117 --trace-time ftp://127.0.0.1:44817/117 > log/10/stdout117 2> log/10/stderr117 === End of file commands.log === Start of file ftp_server.log 19:26:18.353501 FTP server listens on port IPv4/44817 19:26:18.353597 logged pid 85153 in log/10/server/ftp_server.pid 19:26:18.353621 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.952593 Running IPv4 version 19:26:18.952677 Listening on port 44817 19:26:18.952710 Wrote pid 85201 to log/10/server/ftp_sockctrl.pid 19:26:18.952736 Wrote port 44817 to log/10/server/ftp_server.port 19:26:18.952879 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 314 bluah you f00l REPLY TYPE 314 bluah you f00l Testnum 117 === End of file server.cmd === Start of file valgrind117 ==85655== ==85655== Process terminating with default action of signal 4 (SIGILL) ==85655== Illegal opcode at address 0x492B75F ==85655== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==85655== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==85655== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==85655== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==85655== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==85655== by 0x49908EB: curl_version_info (version.c:600) ==85655== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==85655== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==85655== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==85655== by 0x4003269: main (tool_main.c:195) === End of file valgrind117 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_server.pid" --logfile "log/6/ftp_server.log" --logdir "log/6" --portfile "log/6/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33989 (log/6/server/ftp_server.port) RUN: FTP server is PID 85558 port 33989 * pid ftp => 85558 85558 test 0123 [FTP upload resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind123 ../src/curl -q --output log/6/curl123.out --include --trace-ascii log/6/trace123 --trace-time ftp://127.0.0.1:33989/123 -T log/6/upload123 -C 51 > log/6/stdout123 2> log/6/stderr123 123: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind123 ../src/curl -q --output log/6/curl123.out --include --trace-ascii log/6/trace123 --trace-time ftp://127.0.0.1:33989/123 -T log/6/upload123 -C 51 > log/6/stdout123 2> log/6/stderr123 === End of file commands.log === Start of file ftp_server.log 19:26:19.149034 FTP server listens on port IPv4/33989 19:26:19.149142 logged pid 85558 in log/6/server/ftp_server.pid 19:26:19.149172 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:19.748235 Running IPv4 version 19:26:19.748379 Listening on port 33989 19:26:19.748427 Wrote pid 85573 to log/6/server/ftp_sockctrl.pid 19:26:19.748459 Wrote port 33989 to log/6/server/ftp_server.port 19:26:19.748606 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 123 === End of file server.cmd === Start of file upload123 -------------------------------------------------- === End of file upload123 === Start of file valgrind123 ==86226== ==86226== Process terminating with default action of signal 4 (SIGILL) ==86226== Illegal opcode at address 0x492B75F ==86226== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86226== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86226== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86226== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86226== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86226== by 0x49908EB: curl_version_info (version.c:600) ==86226== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86226== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86226== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86226== by 0x4003269: main (tool_main.c:195) === End of file valgrind123 test 0127 [FTP --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind127 ../src/curl -q --output log/23/curl127.out --include --trace-ascii log/23/trace127 --trace-time ftp://127.0.0.1:35523/path/to/file/127 --disable-epsv > log/23/stdout127 2> log/23/stderr127 127: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind127 ../src/curl -q --output log/23/curl127.out --include --trace-ascii log/23/trace127 --trace-time ftp://127.0.0.1:35523/path/to/file/127 --disable-epsv > log/23/stdout127 2> log/23/stderr127 === End of file commands.log === Start of file ftp_server.log 19:26:20.039034 ====> Client connect 19:26:20.039265 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.042839 < "USER anonymous" 19:26:20.042893 > "331 We are happy you popped in![CR][LF]" 19:26:20.043086 < "PASS ftp@example.com" 19:26:20.043117 > "230 Welcome you silly person[CR][LF]" 19:26:20.043285 < "PWD" 19:26:20.043322 > "257 "/" is current directory[CR][LF]" 19:26:20.043515 < "EPSV" 19:26:20.043547 ====> Passive DATA channel requested by client 19:26:20.043563 DATA sockfilt for passive data channel starting... 19:26:20.045556 DATA sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind132 ../src/curl -q --output log/17/curl132.out --include --trace-ascii log/17/trace132 --trace-time --netrc-optional --netrc-file log/17/netrc132 ftp://mary:mark@127.0.0.1:46137/ > log/17/stdout132 2> log/17/stderr132 ockfilt for passive data channel started (pid 86165) 19:26:20.045672 DATA sockfilt for passive data channel listens on port 41833 19:26:20.045757 > "229 Entering Passive Mode (|||41833|)[CR][LF]" 19:26:20.045780 Client has been notified that upcoming DATA connection is awaited on port 41833 19:26:20.045970 Client connects to port 41833 19:26:20.046003 ====> Client established passive DATA connection on port 41833 19:26:20.046184 < "TYPE I" 19:26:20.046220 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.046418 < "SIZE verifiedserver" 19:26:20.046501 > "213 17[CR][LF]" 19:26:20.046677 < "RETR verifiedserver" 19:26:20.046719 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.047033 =====> Closing passive DATA connection... 19:26:20.047061 Server disconnects passive DATA connection 19:26:20.047154 Server disconnected passive DATA connection 19:26:20.047185 DATA sockfilt for passive data channel quits (pid 86165) 19:26:20.047466 DATA sockfilt for passive data channel quit (pid 86165) 19:26:20.047495 =====> Closed passive DATA connection 19:26:20.047557 > "226 File transfer complete[CR][LF]" 19:26:20.092382 < "QUIT" 19:26:20.092448 > "221 bye bye baby[CR][LF]" 19:26:20.093772 MAIN sockfilt said DISC 19:26:20.093809 ====> Client disconnected 19:26:20.093929 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.638644 ====> Client connect 19:26:20.639186 Received DATA (on stdin) 19:26:20.639204 > 146 bytes data, server => client 19:26:20.639215 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.639225 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.639233 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.642510 < 16 bytes data, client => server 19:26:20.642532 'USER anonymous\r\n' 19:26:20.642803 Received DATA (on stdin) 19:26:20.642816 > 33 bytes data, server => client 19:26:20.642827 '331 We are happy you popped in!\r\n' 19:26:20.642885 < 22 bytes data, client => server 19:26:20.642898 'PASS ftp@example.com\r\n' 19:26:20.643018 Received DATA (on stdin) 19:26:20.643030 > 30 bytes data, server => client 19:26:20.643040 '230 Welcome you silly person\r\n' 19:26:20.643095 < 5 bytes data, client => server 19:26:20.643108 'PWD\r\n' 19:26:20.643225 Received DATA (on stdin) 19:26:20.643236 > 30 bytes data, server => client 19:26:20.643246 '257 "/" is current directory\r\n' 19:26:20.643315 < 6 bytes data, client => server 19:26:20.643330 'EPSV\r\n' 19:26:20.645594 Received DATA (on stdin) 19:26:20.645608 > 39 bytes data, server => client 19:26:20.645688 '229 Entering Passive Mode (|||41833|)\r\n' 19:26:20.645974 < 8 bytes data, client => server 19:26:20.645991 'TYPE I\r\n' 19:26:20.646127 Received DATA (on stdin) 19:26:20.646141 > 33 bytes data, server => client 19:26:20.646152 '200 I modify TYPE as you wanted\r\n' 19:26:20.646209 < 21 bytes data, client => server 19:26:20.646224 'SIZE verifiedserver\r\n' 19:26:20.646343 Received DATA (on stdin) 19:26:20.646357 > 8 bytes data, server => client 19:26:20.646412 '213 17\r\n' 19:26:20.646475 < 21 bytes data, client => server 19:26:20.646490 'RETR verifiedserver\r\n' 19:26:20.646637 Received DATA (on stdin) 19:26:20.646651 > 29 bytes data, server => client 19:26:20.646662 '150 Binary junk (17 bytes).\r\n' 19:26:20.647404 Received DATA (on stdin) 19:26:20.647417 > 28 bytes data, server => client 19:26:20.647463 '226 File transfer complete\r\n' 19:26:20.692077 < 6 bytes data, client => server 19:26:20.692112 'QUIT\r\n' 19:26:20.692374 Received DATA (on stdin) 19:26:20.692388 > 18 bytes data, server => client 19:26:20.692399 '221 bye bye baby\r\n' 19:26:20.693625 ====> Client disconnect 19:26:20.693858 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.645080 Running IPv4 version 19:26:20.645154 Listening on port 41833 19:26:20.645376 Wrote pid 86165 to log/23/server/ftp_sockdata.pid 19:26:20.645400 Received PING (on stdin) 19:26:20.645483 Received PORT (on stdin) 19:26:20.645817 ====> Client connect 19:26:20.646693 Received DATA (on stdin) 19:26:20.646708 > 17 bytes data, server => client 19:26:20.646761 'WE ROOLZ: 84709\r\n' 19:26:20.646972 Received DISC (on stdin) 19:26:20.646986 ====> Client forcibly disconnected 19:26:20.647092 Received QUIT (on stdin) 19:26:20.647104 quits 19:26:20.647189 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==86231== ==86231== Process terminating with default action of signal 4 (SIGILL) ==86231== Illegal opcode at address 0x492B75F ==86231== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86231== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86231== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86231== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86231== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86231== by 0x49908EB: curl_version_info (version.c:600) ==86231== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86231== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86231== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86231== by 0x4003269: main (tool_main.c:195) === End of file valgrind127 test 0132 [FTP (optional .netrc; user/passwd supplied) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind132 ../src/curl -q --output log/17/curl132.out --include --trace-ascii log/17/trace132 --trace-time --netrc-optional --netrc-file log/17/netrc132 ftp://mary:mark@127.0.0.1:46137/ > log/17/stdout132 2> log/17/stderr132 132: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind132 ../src/curl -q --output log/17/curl132.out --include --trace-ascii log/17/trace132 --trace-time --netrc-optional --netrc-file log/17/netrc132 ftp://mary:mark@127.0.0.1:46137/ > log/17/stdout132 2> log/17/stderr132 === End of file commands.log === Start of file ftp_server.log 19:26:20.571693 ====> Client connect 19:26:20.571943 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.572313 < "USER anonymous" 19:26:20.572357 > "331 We are happy you popped in![CR][LF]" 19:26:20.574402 < "PASS ftp@example.com" 19:26:20.574443 > "230 Welcome you silly person[CR][LF]" 19:26:20.575537 < "PWD" 19:26:20.575589 > "257 "/" is current directory[CR][LF]" 19:26:20.578970 < "EPSV" 19:26:20.579014 ====> Passive DATA channel requested by client 19:26:20.579031 DATA sockfilt for passive data channel starting... 19:26:20.584625 DATA sockfilt for passive data channel started (pid 86586) 19:26:20.584742 DATA sockfilt for passive data channel listens on port 40485 19:26:20.584790 > "229 Entering Passive Mode (|||40485|)[CR][LF]" 19:26:20.584806 Client has been notified that upcoming DATA connection is awaited on port 40485 19:26:20.585106 Client connects to port 40485 19:26:20.585137 ====> Client established passive DATA connection on port 40485 19:26:20.585231 < "TYPE I" 19:26:20.585274 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.585650 < "SIZE verifiedserver" 19:26:20.585703 > "213 17[CR][LF]" 19:26:20.585885 < "RETR verifiedserver" 19:26:20.585925 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.586019 =====> Closing passive DATA connection... 19:26:20.586038 Server disconnects passive DATA connection 19:26:20.586274 Server disconnected passive DATA connection 19:26:20.586306 DATA sockfilt for passive data channel quits (pid 86586) 19:26:20.586540 DATA sockfilt foCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind122 ../src/curl -q --output log/18/curl122.out --include --trace-ascii log/18/trace122 --trace-time ftp://127.0.0.1:36115/122 -C 5 > log/18/stdout122 2> log/18/stderr122 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind130 ../src/curl -q --output log/22/curl130.out --include --trace-ascii log/22/trace130 --trace-time --netrc-optional --netrc-file log/22/netrc130 ftp://127.0.0.1:33255/ > log/22/stdout130 2> log/22/stderr130 r passive data channel quit (pid 86586) 19:26:20.586568 =====> Closed passive DATA connection 19:26:20.586597 > "226 File transfer complete[CR][LF]" 19:26:20.632400 < "QUIT" 19:26:20.632459 > "221 bye bye baby[CR][LF]" 19:26:20.638762 MAIN sockfilt said DISC 19:26:20.638813 ====> Client disconnected 19:26:20.638898 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.171600 ====> Client connect 19:26:20.172015 Received DATA (on stdin) 19:26:20.172050 > 146 bytes data, server => client 19:26:20.172062 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.172072 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.172081 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.172394 < 16 bytes data, client => server 19:26:20.174171 'USER anonymous\r\n' 19:26:20.174193 Received DATA (on stdin) 19:26:20.174203 > 33 bytes data, server => client 19:26:20.174213 '331 We are happy you popped in!\r\n' 19:26:20.174276 < 22 bytes data, client => server 19:26:20.174288 'PASS ftp@example.com\r\n' 19:26:20.174535 Received DATA (on stdin) 19:26:20.174547 > 30 bytes data, server => client 19:26:20.174557 '230 Welcome you silly person\r\n' 19:26:20.175446 < 5 bytes data, client => server 19:26:20.175464 'PWD\r\n' 19:26:20.178700 Received DATA (on stdin) 19:26:20.178719 > 30 bytes data, server => client 19:26:20.178731 '257 "/" is current directory\r\n' 19:26:20.178878 < 6 bytes data, client => server 19:26:20.178890 'EPSV\r\n' 19:26:20.184850 Received DATA (on stdin) 19:26:20.184865 > 39 bytes data, server => client 19:26:20.184875 '229 Entering Passive Mode (|||40485|)\r\n' 19:26:20.185057 < 8 bytes data, client => server 19:26:20.185074 'TYPE I\r\n' 19:26:20.185316 Received DATA (on stdin) 19:26:20.185328 > 33 bytes data, server => client 19:26:20.185338 '200 I modify TYPE as you wanted\r\n' 19:26:20.185413 < 21 bytes data, client => server 19:26:20.185427 'SIZE verifiedserver\r\n' 19:26:20.185745 Received DATA (on stdin) 19:26:20.185756 > 8 bytes data, server => client 19:26:20.185766 '213 17\r\n' 19:26:20.185826 < 21 bytes data, client => server 19:26:20.185839 'RETR verifiedserver\r\n' 19:26:20.186078 Received DATA (on stdin) 19:26:20.186090 > 29 bytes data, server => client 19:26:20.186100 '150 Binary junk (17 bytes).\r\n' 19:26:20.186637 Received DATA (on stdin) 19:26:20.186649 > 28 bytes data, server => client 19:26:20.186659 '226 File transfer complete\r\n' 19:26:20.232172 < 6 bytes data, client => server 19:26:20.232204 'QUIT\r\n' 19:26:20.232523 Received DATA (on stdin) 19:26:20.232539 > 18 bytes data, server => client 19:26:20.232550 '221 bye bye baby\r\n' 19:26:20.238732 ====> Client disconnect 19:26:20.238966 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.184127 Running IPv4 version 19:26:20.184219 Listening on port 40485 19:26:20.184267 Wrote pid 86586 to log/17/server/ftp_sockdata.pid 19:26:20.184598 Received PING (on stdin) 19:26:20.184693 Received PORT (on stdin) 19:26:20.185095 ====> Client connect 19:26:20.186131 Received DATA (on stdin) 19:26:20.186144 > 17 bytes data, server => client 19:26:20.186153 'WE ROOLZ: 84749\r\n' 19:26:20.186179 Received DISC (on stdin) 19:26:20.186190 ====> Client forcibly disconnected 19:26:20.186353 Received QUIT (on stdin) 19:26:20.186365 quits 19:26:20.186430 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc132 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc132 === Start of file server.cmd Testnum 132 === End of file server.cmd === Start of file valgrind132 ==86642== ==86642== Process terminating with default action of signal 4 (SIGILL) ==86642== Illegal opcode at address 0x492B75F ==86642== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86642== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86642== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86642== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86642== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86642== by 0x49908EB: curl_version_info (version.c:600) ==86642== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86642== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86642== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86642== by 0x4003269: main (tool_main.c:195) === End of file valgrind132 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/ftp_server.pid" --logfile "log/18/ftp_server.log" --logdir "log/18" --portfile "log/18/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36115 (log/18/server/ftp_server.port) RUN: FTP server is PID 85350 port 36115 * pid ftp => 85350 85350 test 0122 [FTP download resume with whole file already downloaded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind122 ../src/curl -q --output log/18/curl122.out --include --trace-ascii log/18/trace122 --trace-time ftp://127.0.0.1:36115/122 -C 5 > log/18/stdout122 2> log/18/stderr122 122: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind122 ../src/curl -q --output log/18/curl122.out --include --trace-ascii log/18/trace122 --trace-time ftp://127.0.0.1:36115/122 -C 5 > log/18/stdout122 2> log/18/stderr122 === End of file commands.log === Start of file ftp_server.log 19:26:18.736749 FTP server listens on port IPv4/36115 19:26:18.736885 logged pid 85350 in log/18/server/ftp_server.pid 19:26:18.736924 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:18.334551 Running IPv4 version 19:26:18.334663 Listening on port 36115 19:26:18.334706 Wrote pid 85378 to log/18/server/ftp_sockctrl.pid 19:26:18.334737 Wrote port 36115 to log/18/server/ftp_server.port 19:26:18.336171 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 122 === End of file server.cmd === Start of file valgrind122 ==86022== ==86022== Process terminating with default action of signal 4 (SIGILL) ==86022== Illegal opcode at address 0x492B75F ==86022== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86022== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86022== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86022== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86022== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86022== by 0x49908EB: curl_version_info (version.c:600) ==86022== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86022== by 0x4003269: main (tool_main.c:195) === End of file valgrind122 test 0130 [FTP (optional .netrc; no user/pass) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind130 ../src/curl -q --output log/22/curl130.out --include --trace-ascii log/22/trace130 --trace-time --netrc-optional --netrc-file log/22/netrc130 ftp://127.0.0.1:33255/ > log/22/stdout130 2> log/22/stderr130 130: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 130 === Start of file commands.lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind129 ../src/curl -q --output log/3/curl129.out --include --trace-ascii log/3/trace129 --trace-time http://127.0.0.1:36161/129 > log/3/stdout129 2> log/3/stderr129 og ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind130 ../src/curl -q --output log/22/curl130.out --include --trace-ascii log/22/trace130 --trace-time --netrc-optional --netrc-file log/22/netrc130 ftp://127.0.0.1:33255/ > log/22/stdout130 2> log/22/stderr130 === End of file commands.log === Start of file ftp_server.log 19:26:20.228702 ====> Client connect 19:26:20.228947 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.238916 < "USER anonymous" 19:26:20.238990 > "331 We are happy you popped in![CR][LF]" 19:26:20.239280 < "PASS ftp@example.com" 19:26:20.239322 > "230 Welcome you silly person[CR][LF]" 19:26:20.239512 < "PWD" 19:26:20.239554 > "257 "/" is current directory[CR][LF]" 19:26:20.239750 < "EPSV" 19:26:20.239785 ====> Passive DATA channel requested by client 19:26:20.239802 DATA sockfilt for passive data channel starting... 19:26:20.247409 DATA sockfilt for passive data channel started (pid 86342) 19:26:20.247591 DATA sockfilt for passive data channel listens on port 44423 19:26:20.247657 > "229 Entering Passive Mode (|||44423|)[CR][LF]" 19:26:20.247677 Client has been notified that upcoming DATA connection is awaited on port 44423 19:26:20.248035 Client connects to port 44423 19:26:20.248073 ====> Client established passive DATA connection on port 44423 19:26:20.248182 < "TYPE I" 19:26:20.248224 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.248432 < "SIZE verifiedserver" 19:26:20.248477 > "213 17[CR][LF]" 19:26:20.248667 < "RETR verifiedserver" 19:26:20.248737 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.248837 =====> Closing passive DATA connection... 19:26:20.248856 Server disconnects passive DATA connection 19:26:20.249105 Server disconnected passive DATA connection 19:26:20.249134 DATA sockfilt for passive data channel quits (pid 86342) 19:26:20.249426 DATA sockfilt for passive data channel quit (pid 86342) 19:26:20.249457 =====> Closed passive DATA connection 19:26:20.249489 > "226 File transfer complete[CR][LF]" 19:26:20.293609 < "QUIT" 19:26:20.293669 > "221 bye bye baby[CR][LF]" 19:26:20.295114 MAIN sockfilt said DISC 19:26:20.295162 ====> Client disconnected 19:26:20.295252 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.825296 ====> Client connect 19:26:20.829249 Received DATA (on stdin) 19:26:20.829284 > 146 bytes data, server => client 19:26:20.829296 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.829305 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.829313 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.838542 < 16 bytes data, client => server 19:26:20.838577 'USER anonymous\r\n' 19:26:20.838960 Received DATA (on stdin) 19:26:20.838982 > 33 bytes data, server => client 19:26:20.838993 '331 We are happy you popped in!\r\n' 19:26:20.839105 < 22 bytes data, client => server 19:26:20.839120 'PASS ftp@example.com\r\n' 19:26:20.839277 Received DATA (on stdin) 19:26:20.839290 > 30 bytes data, server => client 19:26:20.839300 '230 Welcome you silly person\r\n' 19:26:20.839363 < 5 bytes data, client => server 19:26:20.839375 'PWD\r\n' 19:26:20.839506 Received DATA (on stdin) 19:26:20.839517 > 30 bytes data, server => client 19:26:20.839527 '257 "/" is current directory\r\n' 19:26:20.839600 < 6 bytes data, client => server 19:26:20.839615 'EPSV\r\n' 19:26:20.847642 Received DATA (on stdin) 19:26:20.847660 > 39 bytes data, server => client 19:26:20.847671 '229 Entering Passive Mode (|||44423|)\r\n' 19:26:20.847893 < 8 bytes data, client => server 19:26:20.847913 'TYPE I\r\n' 19:26:20.848183 Received DATA (on stdin) 19:26:20.848197 > 33 bytes data, server => client 19:26:20.848207 '200 I modify TYPE as you wanted\r\n' 19:26:20.848276 < 21 bytes data, client => server 19:26:20.848291 'SIZE verifiedserver\r\n' 19:26:20.848435 Received DATA (on stdin) 19:26:20.848447 > 8 bytes data, server => client 19:26:20.848457 '213 17\r\n' 19:26:20.848517 < 21 bytes data, client => server 19:26:20.848529 'RETR verifiedserver\r\n' 19:26:20.848810 Received DATA (on stdin) 19:26:20.848821 > 29 bytes data, server => client 19:26:20.848831 '150 Binary junk (17 bytes).\r\n' 19:26:20.849447 Received DATA (on stdin) 19:26:20.849460 > 28 bytes data, server => client 19:26:20.849470 '226 File transfer complete\r\n' 19:26:20.893365 < 6 bytes data, client => server 19:26:20.893397 'QUIT\r\n' 19:26:20.893641 Received DATA (on stdin) 19:26:20.893654 > 18 bytes data, server => client 19:26:20.893664 '221 bye bye baby\r\n' 19:26:20.894834 ====> Client disconnect 19:26:20.895225 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.847133 Running IPv4 version 19:26:20.847234 Listening on port 44423 19:26:20.847275 Wrote pid 86342 to log/22/server/ftp_sockdata.pid 19:26:20.847294 Received PING (on stdin) 19:26:20.847424 Received PORT (on stdin) 19:26:20.847937 ====> Client connect 19:26:20.848894 Received DATA (on stdin) 19:26:20.848907 > 17 bytes data, server => client 19:26:20.848917 'WE ROOLZ: 84714\r\n' 19:26:20.848944 Received DISC (on stdin) 19:26:20.848955 ====> Client forcibly disconnected 19:26:20.849097 Received QUIT (on stdin) 19:26:20.849108 quits 19:26:20.849181 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc130 # the following two lines were created while testing curl # machine 127.0.0.1 login user1 password commented machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 default login userdef password passwddef === End of file netrc130 === Start of file server.cmd Testnum 130 === End of file server.cmd === Start of file valgrind130 ==86433== ==86433== Process terminating with default action of signal 4 (SIGILL) ==86433== Illegal opcode at address 0x492B75F ==86433== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86433== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86433== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86433== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86433== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86433== by 0x49908EB: curl_version_info (version.c:600) ==86433== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86433== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86433== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86433== by 0x4003269: main (tool_main.c:195) === End of file valgrind130 test 0129 [HTTP/1.2 is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind129 ../src/curl -q --output log/3/curl129.out --include --trace-ascii log/3/trace129 --trace-time http://127.0.0.1:36161/129 > log/3/stdout129 2> log/3/stderr129 129: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 129 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind129 ../src/curl -q --output log/3/curl129.out --include --trace-ascii log/3/trace129 --trace-time http://127.0.0.1:36161/129 > log/3/stdout129 2> log/3/stderr129 === End of file commands.log === Start of file http_server.log 19:26:20.788680 ====> Client connect 19:26:20.788722 accept_connection 3 returned 4 19:26:20.788746 Read 93 bytes 19:26:20.788759 Process 93 bytes request 19:26:20.788785 Got request: GET /verifiedserver HTTP/1.1 19:26:20.788794 Are-we-friendly question received 19:26:20.788824 Wrote request (93 bytes) input to log/3/server.input 19:26:20.788843 IdentifyingCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind126 ../src/curl -q --output log/9/curl126.out --include --trace-ascii log/9/trace126 --trace-time ftp://127.0.0.1:36605/blalbla/lululul/126 > log/9/stdout126 2> log/9/stderr126 ourselves as friends 19:26:20.788924 Response sent (56 bytes) and written to log/3/server.response 19:26:20.788934 special request received, no persistency 19:26:20.788942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 33442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind129 ==86335== ==86335== Process terminating with default action of signal 4 (SIGILL) ==86335== Illegal opcode at address 0x492B75F ==86335== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86335== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86335== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86335== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86335== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86335== by 0x49908EB: curl_version_info (version.c:600) ==86335== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86335== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86335== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86335== by 0x4003269: main (tool_main.c:195) === End of file valgrind129 test 0126 [FTP download with multiple replies at once in RETR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind126 ../src/curl -q --output log/9/curl126.out --include --trace-ascii log/9/trace126 --trace-time ftp://127.0.0.1:36605/blalbla/lululul/126 > log/9/stdout126 2> log/9/stderr126 126: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind126 ../src/curl -q --output log/9/curl126.out --include --trace-ascii log/9/trace126 --trace-time ftp://127.0.0.1:36605/blalbla/lululul/126 > log/9/stdout126 2> log/9/stderr126 === End of file commands.log === Start of file ftp_server.log 19:26:19.883034 ====> Client connect 19:26:19.883288 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:19.883649 < "USER anonymous" 19:26:19.883703 > "331 We are happy you popped in![CR][LF]" 19:26:19.883918 < "PASS ftp@example.com" 19:26:19.883956 > "230 Welcome you silly person[CR][LF]" 19:26:19.884146 < "PWD" 19:26:19.884192 > "257 "/" is current directory[CR][LF]" 19:26:19.884370 < "EPSV" 19:26:19.884403 ====> Passive DATA channel requested by client 19:26:19.884418 DATA sockfilt for passive data channel starting... 19:26:19.892387 DATA sockfilt for passive data channel started (pid 86102) 19:26:19.892569 DATA sockfilt for passive data channel listens on port 37445 19:26:19.892629 > "229 Entering Passive Mode (|||37445|)[CR][LF]" 19:26:19.892644 Client has been notified that upcoming DATA connection is awaited on port 37445 19:26:19.893034 Client connects to port 37445 19:26:19.893074 ====> Client established passive DATA connection on port 37445 19:26:19.893187 < "TYPE I" 19:26:19.893228 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:19.893446 < "SIZE verifiedserver" 19:26:19.893504 > "213 17[CR][LF]" 19:26:19.893699 < "RETR verifiedserver" 19:26:19.893746 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:19.893851 =====> Closing passive DATA connection... 19:26:19.893870 Server disconnects passive DATA connection 19:26:19.894121 Server disconnected passive DATA connection 19:26:19.894151 DATA sockfilt for passive data channel quits (pid 86102) 19:26:19.894457 DATA sockfilt for passive data channel quit (pid 86102) 19:26:19.894484 =====> Closed passive DATA connection 19:26:19.894515 > "226 File transfer complete[CR][LF]" 19:26:19.938884 < "QUIT" 19:26:19.938934 > "221 bye bye baby[CR][LF]" 19:26:19.943273 MAIN sockfilt said DISC 19:26:19.943326 ====> Client disconnected 19:26:19.943408 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:19.482750 ====> Client connect 19:26:19.483172 Received DATA (on stdin) 19:26:19.483190 > 146 bytes data, server => client 19:26:19.483200 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:19.483210 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:19.483219 '220 \___|\___/|_| \_\_____|\r\n' 19:26:19.483314 < 16 bytes data, client => server 19:26:19.483329 'USER anonymous\r\n' 19:26:19.483571 Received DATA (on stdin) 19:26:19.483585 > 33 bytes data, server => client 19:26:19.483595 '331 We are happy you popped in!\r\n' 19:26:19.483657 < 22 bytes data, client => server 19:26:19.483670 'PASS ftp@example.com\r\n' 19:26:19.483822 Received DATA (on stdin) 19:26:19.483834 > 30 bytes data, server => client 19:26:19.483845 '230 Welcome you silly person\r\n' 19:26:19.483902 < 5 bytes data, client => server 19:26:19.483915 'PWD\r\n' 19:26:19.484053 Received DATA (on stdin) 19:26:19.484064 > 30 bytes data, server => client 19:26:19.484073 '257 "/" is current directory\r\n' 19:26:19.484136 < 6 bytes data, client => server 19:26:19.484147 'EPSV\r\n' 19:26:19.492521 Received DATA (on stdin) 19:26:19.492540 > 39 bytes data, server => client 19:26:19.492550 '229 Entering Passive Mode (|||37445|)\r\n' 19:26:19.492837 < 8 bytes data, client => server 19:26:19.492850 'TYPE I\r\n' 19:26:19.493097 Received DATA (on stdin) 19:26:19.493112 > 33 bytes data, server => client 19:26:19.493121 '200 I modify TYPE as you wanted\r\n' 19:26:19.493193 < 21 bytes data, client => server 19:26:19.493205 'SIZE verifiedserver\r\n' 19:26:19.493372 Received DATA (on stdin) 19:26:19.493384 > 8 bytes data, server => client 19:26:19.493393 '213 17\r\n' 19:26:19.493459 < 21 bytes data, client => server 19:26:19.493469 'RETR verifiedserver\r\n' 19:26:19.493737 Received DATA (on stdin) 19:26:19.493748 > 29 bytes data, server => client 19:26:19.493758 '150 Binary junk (17 bytes).\r\n' 19:26:19.494379 Received DATA (on stdin) 19:26:19.494392 > 28 bytes data, server => client 19:26:19.494402 '226 File transfer complete\r\n' 19:26:19.538558 < 6 bytes data, client => server 19:26:19.538587 'QUIT\r\n' 19:26:19.538810 Received DATA (on stdin) 19:26:19.538821 > 18 bytes data, server => client 19:26:19.538831 '221 bye bye baby\r\n' 19:26:19.543060 ====> Client disconnect 19:26:19.543293 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:19.489380 Running IPv4 version 19:26:19.489475 Listening on port 37445 19:26:19.489515 Wrote pid 86102 to log/9/server/ftp_sockdata.pid 19:26:19.492152 Received PING (on stdin) 19:26:19.492308 Received PORT (on stdin) 19:26:19.492798 ====> Client connect 19:26:19.493789 Received DATA (on stdin) 19:26:19.493805 > 17 bytes data, server => client 19:26:19.493815 'WE ROOLZ: 84695\r\n' 19:26:19.493842 Received DISC (on stdin) 19:26:19.493852 ====> Client forcibly disconnected 19:26:19.494027 Received QUIT (on stdin) 19:26:19.494038 quits 19:26:19.494118 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRWEIRDO Testnum 126 === End of file server.cmd === Start of file valgrind126 ==86120== ==86120== Process terminating with default action oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind134 ../src/curl -q --output log/15/curl134.out --include --trace-ascii log/15/trace134 --trace-time --netrc-optional --netrc-file log/15/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:44883/ > log/15/stdout134 2> log/15/stderr134 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind135 ../src/curl -q --output log/20/curl135.out --include --trace-ascii log/20/trace135 --trace-time -r 4-16 ftp://127.0.0.1:41549/135 > log/20/stdout135 2> log/20/stderr135 f signal 4 (SIGILL) ==86120== Illegal opcode at address 0x492B75F ==86120== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86120== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86120== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86120== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86120== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86120== by 0x49908EB: curl_version_info (version.c:600) ==86120== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86120== by 0x4003269: main (tool_main.c:195) === End of file valgrind126 test 0134 [FTP (optional .netrc; programmatic user/passwd) dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind134 ../src/curl -q --output log/15/curl134.out --include --trace-ascii log/15/trace134 --trace-time --netrc-optional --netrc-file log/15/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:44883/ > log/15/stdout134 2> log/15/stderr134 134: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind134 ../src/curl -q --output log/15/curl134.out --include --trace-ascii log/15/trace134 --trace-time --netrc-optional --netrc-file log/15/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:44883/ > log/15/stdout134 2> log/15/stderr134 === End of file commands.log === Start of file ftp_server.log 19:26:20.775384 ====> Client connect 19:26:20.775635 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.775952 < "USER anonymous" 19:26:20.775985 > "331 We are happy you popped in![CR][LF]" 19:26:20.776137 < "PASS ftp@example.com" 19:26:20.776161 > "230 Welcome you silly person[CR][LF]" 19:26:20.776292 < "PWD" 19:26:20.776323 > "257 "/" is current directory[CR][LF]" 19:26:20.776471 < "EPSV" 19:26:20.776498 ====> Passive DATA channel requested by client 19:26:20.776512 DATA sockfilt for passive data channel starting... 19:26:20.788783 DATA sockfilt for passive data channel started (pid 86703) 19:26:20.788989 DATA sockfilt for passive data channel listens on port 44975 19:26:20.789059 > "229 Entering Passive Mode (|||44975|)[CR][LF]" 19:26:20.789079 Client has been notified that upcoming DATA connection is awaited on port 44975 19:26:20.789437 Client connects to port 44975 19:26:20.789477 ====> Client established passive DATA connection on port 44975 19:26:20.789584 < "TYPE I" 19:26:20.789626 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.789822 < "SIZE verifiedserver" 19:26:20.789868 > "213 17[CR][LF]" 19:26:20.791335 < "RETR verifiedserver" 19:26:20.791379 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.791475 =====> Closing passive DATA connection... 19:26:20.791492 Server disconnects passive DATA connection 19:26:20.791942 Server disconnected passive DATA connection 19:26:20.791974 DATA sockfilt for passive data channel quits (pid 86703) 19:26:20.792252 DATA sockfilt for passive data channel quit (pid 86703) 19:26:20.792280 =====> Closed passive DATA connection 19:26:20.792310 > "226 File transfer complete[CR][LF]" 19:26:20.839063 < "QUIT" 19:26:20.839123 > "221 bye bye baby[CR][LF]" 19:26:20.845960 MAIN sockfilt said DISC 19:26:20.846018 ====> Client disconnected 19:26:20.846097 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.375287 ====> Client connect 19:26:20.375736 Received DATA (on stdin) 19:26:20.375753 > 146 bytes data, server => client 19:26:20.375764 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.375774 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.375783 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.375871 < 16 bytes data, client => server 19:26:20.375882 'USER anonymous\r\n' 19:26:20.376071 Received DATA (on stdin) 19:26:20.376081 > 33 bytes data, server => client 19:26:20.376091 '331 We are happy you popped in!\r\n' 19:26:20.376139 < 22 bytes data, client => server 19:26:20.376149 'PASS ftp@example.com\r\n' 19:26:20.376244 Received DATA (on stdin) 19:26:20.376253 > 30 bytes data, server => client 19:26:20.376263 '230 Welcome you silly person\r\n' 19:26:20.376305 < 5 bytes data, client => server 19:26:20.376314 'PWD\r\n' 19:26:20.376407 Received DATA (on stdin) 19:26:20.376416 > 30 bytes data, server => client 19:26:20.376425 '257 "/" is current directory\r\n' 19:26:20.376478 < 6 bytes data, client => server 19:26:20.376491 'EPSV\r\n' 19:26:20.389190 Received DATA (on stdin) 19:26:20.389211 > 39 bytes data, server => client 19:26:20.389221 '229 Entering Passive Mode (|||44975|)\r\n' 19:26:20.389437 < 8 bytes data, client => server 19:26:20.389454 'TYPE I\r\n' 19:26:20.389721 Received DATA (on stdin) 19:26:20.389733 > 33 bytes data, server => client 19:26:20.389743 '200 I modify TYPE as you wanted\r\n' 19:26:20.389806 < 21 bytes data, client => server 19:26:20.389818 'SIZE verifiedserver\r\n' 19:26:20.389961 Received DATA (on stdin) 19:26:20.389972 > 8 bytes data, server => client 19:26:20.389982 '213 17\r\n' 19:26:20.391315 < 21 bytes data, client => server 19:26:20.391332 'RETR verifiedserver\r\n' 19:26:20.391583 Received DATA (on stdin) 19:26:20.391595 > 29 bytes data, server => client 19:26:20.391605 '150 Binary junk (17 bytes).\r\n' 19:26:20.392400 Received DATA (on stdin) 19:26:20.392411 > 28 bytes data, server => client 19:26:20.392421 '226 File transfer complete\r\n' 19:26:20.438966 < 6 bytes data, client => server 19:26:20.439001 'QUIT\r\n' 19:26:20.439233 Received DATA (on stdin) 19:26:20.439247 > 18 bytes data, server => client 19:26:20.439257 '221 bye bye baby\r\n' 19:26:20.445451 ====> Client disconnect 19:26:20.446204 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.382453 Running IPv4 version 19:26:20.382544 Listening on port 44975 19:26:20.382587 Wrote pid 86703 to log/15/server/ftp_sockdata.pid 19:26:20.388782 Received PING (on stdin) 19:26:20.388939 Received PORT (on stdin) 19:26:20.389476 ====> Client connect 19:26:20.391857 Received DATA (on stdin) 19:26:20.391873 > 17 bytes data, server => client 19:26:20.391883 'WE ROOLZ: 84744\r\n' 19:26:20.391915 Received DISC (on stdin) 19:26:20.391927 ====> Client forcibly disconnected 19:26:20.392089 Received QUIT (on stdin) 19:26:20.392101 quits 19:26:20.392182 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc134 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc134 === Start of file server.cmd Testnum 134 === End of file server.cmd === Start of file valgrind134 ==86813== ==86813== Process terminating with default action of signal 4 (SIGILL) ==86813== Illegal opcode at address 0x492B75F ==86813== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86813== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86813== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86813== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86813== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86813== by 0x49908EB: curl_version_info (version.c:600) ==86813== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86813== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86813== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86813== by 0x4003269: main (tool_main.c:195) === End of file valgrind134 test 013CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:37735/ > log/11/stdout133 2> log/11/stderr133 5 [FTP retrieve a byte-range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind135 ../src/curl -q --output log/20/curl135.out --include --trace-ascii log/20/trace135 --trace-time -r 4-16 ftp://127.0.0.1:41549/135 > log/20/stdout135 2> log/20/stderr135 135: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 135 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind135 ../src/curl -q --output log/20/curl135.out --include --trace-ascii log/20/trace135 --trace-time -r 4-16 ftp://127.0.0.1:41549/135 > log/20/stdout135 2> log/20/stderr135 === End of file commands.log === Start of file ftp_server.log 19:26:20.926931 ====> Client connect 19:26:20.927209 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.927531 < "USER anonymous" 19:26:20.927566 > "331 We are happy you popped in![CR][LF]" 19:26:20.927745 < "PASS ftp@example.com" 19:26:20.927774 > "230 Welcome you silly person[CR][LF]" 19:26:20.927939 < "PWD" 19:26:20.927970 > "257 "/" is current directory[CR][LF]" 19:26:20.928144 < "EPSV" 19:26:20.928173 ====> Passive DATA channel requested by client 19:26:20.928188 DATA sockfilt for passive data channel starting... 19:26:20.942052 DATA sockfilt for passive data channel started (pid 86807) 19:26:20.942279 DATA sockfilt for passive data channel listens on port 45665 19:26:20.942332 > "229 Entering Passive Mode (|||45665|)[CR][LF]" 19:26:20.942348 Client has been notified that upcoming DATA connection is awaited on port 45665 19:26:20.952097 Client connects to port 45665 19:26:20.952172 ====> Client established passive DATA connection on port 45665 19:26:20.952304 < "TYPE I" 19:26:20.952348 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.952541 < "SIZE verifiedserver" 19:26:20.952581 > "213 17[CR][LF]" 19:26:20.952750 < "RETR verifiedserver" 19:26:20.952787 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.952899 =====> Closing passive DATA connection... 19:26:20.952920 Server disconnects passive DATA connection 19:26:20.953086 Server disconnected passive DATA connection 19:26:20.953111 DATA sockfilt for passive data channel quits (pid 86807) 19:26:20.953429 DATA sockfilt for passive data channel quit (pid 86807) 19:26:20.953456 =====> Closed passive DATA connection 19:26:20.953485 > "226 File transfer complete[CR][LF]" 19:26:20.996046 < "QUIT" 19:26:20.996099 > "221 bye bye baby[CR][LF]" 19:26:20.996584 MAIN sockfilt said DISC 19:26:20.996615 ====> Client disconnected 19:26:20.996700 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.526920 ====> Client connect 19:26:20.527351 Received DATA (on stdin) 19:26:20.527366 > 146 bytes data, server => client 19:26:20.527378 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.527389 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.527398 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.527480 < 16 bytes data, client => server 19:26:20.527493 'USER anonymous\r\n' 19:26:20.527695 Received DATA (on stdin) 19:26:20.527707 > 33 bytes data, server => client 19:26:20.527717 '331 We are happy you popped in!\r\n' 19:26:20.527771 < 22 bytes data, client => server 19:26:20.527782 'PASS ftp@example.com\r\n' 19:26:20.527900 Received DATA (on stdin) 19:26:20.527911 > 30 bytes data, server => client 19:26:20.527921 '230 Welcome you silly person\r\n' 19:26:20.527975 < 5 bytes data, client => server 19:26:20.527987 'PWD\r\n' 19:26:20.528096 Received DATA (on stdin) 19:26:20.528107 > 30 bytes data, server => client 19:26:20.528117 '257 "/" is current directory\r\n' 19:26:20.528181 < 6 bytes data, client => server 19:26:20.528193 'EPSV\r\n' 19:26:20.548814 Received DATA (on stdin) 19:26:20.548865 > 39 bytes data, server => client 19:26:20.548878 '229 Entering Passive Mode (|||45665|)\r\n' 19:26:20.549158 < 8 bytes data, client => server 19:26:20.549175 'TYPE I\r\n' 19:26:20.552482 Received DATA (on stdin) 19:26:20.552494 > 33 bytes data, server => client 19:26:20.552505 '200 I modify TYPE as you wanted\r\n' 19:26:20.552575 < 21 bytes data, client => server 19:26:20.552589 'SIZE verifiedserver\r\n' 19:26:20.552713 Received DATA (on stdin) 19:26:20.552725 > 8 bytes data, server => client 19:26:20.552735 '213 17\r\n' 19:26:20.552791 < 21 bytes data, client => server 19:26:20.552803 'RETR verifiedserver\r\n' 19:26:20.553055 Received DATA (on stdin) 19:26:20.553067 > 29 bytes data, server => client 19:26:20.553077 '150 Binary junk (17 bytes).\r\n' 19:26:20.553617 Received DATA (on stdin) 19:26:20.553628 > 28 bytes data, server => client 19:26:20.553638 '226 File transfer complete\r\n' 19:26:20.596007 < 6 bytes data, client => server 19:26:20.596030 'QUIT\r\n' 19:26:20.596244 Received DATA (on stdin) 19:26:20.596255 > 18 bytes data, server => client 19:26:20.596265 '221 bye bye baby\r\n' 19:26:20.596668 ====> Client disconnect 19:26:20.596844 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.533074 Running IPv4 version 19:26:20.533162 Listening on port 45665 19:26:20.533200 Wrote pid 86807 to log/20/server/ftp_sockdata.pid 19:26:20.533227 Received PING (on stdin) 19:26:20.542283 Received PORT (on stdin) 19:26:20.552149 ====> Client connect 19:26:20.553105 Received DATA (on stdin) 19:26:20.553117 > 17 bytes data, server => client 19:26:20.553127 'WE ROOLZ: 84833\r\n' 19:26:20.553152 Received DISC (on stdin) 19:26:20.553165 ====> Client forcibly disconnected 19:26:20.553249 Received QUIT (on stdin) 19:26:20.553259 quits 19:26:20.553350 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==86830== ==86830== Process terminating with default action of signal 4 (SIGILL) ==86830== Illegal opcode at address 0x492B75F ==86830== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86830== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86830== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86830== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86830== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86830== by 0x49908EB: curl_version_info (version.c:600) ==86830== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86830== by 0x4003269: main (tool_main.c:195) === End of file valgrind135 test 0133 [FTP compulsory .netrc; ignore passwd in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:37735/ > log/11/stdout133 2> log/11/stderr133 133: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:37735/ > log/11/stdout133 2> log/11/stderr133 === End of file commands.log === Start of fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind138 ../src/curl -q --output log/13/curl138.out --include --trace-ascii log/13/trace138 --trace-time ftp://127.0.0.1:36047/blalbla/lululul/138 > log/13/stdout138 2> log/13/stderr138 le ftp_server.log 19:26:20.632385 ====> Client connect 19:26:20.632603 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.632931 < "USER anonymous" 19:26:20.632976 > "331 We are happy you popped in![CR][LF]" 19:26:20.633174 < "PASS ftp@example.com" 19:26:20.633207 > "230 Welcome you silly person[CR][LF]" 19:26:20.633387 < "PWD" 19:26:20.633428 > "257 "/" is current directory[CR][LF]" 19:26:20.633607 < "EPSV" 19:26:20.633642 ====> Passive DATA channel requested by client 19:26:20.633656 DATA sockfilt for passive data channel starting... 19:26:20.636910 DATA sockfilt for passive data channel started (pid 86620) 19:26:20.638390 DATA sockfilt for passive data channel listens on port 37813 19:26:20.638455 > "229 Entering Passive Mode (|||37813|)[CR][LF]" 19:26:20.638475 Client has been notified that upcoming DATA connection is awaited on port 37813 19:26:20.638929 Client connects to port 37813 19:26:20.638966 ====> Client established passive DATA connection on port 37813 19:26:20.639067 < "TYPE I" 19:26:20.639107 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:20.641110 < "SIZE verifiedserver" 19:26:20.641154 > "213 17[CR][LF]" 19:26:20.641305 < "RETR verifiedserver" 19:26:20.641339 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:20.641432 =====> Closing passive DATA connection... 19:26:20.641453 Server disconnects passive DATA connection 19:26:20.643393 Server disconnected passive DATA connection 19:26:20.643425 DATA sockfilt for passive data channel quits (pid 86620) 19:26:20.655389 DATA sockfilt for passive data channel quit (pid 86620) 19:26:20.655461 =====> Closed passive DATA connection 19:26:20.655504 > "226 File transfer complete[CR][LF]" 19:26:20.692297 < "QUIT" 19:26:20.692354 > "221 bye bye baby[CR][LF]" 19:26:20.693532 MAIN sockfilt said DISC 19:26:20.693574 ====> Client disconnected 19:26:20.693652 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.232291 ====> Client connect 19:26:20.232673 Received DATA (on stdin) 19:26:20.232691 > 146 bytes data, server => client 19:26:20.232702 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.232712 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.232720 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.232802 < 16 bytes data, client => server 19:26:20.232818 'USER anonymous\r\n' 19:26:20.233034 Received DATA (on stdin) 19:26:20.233046 > 33 bytes data, server => client 19:26:20.233056 '331 We are happy you popped in!\r\n' 19:26:20.233113 < 22 bytes data, client => server 19:26:20.233126 'PASS ftp@example.com\r\n' 19:26:20.233261 Received DATA (on stdin) 19:26:20.233274 > 30 bytes data, server => client 19:26:20.233284 '230 Welcome you silly person\r\n' 19:26:20.233342 < 5 bytes data, client => server 19:26:20.233354 'PWD\r\n' 19:26:20.233484 Received DATA (on stdin) 19:26:20.233495 > 30 bytes data, server => client 19:26:20.233505 '257 "/" is current directory\r\n' 19:26:20.233571 < 6 bytes data, client => server 19:26:20.233582 'EPSV\r\n' 19:26:20.238732 Received DATA (on stdin) 19:26:20.238756 > 39 bytes data, server => client 19:26:20.238768 '229 Entering Passive Mode (|||37813|)\r\n' 19:26:20.238962 < 8 bytes data, client => server 19:26:20.238980 'TYPE I\r\n' 19:26:20.240971 Received DATA (on stdin) 19:26:20.240989 > 33 bytes data, server => client 19:26:20.240999 '200 I modify TYPE as you wanted\r\n' 19:26:20.241062 < 21 bytes data, client => server 19:26:20.241072 'SIZE verifiedserver\r\n' 19:26:20.241206 Received DATA (on stdin) 19:26:20.241216 > 8 bytes data, server => client 19:26:20.241224 '213 17\r\n' 19:26:20.241275 < 21 bytes data, client => server 19:26:20.241285 'RETR verifiedserver\r\n' 19:26:20.241510 Received DATA (on stdin) 19:26:20.241523 > 29 bytes data, server => client 19:26:20.241533 '150 Binary junk (17 bytes).\r\n' 19:26:20.255571 Received DATA (on stdin) 19:26:20.255590 > 28 bytes data, server => client 19:26:20.255599 '226 File transfer complete\r\n' 19:26:20.292180 < 6 bytes data, client => server 19:26:20.292209 'QUIT\r\n' 19:26:20.292426 Received DATA (on stdin) 19:26:20.292436 > 18 bytes data, server => client 19:26:20.292446 '221 bye bye baby\r\n' 19:26:20.293528 ====> Client disconnect 19:26:20.293719 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.236756 Running IPv4 version 19:26:20.236844 Listening on port 37813 19:26:20.236885 Wrote pid 86620 to log/11/server/ftp_sockdata.pid 19:26:20.236906 Received PING (on stdin) 19:26:20.237915 Received PORT (on stdin) 19:26:20.238924 ====> Client connect 19:26:20.241402 Received DATA (on stdin) 19:26:20.241422 > 17 bytes data, server => client 19:26:20.241434 'WE ROOLZ: 84823\r\n' 19:26:20.242039 Received DISC (on stdin) 19:26:20.242060 ====> Client forcibly disconnected 19:26:20.243483 Received QUIT (on stdin) 19:26:20.243501 quits 19:26:20.243574 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc133 # the following two lines were created while testing curl machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login mary password drfrank === End of file netrc133 === Start of file server.cmd Testnum 133 === End of file server.cmd === Start of file valgrind133 ==86666== ==86666== Process terminating with default action of signal 4 (SIGILL) ==86666== Illegal opcode at address 0x492B75F ==86666== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86666== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86666== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86666== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86666== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86666== by 0x49908EB: curl_version_info (version.c:600) ==86666== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86666== by 0x4003269: main (tool_main.c:195) === End of file valgrind133 test 0138 [FTP download without size in RETR string and no SIZE command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind138 ../src/curl -q --output log/13/curl138.out --include --trace-ascii log/13/trace138 --trace-time ftp://127.0.0.1:36047/blalbla/lululul/138 > log/13/stdout138 2> log/13/stderr138 138: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind138 ../src/curl -q --output log/13/curl138.out --include --trace-ascii log/13/trace138 --trace-time ftp://127.0.0.1:36047/blalbla/lululul/138 > log/13/stdout138 2> log/13/stderr138 === End of file commands.log === Start of file ftp_server.log 19:26:21.335508 ====> Client connect 19:26:21.335750 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.348974 < "USER anonymous" 19:26:21.349036 > "331 We are happy you popped in![CR][LF]" 19:26:21.349282 < "PASS ftp@example.com" 19:26:21.349317 > "230 Welcome you silly person[CR][LF]" 19:26:21.349491 < "PWD" 19:26:21.349526 > "257 "/" is current directory[CR][LF]" 19:26:21.349712 < "EPSV" 19:26:21.349743 ====> Passive DATA channel requested by client 19:26:21.349760 DATA sockfilt for passive data channel starting... 19:26:21.358904 DATA sockfilt for passive data channel started (pid 87035) 19:26:21.359052 DATA sockfilt for passive data channel listens on porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind137 ../src/curl -q --output log/14/curl137.out --include --trace-ascii log/14/trace137 --trace-time ftp://127.0.0.1:37411/blalbla/lululul/137 > log/14/stdout137 2> log/14/stderr137 t 38401 19:26:21.359109 > "229 Entering Passive Mode (|||38401|)[CR][LF]" 19:26:21.359129 Client has been notified that upcoming DATA connection is awaited on port 38401 19:26:21.359454 Client connects to port 38401 19:26:21.359484 ====> Client established passive DATA connection on port 38401 19:26:21.359575 < "TYPE I" 19:26:21.359608 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.359777 < "SIZE verifiedserver" 19:26:21.359818 > "213 17[CR][LF]" 19:26:21.359991 < "RETR verifiedserver" 19:26:21.360033 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.360126 =====> Closing passive DATA connection... 19:26:21.360143 Server disconnects passive DATA connection 19:26:21.360377 Server disconnected passive DATA connection 19:26:21.360407 DATA sockfilt for passive data channel quits (pid 87035) 19:26:21.360670 DATA sockfilt for passive data channel quit (pid 87035) 19:26:21.360699 =====> Closed passive DATA connection 19:26:21.360728 > "226 File transfer complete[CR][LF]" 19:26:21.409001 < "QUIT" 19:26:21.409056 > "221 bye bye baby[CR][LF]" 19:26:21.410174 MAIN sockfilt said DISC 19:26:21.410216 ====> Client disconnected 19:26:21.410293 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.935592 ====> Client connect 19:26:21.935992 Received DATA (on stdin) 19:26:21.936007 > 146 bytes data, server => client 19:26:21.936018 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.936028 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.936038 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.948914 < 16 bytes data, client => server 19:26:21.948954 'USER anonymous\r\n' 19:26:21.949276 Received DATA (on stdin) 19:26:21.949289 > 33 bytes data, server => client 19:26:21.949300 '331 We are happy you popped in!\r\n' 19:26:21.949406 < 22 bytes data, client => server 19:26:21.949423 'PASS ftp@example.com\r\n' 19:26:21.949550 Received DATA (on stdin) 19:26:21.949562 > 30 bytes data, server => client 19:26:21.949572 '230 Welcome you silly person\r\n' 19:26:21.949628 < 5 bytes data, client => server 19:26:21.949642 'PWD\r\n' 19:26:21.949759 Received DATA (on stdin) 19:26:21.949771 > 30 bytes data, server => client 19:26:21.949782 '257 "/" is current directory\r\n' 19:26:21.949851 < 6 bytes data, client => server 19:26:21.949865 'EPSV\r\n' 19:26:21.959373 Received DATA (on stdin) 19:26:21.959390 > 39 bytes data, server => client 19:26:21.959401 '229 Entering Passive Mode (|||38401|)\r\n' 19:26:21.959633 < 8 bytes data, client => server 19:26:21.959645 'TYPE I\r\n' 19:26:21.959843 Received DATA (on stdin) 19:26:21.959854 > 33 bytes data, server => client 19:26:21.959865 '200 I modify TYPE as you wanted\r\n' 19:26:21.959921 < 21 bytes data, client => server 19:26:21.959933 'SIZE verifiedserver\r\n' 19:26:21.960056 Received DATA (on stdin) 19:26:21.960068 > 8 bytes data, server => client 19:26:21.960078 '213 17\r\n' 19:26:21.960132 < 21 bytes data, client => server 19:26:21.960145 'RETR verifiedserver\r\n' 19:26:21.960464 Received DATA (on stdin) 19:26:21.960477 > 29 bytes data, server => client 19:26:21.960487 '150 Binary junk (17 bytes).\r\n' 19:26:21.960963 Received DATA (on stdin) 19:26:21.960975 > 28 bytes data, server => client 19:26:21.960985 '226 File transfer complete\r\n' 19:26:22.009060 < 6 bytes data, client => server 19:26:22.009091 'QUIT\r\n' 19:26:22.009305 Received DATA (on stdin) 19:26:22.009316 > 18 bytes data, server => client 19:26:22.009325 '221 bye bye baby\r\n' 19:26:22.010352 ====> Client disconnect 19:26:22.010537 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.956961 Running IPv4 version 19:26:21.957066 Listening on port 38401 19:26:21.957108 Wrote pid 87035 to log/13/server/ftp_sockdata.pid 19:26:21.959064 Received PING (on stdin) 19:26:21.959181 Received PORT (on stdin) 19:26:21.959604 ====> Client connect 19:26:21.960378 Received DATA (on stdin) 19:26:21.960390 > 17 bytes data, server => client 19:26:21.960399 'WE ROOLZ: 84987\r\n' 19:26:21.960427 Received DISC (on stdin) 19:26:21.960439 ====> Client forcibly disconnected 19:26:21.960649 Received QUIT (on stdin) 19:26:21.960660 quits 19:26:21.960720 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE REPLY SIZE 500 command not understood Testnum 138 === End of file server.cmd === Start of file valgrind138 ==87061== ==87061== Process terminating with default action of signal 4 (SIGILL) ==87061== Illegal opcode at address 0x492B75F ==87061== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87061== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87061== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87061== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87061== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87061== by 0x49908EB: curl_version_info (version.c:600) ==87061== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87061== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87061== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87061== by 0x4003269: main (tool_main.c:195) === End of file valgrind138 test 0137 [FTP download without size in RETR string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind137 ../src/curl -q --output log/14/curl137.out --include --trace-ascii log/14/trace137 --trace-time ftp://127.0.0.1:37411/blalbla/lululul/137 > log/14/stdout137 2> log/14/stderr137 137: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind137 ../src/curl -q --output log/14/curl137.out --include --trace-ascii log/14/trace137 --trace-time ftp://127.0.0.1:37411/blalbla/lululul/137 > log/14/stdout137 2> log/14/stderr137 === End of file commands.log === Start of file ftp_server.log 19:26:21.128715 ====> Client connect 19:26:21.128970 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.133577 < "USER anonymous" 19:26:21.133625 > "331 We are happy you popped in![CR][LF]" 19:26:21.133830 < "PASS ftp@example.com" 19:26:21.133864 > "230 Welcome you silly person[CR][LF]" 19:26:21.134040 < "PWD" 19:26:21.134075 > "257 "/" is current directory[CR][LF]" 19:26:21.134252 < "EPSV" 19:26:21.134281 ====> Passive DATA channel requested by client 19:26:21.134296 DATA sockfilt for passive data channel starting... 19:26:21.145382 DATA sockfilt for passive data channel started (pid 86900) 19:26:21.152094 DATA sockfilt for passive data channel listens on port 34009 19:26:21.152162 > "229 Entering Passive Mode (|||34009|)[CR][LF]" 19:26:21.152178 Client has been notified that upcoming DATA connection is awaited on port 34009 19:26:21.155367 Client connects to port 34009 19:26:21.155422 ====> Client established passive DATA connection on port 34009 19:26:21.155548 < "TYPE I" 19:26:21.155596 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.155834 < "SIZE verifiedserver" 19:26:21.155882 > "213 17[CR][LF]" 19:26:21.156086 < "RETR verifiedserver" 19:26:21.156128 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.156239 =====> Closing passive DATA connection... 19:26:21.156259 Server disconnects passive DATA connection 19:26:21.156512 Server disconnected passive DATA connection 19:26:21.156542 DATA sockfilt for passive data channel quits (pid 86900) 19:26:21.156837 DATA sockfilt for passive data channel quit (pid 86900) 19:26:21.156863 =====> Closed passive DATA connection 19:26:21.156895 > "226 File transfer complete[CR][LF]" 19:26:21.20CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind139 ../src/curl -q --output log/1/curl139.out --include --trace-ascii log/1/trace139 --trace-time ftp://127.0.0.1:40221/blalbla/139 -z "1 jan 1989" > log/1/stdout139 2> log/1/stderr139 5696 < "QUIT" 19:26:21.205767 > "221 bye bye baby[CR][LF]" 19:26:21.207232 MAIN sockfilt said DISC 19:26:21.207274 ====> Client disconnected 19:26:21.207370 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.725521 ====> Client connect 19:26:21.732180 Received DATA (on stdin) 19:26:21.732212 > 146 bytes data, server => client 19:26:21.732225 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.732235 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.732245 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.733540 < 16 bytes data, client => server 19:26:21.733562 'USER anonymous\r\n' 19:26:21.733808 Received DATA (on stdin) 19:26:21.733822 > 33 bytes data, server => client 19:26:21.733832 '331 We are happy you popped in!\r\n' 19:26:21.733897 < 22 bytes data, client => server 19:26:21.733910 'PASS ftp@example.com\r\n' 19:26:21.734043 Received DATA (on stdin) 19:26:21.734055 > 30 bytes data, server => client 19:26:21.734065 '230 Welcome you silly person\r\n' 19:26:21.734122 < 5 bytes data, client => server 19:26:21.734134 'PWD\r\n' 19:26:21.734252 Received DATA (on stdin) 19:26:21.734263 > 30 bytes data, server => client 19:26:21.734273 '257 "/" is current directory\r\n' 19:26:21.734340 < 6 bytes data, client => server 19:26:21.734352 'EPSV\r\n' 19:26:21.752366 Received DATA (on stdin) 19:26:21.752383 > 39 bytes data, server => client 19:26:21.752392 '229 Entering Passive Mode (|||34009|)\r\n' 19:26:21.752571 < 8 bytes data, client => server 19:26:21.752584 'TYPE I\r\n' 19:26:21.755789 Received DATA (on stdin) 19:26:21.755806 > 33 bytes data, server => client 19:26:21.755818 '200 I modify TYPE as you wanted\r\n' 19:26:21.755901 < 21 bytes data, client => server 19:26:21.755917 'SIZE verifiedserver\r\n' 19:26:21.756072 Received DATA (on stdin) 19:26:21.756086 > 8 bytes data, server => client 19:26:21.756095 '213 17\r\n' 19:26:21.756163 < 21 bytes data, client => server 19:26:21.756178 'RETR verifiedserver\r\n' 19:26:21.756546 Received DATA (on stdin) 19:26:21.756558 > 29 bytes data, server => client 19:26:21.756568 '150 Binary junk (17 bytes).\r\n' 19:26:21.757079 Received DATA (on stdin) 19:26:21.757092 > 28 bytes data, server => client 19:26:21.757102 '226 File transfer complete\r\n' 19:26:21.805667 < 6 bytes data, client => server 19:26:21.805707 'QUIT\r\n' 19:26:21.805979 Received DATA (on stdin) 19:26:21.805995 > 18 bytes data, server => client 19:26:21.806006 '221 bye bye baby\r\n' 19:26:21.807360 ====> Client disconnect 19:26:21.807579 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.740723 Running IPv4 version 19:26:21.740814 Listening on port 34009 19:26:21.740853 Wrote pid 86900 to log/14/server/ftp_sockdata.pid 19:26:21.743404 Received PING (on stdin) 19:26:21.749549 Received PORT (on stdin) 19:26:21.753248 ====> Client connect 19:26:21.756448 Received DATA (on stdin) 19:26:21.756466 > 17 bytes data, server => client 19:26:21.756475 'WE ROOLZ: 85053\r\n' 19:26:21.756506 Received DISC (on stdin) 19:26:21.756517 ====> Client forcibly disconnected 19:26:21.756736 Received QUIT (on stdin) 19:26:21.756749 quits 19:26:21.756816 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRNOSIZE Testnum 137 === End of file server.cmd === Start of file valgrind137 ==86961== ==86961== Process terminating with default action of signal 4 (SIGILL) ==86961== Illegal opcode at address 0x492B75F ==86961== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86961== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86961== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86961== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86961== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86961== by 0x49908EB: curl_version_info (version.c:600) ==86961== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86961== by 0x4003269: main (tool_main.c:195) === End of file valgrind137 test 0139 [FTP download a newer file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind139 ../src/curl -q --output log/1/curl139.out --include --trace-ascii log/1/trace139 --trace-time ftp://127.0.0.1:40221/blalbla/139 -z "1 jan 1989" > log/1/stdout139 2> log/1/stderr139 139: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 139 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind139 ../src/curl -q --output log/1/curl139.out --include --trace-ascii log/1/trace139 --trace-time ftp://127.0.0.1:40221/blalbla/139 -z "1 jan 1989" > log/1/stdout139 2> log/1/stderr139 === End of file commands.log === Start of file ftp_server.log 19:26:21.501950 ====> Client connect 19:26:21.502836 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.503251 < "USER anonymous" 19:26:21.503298 > "331 We are happy you popped in![CR][LF]" 19:26:21.503515 < "PASS ftp@example.com" 19:26:21.503555 > "230 Welcome you silly person[CR][LF]" 19:26:21.508928 < "PWD" 19:26:21.508980 > "257 "/" is current directory[CR][LF]" 19:26:21.509162 < "EPSV" 19:26:21.509192 ====> Passive DATA channel requested by client 19:26:21.509211 DATA sockfilt for passive data channel starting... 19:26:21.513722 DATA sockfilt for passive data channel started (pid 87098) 19:26:21.515457 DATA sockfilt for passive data channel listens on port 38885 19:26:21.515516 > "229 Entering Passive Mode (|||38885|)[CR][LF]" 19:26:21.515533 Client has been notified that upcoming DATA connection is awaited on port 38885 19:26:21.522091 Client connects to port 38885 19:26:21.522153 ====> Client established passive DATA connection on port 38885 19:26:21.522275 < "TYPE I" 19:26:21.522317 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.525618 < "SIZE verifiedserver" 19:26:21.525680 > "213 17[CR][LF]" 19:26:21.525863 < "RETR verifiedserver" 19:26:21.525902 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.526005 =====> Closing passive DATA connection... 19:26:21.526023 Server disconnects passive DATA connection 19:26:21.526150 Server disconnected passive DATA connection 19:26:21.526175 DATA sockfilt for passive data channel quits (pid 87098) 19:26:21.526456 DATA sockfilt for passive data channel quit (pid 87098) 19:26:21.526482 =====> Closed passive DATA connection 19:26:21.526511 > "226 File transfer complete[CR][LF]" 19:26:21.572278 < "QUIT" 19:26:21.572331 > "221 bye bye baby[CR][LF]" 19:26:21.573539 MAIN sockfilt said DISC 19:26:21.573592 ====> Client disconnected 19:26:21.573683 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:22.102014 ====> Client connect 19:26:22.103138 Received DATA (on stdin) 19:26:22.103158 > 146 bytes data, server => client 19:26:22.103175 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:22.103189 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:22.103198 '220 \___|\___/|_| \_\_____|\r\n' 19:26:22.103299 < 16 bytes data, client => server 19:26:22.103315 'USER anonymous\r\n' 19:26:22.103577 Received DATA (on stdin) 19:26:22.103591 > 33 bytes data, server => client 19:26:22.103602 '331 We are happy you popped in!\r\n' 19:26:22.103665 < 22 bytes data, client => server 19:26:22.103679 'PASS ftp@example.com\r\n' 19:26:22.108939 Received DATA (on stdin) 19:26:22.108965 > 30 bytes data, server => client 19:26:22.108976 '230 Welcome you silly CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind136 ../src/curl -q --output log/8/curl136.out --include --trace-ascii log/8/trace136 --trace-time -u user: ftp://127.0.0.1:41879/136 > log/8/stdout136 2> log/8/stderr136 person\r\n' 19:26:22.109059 < 5 bytes data, client => server 19:26:22.109069 'PWD\r\n' 19:26:22.109253 Received DATA (on stdin) 19:26:22.109265 > 30 bytes data, server => client 19:26:22.109275 '257 "/" is current directory\r\n' 19:26:22.109344 < 6 bytes data, client => server 19:26:22.109355 'EPSV\r\n' 19:26:22.118948 Received DATA (on stdin) 19:26:22.118980 > 39 bytes data, server => client 19:26:22.118991 '229 Entering Passive Mode (|||38885|)\r\n' 19:26:22.119185 < 8 bytes data, client => server 19:26:22.119199 'TYPE I\r\n' 19:26:22.125609 Received DATA (on stdin) 19:26:22.125637 > 33 bytes data, server => client 19:26:22.125648 '200 I modify TYPE as you wanted\r\n' 19:26:22.125733 < 21 bytes data, client => server 19:26:22.125745 'SIZE verifiedserver\r\n' 19:26:22.125964 Received DATA (on stdin) 19:26:22.125974 > 8 bytes data, server => client 19:26:22.125984 '213 17\r\n' 19:26:22.126040 < 21 bytes data, client => server 19:26:22.126052 'RETR verifiedserver\r\n' 19:26:22.126792 Received DATA (on stdin) 19:26:22.126805 > 29 bytes data, server => client 19:26:22.126815 '150 Binary junk (17 bytes).\r\n' 19:26:22.126838 Received DATA (on stdin) 19:26:22.126847 > 28 bytes data, server => client 19:26:22.126858 '226 File transfer complete\r\n' 19:26:22.172404 < 6 bytes data, client => server 19:26:22.172428 'QUIT\r\n' 19:26:22.172623 Received DATA (on stdin) 19:26:22.172637 > 18 bytes data, server => client 19:26:22.172648 '221 bye bye baby\r\n' 19:26:22.173755 ====> Client disconnect 19:26:22.173986 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.113641 Running IPv4 version 19:26:21.113741 Listening on port 38885 19:26:21.113783 Wrote pid 87098 to log/1/server/ftp_sockdata.pid 19:26:21.113938 Received PING (on stdin) 19:26:21.115615 Received PORT (on stdin) 19:26:21.122285 ====> Client connect 19:26:21.126304 Received DATA (on stdin) 19:26:21.126321 > 17 bytes data, server => client 19:26:21.126331 'WE ROOLZ: 84935\r\n' 19:26:21.126361 Received DISC (on stdin) 19:26:21.126371 ====> Client forcibly disconnected 19:26:21.126457 Received QUIT (on stdin) 19:26:21.126466 quits 19:26:21.126548 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==87138== ==87138== Process terminating with default action of signal 4 (SIGILL) ==87138== Illegal opcode at address 0x492B75F ==87138== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87138== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87138== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87138== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87138== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87138== by 0x49908EB: curl_version_info (version.c:600) ==87138== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87138== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87138== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87138== by 0x4003269: main (tool_main.c:195) === End of file valgrind139 test 0136 [FTP with user and no password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind136 ../src/curl -q --output log/8/curl136.out --include --trace-ascii log/8/trace136 --trace-time -u user: ftp://127.0.0.1:41879/136 > log/8/stdout136 2> log/8/stderr136 136: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 136 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind136 ../src/curl -q --output log/8/curl136.out --include --trace-ascii log/8/trace136 --trace-time -u user: ftp://127.0.0.1:41879/136 > log/8/stdout136 2> log/8/stderr136 === End of file commands.log === Start of file ftp_server.log 19:26:20.972188 ====> Client connect 19:26:20.972478 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:20.972855 < "USER anonymous" 19:26:20.972906 > "331 We are happy you popped in![CR][LF]" 19:26:20.973121 < "PASS ftp@example.com" 19:26:20.973158 > "230 Welcome you silly person[CR][LF]" 19:26:20.973335 < "PWD" 19:26:20.973375 > "257 "/" is current directory[CR][LF]" 19:26:20.973568 < "EPSV" 19:26:20.973604 ====> Passive DATA channel requested by client 19:26:20.973624 DATA sockfilt for passive data channel starting... 19:26:20.992060 DATA sockfilt for passive data channel started (pid 86818) 19:26:20.998800 DATA sockfilt for passive data channel listens on port 35235 19:26:20.998903 > "229 Entering Passive Mode (|||35235|)[CR][LF]" 19:26:20.998929 Client has been notified that upcoming DATA connection is awaited on port 35235 19:26:21.005391 Client connects to port 35235 19:26:21.005459 ====> Client established passive DATA connection on port 35235 19:26:21.005598 < "TYPE I" 19:26:21.005649 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.005908 < "SIZE verifiedserver" 19:26:21.005958 > "213 17[CR][LF]" 19:26:21.006164 < "RETR verifiedserver" 19:26:21.006210 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.006327 =====> Closing passive DATA connection... 19:26:21.006353 Server disconnects passive DATA connection 19:26:21.008851 Server disconnected passive DATA connection 19:26:21.008884 DATA sockfilt for passive data channel quits (pid 86818) 19:26:21.009204 DATA sockfilt for passive data channel quit (pid 86818) 19:26:21.009235 =====> Closed passive DATA connection 19:26:21.009274 > "226 File transfer complete[CR][LF]" 19:26:21.052348 < "QUIT" 19:26:21.052403 > "221 bye bye baby[CR][LF]" 19:26:21.054069 MAIN sockfilt said DISC 19:26:21.054114 ====> Client disconnected 19:26:21.054184 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:20.572164 ====> Client connect 19:26:20.572644 Received DATA (on stdin) 19:26:20.572663 > 146 bytes data, server => client 19:26:20.572674 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:20.572684 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:20.572693 '220 \___|\___/|_| \_\_____|\r\n' 19:26:20.572796 < 16 bytes data, client => server 19:26:20.572812 'USER anonymous\r\n' 19:26:20.573051 Received DATA (on stdin) 19:26:20.573064 > 33 bytes data, server => client 19:26:20.573074 '331 We are happy you popped in!\r\n' 19:26:20.573138 < 22 bytes data, client => server 19:26:20.573153 'PASS ftp@example.com\r\n' 19:26:20.573298 Received DATA (on stdin) 19:26:20.573309 > 30 bytes data, server => client 19:26:20.573319 '230 Welcome you silly person\r\n' 19:26:20.573376 < 5 bytes data, client => server 19:26:20.573387 'PWD\r\n' 19:26:20.573515 Received DATA (on stdin) 19:26:20.573526 > 30 bytes data, server => client 19:26:20.573536 '257 "/" is current directory\r\n' 19:26:20.573604 < 6 bytes data, client => server 19:26:20.573619 'EPSV\r\n' 19:26:20.599096 Received DATA (on stdin) 19:26:20.599116 > 39 bytes data, server => client 19:26:20.599129 '229 Entering Passive Mode (|||35235|)\r\n' 19:26:20.599347 < 8 bytes data, client => server 19:26:20.599367 'TYPE I\r\n' 19:26:20.605807 Received DATA (on stdin) 19:26:20.605825 > 33 bytes data, server => client 19:26:20.605837 '200 I modify TYPE as you wanted\r\n' 19:26:20.605939 < 21 bytes data, client => server 19:26:20.605955 'SIZE verifiedserver\r\n' 19:26:20.606110 Received DATA (on stdin) 19:26:20.606124 > 8 bytes data, server => client 19:26:20.606134 '213 17\r\n' 19:26:20.606201 < 21 bytes data, client => server 19:26:20.606217 'RETR verifiedserver\r\n' 19:26:20.606503 Received DATA (on stdin) 19:26:20.606516 > 29 bytes data, server => client 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-time ftp://127.0.0.1:37215/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/stderr140 6:20.606528 '150 Binary junk (17 bytes).\r\n' 19:26:20.612254 Received DATA (on stdin) 19:26:20.612279 > 28 bytes data, server => client 19:26:20.612291 '226 File transfer complete\r\n' 19:26:20.652308 < 6 bytes data, client => server 19:26:20.652339 'QUIT\r\n' 19:26:20.652563 Received DATA (on stdin) 19:26:20.652575 > 18 bytes data, server => client 19:26:20.652585 '221 bye bye baby\r\n' 19:26:20.653715 ====> Client disconnect 19:26:20.654345 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:20.583024 Running IPv4 version 19:26:20.583133 Listening on port 35235 19:26:20.583177 Wrote pid 86818 to log/8/server/ftp_sockdata.pid 19:26:20.588824 Received PING (on stdin) 19:26:20.595477 Received PORT (on stdin) 19:26:20.602568 ====> Client connect 19:26:20.608835 Received DATA (on stdin) 19:26:20.608861 > 17 bytes data, server => client 19:26:20.608873 'WE ROOLZ: 84824\r\n' 19:26:20.608914 Received DISC (on stdin) 19:26:20.608936 ====> Client forcibly disconnected 19:26:20.609045 Received QUIT (on stdin) 19:26:20.609059 quits 19:26:20.609141 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==86885== ==86885== Process terminating with default action of signal 4 (SIGILL) ==86885== Illegal opcode at address 0x492B75F ==86885== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==86885== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==86885== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==86885== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==86885== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==86885== by 0x49908EB: curl_version_info (version.c:600) ==86885== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==86885== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==86885== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==86885== by 0x4003269: main (tool_main.c:195) === End of file valgrind136 test 0140 [FTP download file with -z, expected to not transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-time ftp://127.0.0.1:37215/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/stderr140 140: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 140 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind140 ../src/curl -q --output log/24/curl140.out --include --trace-ascii log/24/trace140 --trace-time ftp://127.0.0.1:37215/blalbla/140 -z "1 jan 2004" > log/24/stdout140 2> log/24/stderr140 === End of file commands.log === Start of file ftp_server.log 19:26:21.652148 ====> Client connect 19:26:21.652361 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.652730 < "USER anonymous" 19:26:21.652775 > "331 We are happy you popped in![CR][LF]" 19:26:21.652976 < "PASS ftp@example.com" 19:26:21.653007 > "230 Welcome you silly person[CR][LF]" 19:26:21.653183 < "PWD" 19:26:21.653218 > "257 "/" is current directory[CR][LF]" 19:26:21.653397 < "EPSV" 19:26:21.653430 ====> Passive DATA channel requested by client 19:26:21.653447 DATA sockfilt for passive data channel starting... 19:26:21.659541 DATA sockfilt for passive data channel started (pid 87172) 19:26:21.659695 DATA sockfilt for passive data channel listens on port 45847 19:26:21.659756 > "229 Entering Passive Mode (|||45847|)[CR][LF]" 19:26:21.659781 Client has been notified that upcoming DATA connection is awaited on port 45847 19:26:21.660120 Client connects to port 45847 19:26:21.660155 ====> Client established passive DATA connection on port 45847 19:26:21.660252 < "TYPE I" 19:26:21.660293 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.660491 < "SIZE verifiedserver" 19:26:21.660542 > "213 17[CR][LF]" 19:26:21.660734 < "RETR verifiedserver" 19:26:21.660775 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.660867 =====> Closing passive DATA connection... 19:26:21.660887 Server disconnects passive DATA connection 19:26:21.661161 Server disconnected passive DATA connection 19:26:21.661192 DATA sockfilt for passive data channel quits (pid 87172) 19:26:21.661447 DATA sockfilt for passive data channel quit (pid 87172) 19:26:21.661478 =====> Closed passive DATA connection 19:26:21.661511 > "226 File transfer complete[CR][LF]" 19:26:21.708895 < "QUIT" 19:26:21.708956 > "221 bye bye baby[CR][LF]" 19:26:21.718708 MAIN sockfilt said DISC 19:26:21.718785 ====> Client disconnected 19:26:21.718879 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:22.252327 ====> Client connect 19:26:22.252687 Received DATA (on stdin) 19:26:22.252704 > 146 bytes data, server => client 19:26:22.252716 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:22.252726 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:22.252736 '220 \___|\___/|_| \_\_____|\r\n' 19:26:22.252856 < 16 bytes data, client => server 19:26:22.252870 'USER anonymous\r\n' 19:26:22.253089 Received DATA (on stdin) 19:26:22.253102 > 33 bytes data, server => client 19:26:22.253112 '331 We are happy you popped in!\r\n' 19:26:22.253177 < 22 bytes data, client => server 19:26:22.253189 'PASS ftp@example.com\r\n' 19:26:22.253318 Received DATA (on stdin) 19:26:22.253329 > 30 bytes data, server => client 19:26:22.253339 '230 Welcome you silly person\r\n' 19:26:22.253397 < 5 bytes data, client => server 19:26:22.253409 'PWD\r\n' 19:26:22.253528 Received DATA (on stdin) 19:26:22.253539 > 30 bytes data, server => client 19:26:22.253549 '257 "/" is current directory\r\n' 19:26:22.253615 < 6 bytes data, client => server 19:26:22.253628 'EPSV\r\n' 19:26:22.260104 Received DATA (on stdin) 19:26:22.260121 > 39 bytes data, server => client 19:26:22.260132 '229 Entering Passive Mode (|||45847|)\r\n' 19:26:22.260338 < 8 bytes data, client => server 19:26:22.260356 'TYPE I\r\n' 19:26:22.260610 Received DATA (on stdin) 19:26:22.260624 > 33 bytes data, server => client 19:26:22.260635 '200 I modify TYPE as you wanted\r\n' 19:26:22.260699 < 21 bytes data, client => server 19:26:22.260715 'SIZE verifiedserver\r\n' 19:26:22.260862 Received DATA (on stdin) 19:26:22.260875 > 8 bytes data, server => client 19:26:22.260886 '213 17\r\n' 19:26:22.260944 < 21 bytes data, client => server 19:26:22.260958 'RETR verifiedserver\r\n' 19:26:22.261200 Received DATA (on stdin) 19:26:22.261212 > 29 bytes data, server => client 19:26:22.261223 '150 Binary junk (17 bytes).\r\n' 19:26:22.261825 Received DATA (on stdin) 19:26:22.261838 > 28 bytes data, server => client 19:26:22.261848 '226 File transfer complete\r\n' 19:26:22.309008 < 6 bytes data, client => server 19:26:22.309045 'QUIT\r\n' 19:26:22.309287 Received DATA (on stdin) 19:26:22.309305 > 18 bytes data, server => client 19:26:22.309315 '221 bye bye baby\r\n' 19:26:22.315685 ====> Client disconnect 19:26:22.322328 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.259620 Running IPv4 version 19:26:21.259713 Listening on port 45847 19:26:21.259760 Wrote pid 87172 to log/24/server/ftp_sockdata.pid 19:26:21.259785 Received PING (on stdin) 19:26:21.259898 Received PORT (on stdin) 19:26:21.260380 ====> Client connect 19:26:21.261288 Received DATA (on stdin) 19:26:21.261304 > 17 bytes data, server => client 19:26:21.261315 'WE ROOLZ: 85113\r\n' 19:26:21.261345 Received DISC (on stdin) 19:26:21.261359 ====> Client forcibly disconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind142 ../src/curl -q --output log/2/curl142.out --include --trace-ascii log/2/trace142 --trace-time ftp://127.0.0.1:38033/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/2/stdout142 2> log/2/stderr142 nected 19:26:21.261512 Received QUIT (on stdin) 19:26:21.261525 quits 19:26:21.261595 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==87204== ==87204== Process terminating with default action of signal 4 (SIGILL) ==87204== Illegal opcode at address 0x492B75F ==87204== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87204== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87204== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87204== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87204== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87204== by 0x49908EB: curl_version_info (version.c:600) ==87204== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87204== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87204== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87204== by 0x4003269: main (tool_main.c:195) === End of file valgrind140 test 0142 [FTP URL with 150 dir levels] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind142 ../src/curl -q --output log/2/curl142.out --include --trace-ascii log/2/trace142 --trace-time ftp://127.0.0.1:38033/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/2/stdout142 2> log/2/stderr142 142: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind142 ../src/curl -q --output log/2/curl142.out --include --trace-ascii log/2/trace142 --trace-time ftp://127.0.0.1:38033/part1/part2/part3/part4/part5/part6/part7/part8/part9/part10/part11/part12/part13/part14/part15/part16/part17/part18/part19/part20/part21/part22/part23/part24/part25/part26/part27/part28/part29/part30/part31/part32/part33/part34/part35/part36/part37/part38/part39/part40/part41/part42/part43/part44/part45/part46/part47/part48/part49/part50/part51/part52/part53/part54/part55/part56/part57/part58/part59/part60/part61/part62/part63/part64/part65/part66/part67/part68/part69/part70/part71/part72/part73/part74/part75/part76/part77/part78/part79/part80/part81/part82/part83/part84/part85/part86/part87/part88/part89/part90/part91/part92/part93/part94/part95/part96/part97/part98/part99/part100/part101/part102/part103/part104/part105/part106/part107/part108/part109/part110/part111/part112/part113/part114/part115/part116/part117/part118/part119/part120/part121/part122/part123/part124/part125/part126/part127/part128/part129/part130/part131/part132/part133/part134/part135/part136/part137/part138/part139/part140/part141/part142/part143/part144/part145/part146/part147/part148/part149/part150/142 > log/2/stdout142 2> log/2/stderr142 === End of file commands.log === Start of file ftp_server.log 19:26:21.958837 ====> Client connect 19:26:21.959060 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.965495 < "USER anonymous" 19:26:21.965543 > "331 We are happy you popped in![CR][LF]" 19:26:21.965746 < "PASS ftp@example.com" 19:26:21.965777 > "230 Welcome you silly person[CR][LF]" 19:26:21.965939 < "PWD" 19:26:21.965973 > "257 "/" is current directory[CR][LF]" 19:26:21.966144 < "EPSV" 19:26:21.966174 ====> Passive DATA channel requested by client 19:26:21.966191 DATA sockfilt for passive data channel starting... 19:26:21.977005 DATA sockfilt for passive data channel started (pid 87338) 19:26:21.977143 DATA sockfilt for passive data channel listens on port 44167 19:26:21.977191 > "229 Entering Passive Mode (|||44167|)[CR][LF]" 19:26:21.977207 Client has been notified that upcoming DATA connection is awaited on port 44167 19:26:21.977504 Client connects to port 44167 19:26:21.977531 ====> Client established passive DATA connection on port 44167 19:26:21.977620 < "TYPE I" 19:26:21.977651 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.977800 < "SIZE verifiedserver" 19:26:21.977833 > "213 17[CR][LF]" 19:26:21.977970 < "RETR verifiedserver" 19:26:21.978005 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.978089 =====> Closing passive DATA connection... 19:26:21.978104 Server disconnects passive DATA connection 19:26:21.978252 Server disconnected passive DATA connection 19:26:21.978276 DATA sockfilt for passive data channel quits (pid 87338) 19:26:21.978511 DATA sockfilt for passive data channel quit (pid 87338) 19:26:21.978536 =====> Closed passive DATA connection 19:26:21.978562 > "226 File transfer complete[CR][LF]" 19:26:22.030745 < "QUIT" 19:26:22.030808 > "221 bye bye baby[CR][LF]" 19:26:22.032052 MAIN sockfilt said DISC 19:26:22.032084 ====> Client disconnected 19:26:22.032160 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.559065 ====> Client connect 19:26:21.559459 Received DATA (on stdin) 19:26:21.559474 > 146 bytes data, server => client 19:26:21.559485 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.559495 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.559504 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.562462 < 16 bytes data, client => server 19:26:21.562480 'USER anonymous\r\n' 19:26:21.565935 Received DATA (on stdin) 19:26:21.565948 > 33 bytes data, server => client 19:26:21.565958 '331 We are happy you popped in!\r\n' 19:26:21.566034 < 22 bytes data, client => server 19:26:21.566047 'PASS ftp@example.com\r\n' 19:26:21.566163 Received DATA (on stdin) 19:26:21.566174 > 30 bytes data, server => client 19:26:21.566184 '230 Welcome you silly person\r\n' 19:26:21.566238 < 5 bytes data, client => server 19:26:21.566249 'PWD\r\n' 19:26:21.566359 Received DATA (on stdin) 19:26:21.566370 > 30 bytes data, server => client 19:26:21.566380 '257 "/" is current directory\r\n' 19:26:21.566444 < 6 bytes data, client => server 19:26:21.566455 'EPSV\r\n' 19:26:21.577604 Received DATA (on stdin) 19:26:21.577620 > 39 bytes data, server => client 19:26:21.577631 '229 Entering Passive Mode (|||44167|)\r\n' 19:26:21.577815 < 8 bytes data, client => server 19:26:21.577828 'TYPE I\r\n' 19:26:21.578040 Received DATA (on stdin) 19:26:21.578051 > 33 bytes data, server => client 19:26:21.578061 '200 I modify TYPE as you wanted\r\n' 19:26:21.578110 < 21 bytes data, client => server 19:26:21.578120 'SIZE verifiedserver\r\n' 19:26:21.578219 Received DATA (on stdin) 19:26:21.578229 > 8 bytes data, server => client 19:26:21.578238 '213 17\r\n' 19:26:21.578282 < 21 bytes data, client => server 19:26:21.578291 'RETR verifiedserver\r\n' 19:26:21.578573 Received DATA (on stdin) 19:26:21.578584 > 29 bytes datCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind144 ../src/curl -q --output log/19/curl144.out --include --trace-ascii log/19/trace144 --trace-time ftp://127.0.0.1:38555/ -P - -l > log/19/stdout144 2> log/19/stderr144 a, server => client 19:26:21.578594 '150 Binary junk (17 bytes).\r\n' 19:26:21.578951 Received DATA (on stdin) 19:26:21.578962 > 28 bytes data, server => client 19:26:21.578972 '226 File transfer complete\r\n' 19:26:21.630953 < 6 bytes data, client => server 19:26:21.630982 'QUIT\r\n' 19:26:21.631224 Received DATA (on stdin) 19:26:21.631239 > 18 bytes data, server => client 19:26:21.631249 '221 bye bye baby\r\n' 19:26:21.632388 ====> Client disconnect 19:26:21.632560 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.576743 Running IPv4 version 19:26:21.576821 Listening on port 44167 19:26:21.576860 Wrote pid 87338 to log/2/server/ftp_sockdata.pid 19:26:21.577330 Received PING (on stdin) 19:26:21.577432 Received PORT (on stdin) 19:26:21.577847 ====> Client connect 19:26:21.578493 Received DATA (on stdin) 19:26:21.578504 > 17 bytes data, server => client 19:26:21.578513 'WE ROOLZ: 85208\r\n' 19:26:21.578539 Received DISC (on stdin) 19:26:21.578550 ====> Client forcibly disconnected 19:26:21.578672 Received QUIT (on stdin) 19:26:21.578683 quits 19:26:21.578745 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==87431== ==87431== Process terminating with default action of signal 4 (SIGILL) ==87431== Illegal opcode at address 0x492B75F ==87431== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87431== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87431== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87431== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87431== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87431== by 0x49908EB: curl_version_info (version.c:600) ==87431== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87431== by 0x4003269: main (tool_main.c:195) === End of file valgrind142 test 0144 [FTP NLST dir list without contents, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind144 ../src/curl -q --output log/19/curl144.out --include --trace-ascii log/19/trace144 --trace-time ftp://127.0.0.1:38555/ -P - -l > log/19/stdout144 2> log/19/stderr144 144: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind144 ../src/curl -q --output log/19/curl144.out --include --trace-ascii log/19/trace144 --trace-time ftp://127.0.0.1:38555/ -P - -l > log/19/stdout144 2> log/19/stderr144 === End of file commands.log === Start of file ftp_server.log 19:26:22.033824 ====> Client connect 19:26:22.034032 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.034341 < "USER anonymous" 19:26:22.034382 > "331 We are happy you popped in![CR][LF]" 19:26:22.034579 < "PASS ftp@example.com" 19:26:22.034611 > "230 Welcome you silly person[CR][LF]" 19:26:22.034799 < "PWD" 19:26:22.034840 > "257 "/" is current directory[CR][LF]" 19:26:22.035039 < "EPSV" 19:26:22.035067 ====> Passive DATA channel requested by client 19:26:22.035084 DATA sockfilt for passive data channel starting... 19:26:22.037198 DATA sockfilt for passive data channel started (pid 87374) 19:26:22.037330 DATA sockfilt for passive data channel listens on port 39443 19:26:22.037378 > "229 Entering Passive Mode (|||39443|)[CR][LF]" 19:26:22.037403 Client has been notified that upcoming DATA connection is awaited on port 39443 19:26:22.037661 Client connects to port 39443 19:26:22.037694 ====> Client established passive DATA connection on port 39443 19:26:22.037775 < "TYPE I" 19:26:22.037810 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.038002 < "SIZE verifiedserver" 19:26:22.038046 > "213 17[CR][LF]" 19:26:22.038237 < "RETR verifiedserver" 19:26:22.038278 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.038375 =====> Closing passive DATA connection... 19:26:22.038399 Server disconnects passive DATA connection 19:26:22.038572 Server disconnected passive DATA connection 19:26:22.038599 DATA sockfilt for passive data channel quits (pid 87374) 19:26:22.039015 DATA sockfilt for passive data channel quit (pid 87374) 19:26:22.039044 =====> Closed passive DATA connection 19:26:22.039079 > "226 File transfer complete[CR][LF]" 19:26:22.082426 < "QUIT" 19:26:22.082493 > "221 bye bye baby[CR][LF]" 19:26:22.084528 MAIN sockfilt said DISC 19:26:22.084566 ====> Client disconnected 19:26:22.084652 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.634114 ====> Client connect 19:26:21.634457 Received DATA (on stdin) 19:26:21.634475 > 146 bytes data, server => client 19:26:21.634488 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.634499 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.634508 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.634589 < 16 bytes data, client => server 19:26:21.634605 'USER anonymous\r\n' 19:26:21.634793 Received DATA (on stdin) 19:26:21.634806 > 33 bytes data, server => client 19:26:21.634817 '331 We are happy you popped in!\r\n' 19:26:21.634878 < 22 bytes data, client => server 19:26:21.634894 'PASS ftp@example.com\r\n' 19:26:21.635020 Received DATA (on stdin) 19:26:21.635033 > 30 bytes data, server => client 19:26:21.635044 '230 Welcome you silly person\r\n' 19:26:21.635104 < 5 bytes data, client => server 19:26:21.635119 'PWD\r\n' 19:26:21.635248 Received DATA (on stdin) 19:26:21.635261 > 30 bytes data, server => client 19:26:21.635271 '257 "/" is current directory\r\n' 19:26:21.635344 < 6 bytes data, client => server 19:26:21.635359 'EPSV\r\n' 19:26:21.637817 Received DATA (on stdin) 19:26:21.637831 > 39 bytes data, server => client 19:26:21.637842 '229 Entering Passive Mode (|||39443|)\r\n' 19:26:21.637978 < 8 bytes data, client => server 19:26:21.637994 'TYPE I\r\n' 19:26:21.638220 Received DATA (on stdin) 19:26:21.638234 > 33 bytes data, server => client 19:26:21.638245 '200 I modify TYPE as you wanted\r\n' 19:26:21.638305 < 21 bytes data, client => server 19:26:21.638321 'SIZE verifiedserver\r\n' 19:26:21.638457 Received DATA (on stdin) 19:26:21.638471 > 8 bytes data, server => client 19:26:21.638481 '213 17\r\n' 19:26:21.638541 < 21 bytes data, client => server 19:26:21.638557 'RETR verifiedserver\r\n' 19:26:21.638808 Received DATA (on stdin) 19:26:21.638820 > 29 bytes data, server => client 19:26:21.638830 '150 Binary junk (17 bytes).\r\n' 19:26:21.639490 Received DATA (on stdin) 19:26:21.639504 > 28 bytes data, server => client 19:26:21.639514 '226 File transfer complete\r\n' 19:26:21.682636 < 6 bytes data, client => server 19:26:21.682674 'QUIT\r\n' 19:26:21.682922 Received DATA (on stdin) 19:26:21.682936 > 18 bytes data, server => client 19:26:21.682947 '221 bye bye baby\r\n' 19:26:21.684887 ====> Client disconnect 19:26:21.685067 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.637277 Running IPv4 version 19:26:22.637350 Listening on port 39443 19:26:22.637388 Wrote pid 87374 to log/19/server/ftp_sockdata.pid 19:26:22.637538 Received PING (on stdin) 19:26:22.637634 Received PORT (on stdin) 19:26:22.638016 ====> Client connect 19:26:22.638859 Received DATA (on stdin) 19:26:22.638871 > 17 bytes data, server => client 19:26:22.638882 'WE ROOLZ: 84587\r\n' 19:26:22.638908 Received DISC (on stdin) 19:26:22.638923 ====> Client forcibly disconnected 19:26:22.6CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind141 ../src/curl -q --include --trace-ascii log/5/trace141 --trace-time ftp://127.0.0.1:39641/blalbla/141 -I > log/5/stdout141 2> log/5/stderr141 39017 Received QUIT (on stdin) 19:26:22.639030 quits 19:26:22.639239 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 450 No files found Testnum 144 === End of file server.cmd === Start of file valgrind144 ==87412== ==87412== Process terminating with default action of signal 4 (SIGILL) ==87412== Illegal opcode at address 0x492B75F ==87412== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87412== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87412== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87412== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87412== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87412== by 0x49908EB: curl_version_info (version.c:600) ==87412== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87412== by 0x4003269: main (tool_main.c:195) === End of file valgrind144 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind145 ../src/curl -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-time ftp://127.0.0.1:40031/ -P - -l > log/16/stdout145 2> log/16/stderr145 test 0141 [FTP download info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind141 ../src/curl -q --include --trace-ascii log/5/trace141 --trace-time ftp://127.0.0.1:39641/blalbla/141 -I > log/5/stdout141 2> log/5/stderr141 141: stdout FAILED: --- log/5/check-expected 2026-10-15 19:26:24.506089788 +0000 +++ log/5/check-generated 2026-10-15 19:26:24.503847622 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] -Content-Length: 42[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/5/ directory after test 141 === Start of file check-expected Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF] Content-Length: 42[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind141 ../src/curl -q --include --trace-ascii log/5/trace141 --trace-time ftp://127.0.0.1:39641/blalbla/141 -I > log/5/stdout141 2> log/5/stderr141 === End of file commands.log === Start of file ftp_server.log 19:26:21.747857 ====> Client connect 19:26:21.748071 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.748359 < "USER anonymous" 19:26:21.748396 > "331 We are happy you popped in![CR][LF]" 19:26:21.748560 < "PASS ftp@example.com" 19:26:21.748587 > "230 Welcome you silly person[CR][LF]" 19:26:21.748740 < "PWD" 19:26:21.748772 > "257 "/" is current directory[CR][LF]" 19:26:21.748929 < "EPSV" 19:26:21.748961 ====> Passive DATA channel requested by client 19:26:21.748974 DATA sockfilt for passive data channel starting... 19:26:21.750953 DATA sockfilt for passive data channel started (pid 87214) 19:26:21.751059 DATA sockfilt for passive data channel listens on port 43623 19:26:21.751100 > "229 Entering Passive Mode (|||43623|)[CR][LF]" 19:26:21.751116 Client has been notified that upcoming DATA connection is awaited on port 43623 19:26:21.751308 Client connects to port 43623 19:26:21.751338 ====> Client established passive DATA connection on port 43623 19:26:21.751446 < "TYPE I" 19:26:21.751477 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.751626 < "SIZE verifiedserver" 19:26:21.751660 > "213 17[CR][LF]" 19:26:21.751798 < "RETR verifiedserver" 19:26:21.751828 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.751914 =====> Closing passive DATA connection... 19:26:21.751929 Server disconnects passive DATA connection 19:26:21.752179 Server disconnected passive DATA connection 19:26:21.752210 DATA sockfilt for passive data channel quits (pid 87214) 19:26:21.752422 DATA sockfilt for passive data channel quit (pid 87214) 19:26:21.752448 =====> Closed passive DATA connection 19:26:21.752474 > "226 File transfer complete[CR][LF]" 19:26:21.805560 < "QUIT" 19:26:21.806867 > "221 bye bye baby[CR][LF]" 19:26:21.806904 MAIN sockfilt said DISC 19:26:21.806979 ====> Client disconnected 19:26:21.807065 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.348064 ====> Client connect 19:26:21.348413 Received DATA (on stdin) 19:26:21.348427 > 146 bytes data, server => client 19:26:21.348438 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.348448 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.348457 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.348532 < 16 bytes data, client => server 19:26:21.348544 'USER anonymous\r\n' 19:26:21.348729 Received DATA (on stdin) 19:26:21.348739 > 33 bytes data, server => client 19:26:21.348749 '331 We are happy you popped in!\r\n' 19:26:21.348800 < 22 bytes data, client => server 19:26:21.348811 'PASS ftp@example.com\r\n' 19:26:21.348918 Received DATA (on stdin) 19:26:21.348928 > 30 bytes data, server => client 19:26:21.348938 '230 Welcome you silly person\r\n' 19:26:21.348990 < 5 bytes data, client => server 19:26:21.348999 'PWD\r\n' 19:26:21.349101 Received DATA (on stdin) 19:26:21.349111 > 30 bytes data, server => client 19:26:21.349121 '257 "/" is current directory\r\n' 19:26:21.349178 < 6 bytes data, client => server 19:26:21.349188 'EPSV\r\n' 19:26:21.351452 Received DATA (on stdin) 19:26:21.351463 > 39 bytes data, server => client 19:26:21.351474 '229 Entering Passive Mode (|||43623|)\r\n' 19:26:21.351686 < 8 bytes data, client => server 19:26:21.351696 'TYPE I\r\n' 19:26:21.351809 Received DATA (on stdin) 19:26:21.351819 > 33 bytes data, server => client 19:26:21.351829 '200 I modify TYPE as you wanted\r\n' 19:26:21.351877 < 21 bytes data, client => server 19:26:21.351887 'SIZE verifiedserver\r\n' 19:26:21.351989 Received DATA (on stdin) 19:26:21.351999 > 8 bytes data, server => client 19:26:21.352009 '213 17\r\n' 19:26:21.352054 < 21 bytes data, client => server 19:26:21.352064 'RETR verifiedserver\r\n' 19:26:21.352261 Received DATA (on stdin) 19:26:21.352271 > 29 bytes data, server => client 19:26:21.352281 '150 Binary junk (17 bytes).\r\n' 19:26:21.353110 Received DATA (on stdin) 19:26:21.353124 > 28 bytes data, server => client 19:26:21.353135 '226 File transfer complete\r\n' 19:26:21.405707 < 6 bytes data, client => server 19:26:21.405743 'QUIT\r\n' 19:26:21.405939 Received DATA (on stdin) 19:26:21.405951 > 18 bytes data, server => client 19:26:21.405969 '221 bye bye baby\r\n' 19:26:21.407152 ====> Client disconnect 19:26:21.407253 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.350980 Running IPv4 version 19:26:21.351045 Listening on port 43623 19:26:21.351087 Wrote pid 87214 to log/5/server/ftp_sockdata.pid 19:26:21.351233 Received PING (on stdin) 19:26:21.351309 Received PORT (on stdin) 19:26:21.351592 ====> Client connect 19:26:21.352306 Received DATA (on stdin) 19:26:21.352335 > 17 bytes data, server => client 19:26:21.352345 'WE ROOLZ: 85245\r\n' 19:26:21.352368 Received DISC (on stdin) 19:26:21.352379 ====> Client forcibly disconnected 19:26:21.352553 Received QUIT (on stdin) 19:26:21.352564 quits 19:26:21.352626 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==87248== ==87248== Process terminating with default action of signal 4 (SIGILL) ==87248== Illegal opcode at address 0x492B75F ==87248== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87248== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87248== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87248== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87248== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87248== by 0x49908EB: curl_version_info (version.c:600) ==87248== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87248== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87248== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87248== by 0x4003269: main (tool_main.c:195) === End of file valgrind141 test 0145 [FTP NLST dir list with weird reply code, using PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind145 ../src/curl -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-time ftp://127.0.0.1:40031/ -P - -l > log/16/stdout145 2> log/16/stderr145 145: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind145 ../src/curl CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind154 ../src/curl -q --output log/22/curl154.out --include --trace-ascii log/22/trace154 --trace-time http://127.0.0.1:35989/154 -T log/22/put154 -u testuser:testpass --anyauth > log/22/stdout154 2> log/22/stderr154 -q --output log/16/curl145.out --include --trace-ascii log/16/trace145 --trace-time ftp://127.0.0.1:40031/ -P - -l > log/16/stdout145 2> log/16/stderr145 === End of file commands.log === Start of file ftp_server.log 19:26:22.378941 ====> Client connect 19:26:22.379158 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.379456 < "USER anonymous" 19:26:22.379495 > "331 We are happy you popped in![CR][LF]" 19:26:22.379668 < "PASS ftp@example.com" 19:26:22.379696 > "230 Welcome you silly person[CR][LF]" 19:26:22.379838 < "PWD" 19:26:22.379869 > "257 "/" is current directory[CR][LF]" 19:26:22.380014 < "EPSV" 19:26:22.380039 ====> Passive DATA channel requested by client 19:26:22.380052 DATA sockfilt for passive data channel starting... 19:26:22.388704 DATA sockfilt for passive data channel started (pid 87562) 19:26:22.394313 DATA sockfilt for passive data channel listens on port 38217 19:26:22.394470 > "229 Entering Passive Mode (|||38217|)[CR][LF]" 19:26:22.394504 Client has been notified that upcoming DATA connection is awaited on port 38217 19:26:22.394845 Client connects to port 38217 19:26:22.394883 ====> Client established passive DATA connection on port 38217 19:26:22.395007 < "TYPE I" 19:26:22.395053 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.395264 < "SIZE verifiedserver" 19:26:22.395314 > "213 17[CR][LF]" 19:26:22.395499 < "RETR verifiedserver" 19:26:22.395534 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.396003 =====> Closing passive DATA connection... 19:26:22.396026 Server disconnects passive DATA connection 19:26:22.396053 Fancy that; client wants to DISC, too 19:26:22.396138 Server disconnected passive DATA connection 19:26:22.396160 DATA sockfilt for passive data channel quits (pid 87562) 19:26:22.396386 DATA sockfilt for passive data channel quit (pid 87562) 19:26:22.396409 =====> Closed passive DATA connection 19:26:22.396489 > "226 File transfer complete[CR][LF]" 19:26:22.445590 < "QUIT" 19:26:22.445642 > "221 bye bye baby[CR][LF]" 19:26:22.446865 MAIN sockfilt said DISC 19:26:22.446906 ====> Client disconnected 19:26:22.446988 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.979176 ====> Client connect 19:26:21.979667 Received DATA (on stdin) 19:26:21.979685 > 146 bytes data, server => client 19:26:21.979695 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.979704 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.979712 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.979799 < 16 bytes data, client => server 19:26:21.979812 'USER anonymous\r\n' 19:26:21.979987 Received DATA (on stdin) 19:26:21.979999 > 33 bytes data, server => client 19:26:21.980008 '331 We are happy you popped in!\r\n' 19:26:21.980061 < 22 bytes data, client => server 19:26:21.980072 'PASS ftp@example.com\r\n' 19:26:21.980184 Received DATA (on stdin) 19:26:21.980194 > 30 bytes data, server => client 19:26:21.980203 '230 Welcome you silly person\r\n' 19:26:21.980249 < 5 bytes data, client => server 19:26:21.980258 'PWD\r\n' 19:26:21.980355 Received DATA (on stdin) 19:26:21.980365 > 30 bytes data, server => client 19:26:21.980374 '257 "/" is current directory\r\n' 19:26:21.980428 < 6 bytes data, client => server 19:26:21.980438 'EPSV\r\n' 19:26:21.994877 Received DATA (on stdin) 19:26:21.994900 > 39 bytes data, server => client 19:26:21.995011 '229 Entering Passive Mode (|||38217|)\r\n' 19:26:21.995278 < 8 bytes data, client => server 19:26:21.995292 'TYPE I\r\n' 19:26:21.995557 Received DATA (on stdin) 19:26:21.995571 > 33 bytes data, server => client 19:26:21.995582 '200 I modify TYPE as you wanted\r\n' 19:26:21.995647 < 21 bytes data, client => server 19:26:21.995663 'SIZE verifiedserver\r\n' 19:26:21.995825 Received DATA (on stdin) 19:26:21.995838 > 8 bytes data, server => client 19:26:21.995847 '213 17\r\n' 19:26:21.995902 < 21 bytes data, client => server 19:26:21.995912 'RETR verifiedserver\r\n' 19:26:21.996062 Received DATA (on stdin) 19:26:21.996073 > 29 bytes data, server => client 19:26:21.996083 '150 Binary junk (17 bytes).\r\n' 19:26:21.996910 Received DATA (on stdin) 19:26:21.996922 > 28 bytes data, server => client 19:26:21.996940 '226 File transfer complete\r\n' 19:26:22.045941 < 6 bytes data, client => server 19:26:22.045962 'QUIT\r\n' 19:26:22.046154 Received DATA (on stdin) 19:26:22.046167 > 18 bytes data, server => client 19:26:22.046177 '221 bye bye baby\r\n' 19:26:22.047312 ====> Client disconnect 19:26:22.047496 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.982278 Running IPv4 version 19:26:22.982360 Listening on port 38217 19:26:22.982406 Wrote pid 87562 to log/16/server/ftp_sockdata.pid 19:26:22.986121 Received PING (on stdin) 19:26:22.994634 Received PORT (on stdin) 19:26:22.995243 ====> Client connect 19:26:22.996036 Received DATA (on stdin) 19:26:22.996049 > 17 bytes data, server => client 19:26:22.996145 'WE ROOLZ: 84702\r\n' 19:26:22.996217 ====> Client disconnect 19:26:22.996544 Received DISC (on stdin) 19:26:22.996557 Crikey! Client also wants to disconnect 19:26:22.996567 Received ACKD (on stdin) 19:26:22.996652 Received QUIT (on stdin) 19:26:22.996662 quits 19:26:22.996729 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY NLST 550 Have a taste on this Testnum 145 === End of file server.cmd === Start of file valgrind145 ==87597== ==87597== Process terminating with default action of signal 4 (SIGILL) ==87597== Illegal opcode at address 0x492B75F ==87597== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87597== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87597== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87597== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87597== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87597== by 0x49908EB: curl_version_info (version.c:600) ==87597== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87597== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87597== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87597== by 0x4003269: main (tool_main.c:195) === End of file valgrind145 test 0154 [HTTP PUT with --anyauth authorization (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind154 ../src/curl -q --output log/22/curl154.out --include --trace-ascii log/22/trace154 --trace-time http://127.0.0.1:35989/154 -T log/22/put154 -u testuser:testpass --anyauth > log/22/stdout154 2> log/22/stderr154 154: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind154 ../src/curl -q --output log/22/curl154.out --include --trace-ascii log/22/trace154 --trace-time http://127.0.0.1:35989/154 -T log/22/put154 -u testuser:testpass --anyauth > log/22/stdout154 2> log/22/stderr154 === End of file commands.log === Start of file http_server.log 19:26:22.395223 ====> Client connect 19:26:22.395258 accept_connection 3 returned 4 19:26:22.395418 Read 93 bytes 19:26:22.395435 Process 93 bytes request 19:26:22.395448 Got request: GET /verifiedserver HTTP/1.1 19:26:22.395457 Are-we-friendly question received 19:26:22.395492 Wrote request (93 bytes) input to log/22/server.input 19:26:22.395514 Identifying ourselves as friends 19:26:22.395586 Response sent (56 bytes) and written to log/22/server.response 19:26:22.395598 special request received, no persistency 19:26:22.395606 ====> Client disconnect 0 === End of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind143 ../src/curl -q --output log/4/curl143.out --include --trace-ascii log/4/trace143 --trace-time "ftp://127.0.0.1:39739/%2ftmp/moo/143;type=a" > log/4/stdout143 2> log/4/stderr143 http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 41640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file put154 This is data we upload with PUT a second line line three four is the number of lines === End of file put154 === Start of file server.cmd Testnum 154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind154 ==87977== ==87977== Process terminating with default action of signal 4 (SIGILL) ==87977== Illegal opcode at address 0x492B75F ==87977== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87977== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87977== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87977== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87977== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87977== by 0x49908EB: curl_version_info (version.c:600) ==87977== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87977== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87977== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87977== by 0x4003269: main (tool_main.c:195) === End of file valgrind154 test 0143 [FTP URL with type=a] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind143 ../src/curl -q --output log/4/curl143.out --include --trace-ascii log/4/trace143 --trace-time "ftp://127.0.0.1:39739/%2ftmp/moo/143;type=a" > log/4/stdout143 2> log/4/stderr143 143: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind143 ../src/curl -q --output log/4/curl143.out --include --trace-ascii log/4/trace143 --trace-time "ftp://127.0.0.1:39739/%2ftmp/moo/143;type=a" > log/4/stdout143 2> log/4/stderr143 === End of file commands.log === Start of file ftp_server.log 19:26:21.960318 ====> Client connect 19:26:21.960546 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:21.960877 < "USER anonymous" 19:26:21.960915 > "331 We are happy you popped in![CR][LF]" 19:26:21.961096 < "PASS ftp@example.com" 19:26:21.961125 > "230 Welcome you silly person[CR][LF]" 19:26:21.961284 < "PWD" 19:26:21.961320 > "257 "/" is current directory[CR][LF]" 19:26:21.961499 < "EPSV" 19:26:21.961530 ====> Passive DATA channel requested by client 19:26:21.961544 DATA sockfilt for passive data channel starting... 19:26:21.967459 DATA sockfilt for passive data channel started (pid 87335) 19:26:21.967570 DATA sockfilt for passive data channel listens on port 37935 19:26:21.967828 > "229 Entering Passive Mode (|||37935|)[CR][LF]" 19:26:21.967852 Client has been notified that upcoming DATA connection is awaited on port 37935 19:26:21.967906 Client connects to port 37935 19:26:21.967927 ====> Client established passive DATA connection on port 37935 19:26:21.968008 < "TYPE I" 19:26:21.968144 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:21.968206 < "SIZE verifiedserver" 19:26:21.968349 > "213 17[CR][LF]" 19:26:21.968406 < "RETR verifiedserver" 19:26:21.968521 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:21.968611 =====> Closing passive DATA connection... 19:26:21.968627 Server disconnects passive DATA connection 19:26:21.968798 Server disconnected passive DATA connection 19:26:21.968822 DATA sockfilt for passive data channel quits (pid 87335) 19:26:21.969058 DATA sockfilt for passive data channel quit (pid 87335) 19:26:21.969086 =====> Closed passive DATA connection 19:26:21.969167 > "226 File transfer complete[CR][LF]" 19:26:22.015654 < "QUIT" 19:26:22.015711 > "221 bye bye baby[CR][LF]" 19:26:22.016923 MAIN sockfilt said DISC 19:26:22.016958 ====> Client disconnected 19:26:22.017040 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.560600 ====> Client connect 19:26:21.560945 Received DATA (on stdin) 19:26:21.560960 > 146 bytes data, server => client 19:26:21.560971 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.560982 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.560991 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.561088 < 16 bytes data, client => server 19:26:21.561101 'USER anonymous\r\n' 19:26:21.561303 Received DATA (on stdin) 19:26:21.561315 > 33 bytes data, server => client 19:26:21.561325 '331 We are happy you popped in!\r\n' 19:26:21.561382 < 22 bytes data, client => server 19:26:21.561394 'PASS ftp@example.com\r\n' 19:26:21.561509 Received DATA (on stdin) 19:26:21.561520 > 30 bytes data, server => client 19:26:21.561530 '230 Welcome you silly person\r\n' 19:26:21.561584 < 5 bytes data, client => server 19:26:21.561594 'PWD\r\n' 19:26:21.561706 Received DATA (on stdin) 19:26:21.561718 > 30 bytes data, server => client 19:26:21.561728 '257 "/" is current directory\r\n' 19:26:21.561792 < 6 bytes data, client => server 19:26:21.561804 'EPSV\r\n' 19:26:21.567970 Received DATA (on stdin) 19:26:21.567983 > 39 bytes data, server => client 19:26:21.568000 '229 Entering Passive Mode (|||37935|)\r\n' 19:26:21.568143 < 8 bytes data, client => server 19:26:21.568156 'TYPE I\r\n' 19:26:21.568402 Received DATA (on stdin) 19:26:21.568412 > 33 bytes data, server => client 19:26:21.568430 '200 I modify TYPE as you wanted\r\n' 19:26:21.568481 < 21 bytes data, client => server 19:26:21.568492 'SIZE verifiedserver\r\n' 19:26:21.568608 Received DATA (on stdin) 19:26:21.568618 > 8 bytes data, server => client 19:26:21.568635 '213 17\r\n' 19:26:21.568684 < 21 bytes data, client => server 19:26:21.568694 'RETR verifiedserver\r\n' 19:26:21.568804 Received DATA (on stdin) 19:26:21.568814 > 29 bytes data, server => client 19:26:21.568831 '150 Binary junk (17 bytes).\r\n' 19:26:21.569480 Received DATA (on stdin) 19:26:21.569492 > 28 bytes data, server => client 19:26:21.569510 '226 File transfer complete\r\n' 19:26:21.615849 < 6 bytes data, client => server 19:26:21.615886 'QUIT\r\n' 19:26:21.616114 Received DATA (on stdin) 19:26:21.616126 > 18 bytes data, server => client 19:26:21.616136 '221 bye bye baby\r\n' 19:26:21.617262 ====> Client disconnect 19:26:21.617447 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:21.566430 Running IPv4 version 19:26:21.566501 Listening on port 37935 19:26:21.566543 Wrote pid 87335 to log/4/server/ftp_sockdata.pid 19:26:21.567783 Received PING (on stdin) 19:26:21.567874 Received PORT (on stdin) 19:26:21.568248 ====> Client connect 19:26:21.569014 Received DATA (on stdin) 19:26:21.569027 > 17 bytes data, server => client 19:26:21.569044 'WE ROOLZ: 85249\r\n' 19:26:21.569111 Received DISC (on stdin) 19:26:21.569124 ====> Client forcibly disconnected 19:26:21.569216 Received QUIT (on stdin) 19:26:21.569227 quits 19:26:21.569296 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==87375== ==87375== Process terminating with default action of signal 4 (SIGILL) ==87375== Illegal opcode at address 0x492B75F ==87375== at 0x492B75F: formatf.constprop.2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind149 ../src/curl -q --output log/12/curl149.out --include --trace-ascii log/12/trace149 --trace-time -T log/12/upload149 ftp://127.0.0.1:40417/dir1/149 -T log/12/upload149 ftp://127.0.0.1:40417/dir2/149 > log/12/stdout149 2> log/12/stderr149 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind151 ../src/curl -q --output log/6/curl151.out --include --trace-ascii log/6/trace151 --trace-time http://127.0.0.1:33935/151 > log/6/stdout151 2> log/6/stderr151 (mprintf.c:1115) ==87375== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87375== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87375== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87375== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87375== by 0x49908EB: curl_version_info (version.c:600) ==87375== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87375== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87375== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87375== by 0x4003269: main (tool_main.c:195) === End of file valgrind143 test 0149 [FTP with multiple uploads] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind149 ../src/curl -q --output log/12/curl149.out --include --trace-ascii log/12/trace149 --trace-time -T log/12/upload149 ftp://127.0.0.1:40417/dir1/149 -T log/12/upload149 ftp://127.0.0.1:40417/dir2/149 > log/12/stdout149 2> log/12/stderr149 149: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind149 ../src/curl -q --output log/12/curl149.out --include --trace-ascii log/12/trace149 --trace-time -T log/12/upload149 ftp://127.0.0.1:40417/dir1/149 -T log/12/upload149 ftp://127.0.0.1:40417/dir2/149 > log/12/stdout149 2> log/12/stderr149 === End of file commands.log === Start of file ftp_server.log 19:26:22.534322 ====> Client connect 19:26:22.534570 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.534910 < "USER anonymous" 19:26:22.534957 > "331 We are happy you popped in![CR][LF]" 19:26:22.542544 < "PASS ftp@example.com" 19:26:22.542592 > "230 Welcome you silly person[CR][LF]" 19:26:22.543820 < "PWD" 19:26:22.543875 > "257 "/" is current directory[CR][LF]" 19:26:22.544094 < "EPSV" 19:26:22.544130 ====> Passive DATA channel requested by client 19:26:22.544149 DATA sockfilt for passive data channel starting... 19:26:22.552995 DATA sockfilt for passive data channel started (pid 87666) 19:26:22.553160 DATA sockfilt for passive data channel listens on port 45563 19:26:22.553224 > "229 Entering Passive Mode (|||45563|)[CR][LF]" 19:26:22.553243 Client has been notified that upcoming DATA connection is awaited on port 45563 19:26:22.555672 Client connects to port 45563 19:26:22.555731 ====> Client established passive DATA connection on port 45563 19:26:22.555850 < "TYPE I" 19:26:22.555890 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.556056 < "SIZE verifiedserver" 19:26:22.556097 > "213 17[CR][LF]" 19:26:22.556244 < "RETR verifiedserver" 19:26:22.556276 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.556361 =====> Closing passive DATA connection... 19:26:22.556376 Server disconnects passive DATA connection 19:26:22.556601 Server disconnected passive DATA connection 19:26:22.556627 DATA sockfilt for passive data channel quits (pid 87666) 19:26:22.556894 DATA sockfilt for passive data channel quit (pid 87666) 19:26:22.556919 =====> Closed passive DATA connection 19:26:22.556947 > "226 File transfer complete[CR][LF]" 19:26:22.605637 < "QUIT" 19:26:22.605691 > "221 bye bye baby[CR][LF]" 19:26:22.607308 MAIN sockfilt said DISC 19:26:22.607347 ====> Client disconnected 19:26:22.607429 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:23.134732 ====> Client connect 19:26:23.135119 Received DATA (on stdin) 19:26:23.135137 > 146 bytes data, server => client 19:26:23.135148 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:23.135158 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:23.135168 '220 \___|\___/|_| \_\_____|\r\n' 19:26:23.135257 < 16 bytes data, client => server 19:26:23.135273 'USER anonymous\r\n' 19:26:23.135495 Received DATA (on stdin) 19:26:23.135508 > 33 bytes data, server => client 19:26:23.135519 '331 We are happy you popped in!\r\n' 19:26:23.135581 < 22 bytes data, client => server 19:26:23.135596 'PASS ftp@example.com\r\n' 19:26:23.144087 Received DATA (on stdin) 19:26:23.144112 > 30 bytes data, server => client 19:26:23.144123 '230 Welcome you silly person\r\n' 19:26:23.144217 < 5 bytes data, client => server 19:26:23.144233 'PWD\r\n' 19:26:23.144417 Received DATA (on stdin) 19:26:23.144430 > 30 bytes data, server => client 19:26:23.144440 '257 "/" is current directory\r\n' 19:26:23.144515 < 6 bytes data, client => server 19:26:23.144531 'EPSV\r\n' 19:26:23.155872 Received DATA (on stdin) 19:26:23.155905 > 39 bytes data, server => client 19:26:23.155917 '229 Entering Passive Mode (|||45563|)\r\n' 19:26:23.156099 < 8 bytes data, client => server 19:26:23.156113 'TYPE I\r\n' 19:26:23.156426 Received DATA (on stdin) 19:26:23.156438 > 33 bytes data, server => client 19:26:23.156448 '200 I modify TYPE as you wanted\r\n' 19:26:23.156502 < 21 bytes data, client => server 19:26:23.156513 'SIZE verifiedserver\r\n' 19:26:23.156631 Received DATA (on stdin) 19:26:23.156641 > 8 bytes data, server => client 19:26:23.156650 '213 17\r\n' 19:26:23.156699 < 21 bytes data, client => server 19:26:23.156708 'RETR verifiedserver\r\n' 19:26:23.156914 Received DATA (on stdin) 19:26:23.156924 > 29 bytes data, server => client 19:26:23.156934 '150 Binary junk (17 bytes).\r\n' 19:26:23.157479 Received DATA (on stdin) 19:26:23.157490 > 28 bytes data, server => client 19:26:23.157499 '226 File transfer complete\r\n' 19:26:23.205990 < 6 bytes data, client => server 19:26:23.206014 'QUIT\r\n' 19:26:23.206239 Received DATA (on stdin) 19:26:23.206250 > 18 bytes data, server => client 19:26:23.206260 '221 bye bye baby\r\n' 19:26:23.207787 ====> Client disconnect 19:26:23.207976 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.146784 Running IPv4 version 19:26:22.146876 Listening on port 45563 19:26:22.146918 Wrote pid 87666 to log/12/server/ftp_sockdata.pid 19:26:22.153437 Received PING (on stdin) 19:26:22.153584 Received PORT (on stdin) 19:26:22.156139 ====> Client connect 19:26:22.156988 Received DATA (on stdin) 19:26:22.157001 > 17 bytes data, server => client 19:26:22.157010 'WE ROOLZ: 85158\r\n' 19:26:22.157034 Received DISC (on stdin) 19:26:22.157044 ====> Client forcibly disconnected 19:26:22.157170 Received QUIT (on stdin) 19:26:22.157181 quits 19:26:22.157255 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 149 === End of file server.cmd === Start of file upload149 send away this contents === End of file upload149 === Start of file valgrind149 ==87768== ==87768== Process terminating with default action of signal 4 (SIGILL) ==87768== Illegal opcode at address 0x492B75F ==87768== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87768== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87768== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87768== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87768== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87768== by 0x49908EB: curl_version_info (version.c:600) ==87768== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87768== by 0x4003269: main (tool_main.c:195) === End of file valgrind149 test 0151 [HTTP GET with an error code that might trick authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind151 ../src/curl -q --outCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind148 ../src/curl -q --output log/10/curl148.out --include --trace-ascii log/10/trace148 --trace-time ftp://127.0.0.1:44817/attempt/to/get/this/148 --ftp-create-dirs > log/10/stdout148 2> log/10/stderr148 put log/6/curl151.out --include --trace-ascii log/6/trace151 --trace-time http://127.0.0.1:33935/151 > log/6/stdout151 2> log/6/stderr151 151: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind151 ../src/curl -q --output log/6/curl151.out --include --trace-ascii log/6/trace151 --trace-time http://127.0.0.1:33935/151 > log/6/stdout151 2> log/6/stderr151 === End of file commands.log === Start of file http_server.log 19:26:22.330465 ====> Client connect 19:26:22.330499 accept_connection 3 returned 4 19:26:22.330523 Read 93 bytes 19:26:22.330534 Process 93 bytes request 19:26:22.330547 Got request: GET /verifiedserver HTTP/1.1 19:26:22.330557 Are-we-friendly question received 19:26:22.330586 Wrote request (93 bytes) input to log/6/server.input 19:26:22.330605 Identifying ourselves as friends 19:26:22.330676 Response sent (56 bytes) and written to log/6/server.response 19:26:22.330688 special request received, no persistency 19:26:22.330697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 56504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind151 ==87881== ==87881== Process terminating with default action of signal 4 (SIGILL) ==87881== Illegal opcode at address 0x492B75F ==87881== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87881== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87881== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87881== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87881== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87881== by 0x49908EB: curl_version_info (version.c:600) ==87881== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87881== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87881== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87881== by 0x4003269: main (tool_main.c:195) === End of file valgrind151 test 0148 [FTP with --ftp-create-dirs (failing MKD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind148 ../src/curl -q --output log/10/curl148.out --include --trace-ascii log/10/trace148 --trace-time ftp://127.0.0.1:44817/attempt/to/get/this/148 --ftp-create-dirs > log/10/stdout148 2> log/10/stderr148 148: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind148 ../src/curl -q --output log/10/curl148.out --include --trace-ascii log/10/trace148 --trace-time ftp://127.0.0.1:44817/attempt/to/get/this/148 --ftp-create-dirs > log/10/stdout148 2> log/10/stderr148 === End of file commands.log === Start of file ftp_server.log 19:26:22.493695 ====> Client connect 19:26:22.494004 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.501253 < "USER anonymous" 19:26:22.501312 > "331 We are happy you popped in![CR][LF]" 19:26:22.501551 < "PASS ftp@example.com" 19:26:22.501588 > "230 Welcome you silly person[CR][LF]" 19:26:22.501776 < "PWD" 19:26:22.501816 > "257 "/" is current directory[CR][LF]" 19:26:22.502023 < "EPSV" 19:26:22.502057 ====> Passive DATA channel requested by client 19:26:22.502074 DATA sockfilt for passive data channel starting... 19:26:22.508946 DATA sockfilt for passive data channel started (pid 87630) 19:26:22.509077 DATA sockfilt for passive data channel listens on port 45187 19:26:22.509129 > "229 Entering Passive Mode (|||45187|)[CR][LF]" 19:26:22.509146 Client has been notified that upcoming DATA connection is awaited on port 45187 19:26:22.510113 Client connects to port 45187 19:26:22.510153 ====> Client established passive DATA connection on port 45187 19:26:22.518806 < "TYPE I" 19:26:22.518863 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.528872 < "SIZE verifiedserver" 19:26:22.528941 > "213 17[CR][LF]" 19:26:22.529131 < "RETR verifiedserver" 19:26:22.529173 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.529274 =====> Closing passive DATA connection... 19:26:22.529291 Server disconnects passive DATA connection 19:26:22.529563 Server disconnected passive DATA connection 19:26:22.529589 DATA sockfilt for passive data channel quits (pid 87630) 19:26:22.529895 DATA sockfilt for passive data channel quit (pid 87630) 19:26:22.529922 =====> Closed passive DATA connection 19:26:22.529951 > "226 File transfer complete[CR][LF]" 19:26:22.578972 < "QUIT" 19:26:22.579030 > "221 bye bye baby[CR][LF]" 19:26:22.580195 MAIN sockfilt said DISC 19:26:22.580237 ====> Client disconnected 19:26:22.580319 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:23.093997 ====> Client connect 19:26:23.096815 Received DATA (on stdin) 19:26:23.096838 > 146 bytes data, server => client 19:26:23.096849 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:23.096859 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:23.096868 '220 \___|\___/|_| \_\_____|\r\n' 19:26:23.101550 < 16 bytes data, client => server 19:26:23.101573 'USER anonymous\r\n' 19:26:23.101844 Received DATA (on stdin) 19:26:23.101858 > 33 bytes data, server => client 19:26:23.101869 '331 We are happy you popped in!\r\n' 19:26:23.101961 < 22 bytes data, client => server 19:26:23.101977 'PASS ftp@example.com\r\n' 19:26:23.102113 Received DATA (on stdin) 19:26:23.102126 > 30 bytes data, server => client 19:26:23.102137 '230 Welcome you silly person\r\n' 19:26:23.102198 < 5 bytes data, client => server 19:26:23.102212 'PWD\r\n' 19:26:23.102340 Received DATA (on stdin) 19:26:23.102353 > 30 bytes data, server => client 19:26:23.102364 '257 "/" is current directory\r\n' 19:26:23.102437 < 6 bytes data, client => server 19:26:23.102452 'EPSV\r\n' 19:26:23.110354 Received DATA (on stdin) 19:26:23.110375 > 39 bytes data, server => client 19:26:23.110386 '229 Entering Passive Mode (|||45187|)\r\n' 19:26:23.116249 < 8 bytes data, client => server 19:26:23.116272 'TYPE I\r\n' 19:26:23.119398 Received DATA (on stdin) 19:26:23.119415 > 33 bytes data, server => client 19:26:23.119426 '200 I modify TYPE as you wanted\r\n' 19:26:23.129219 < 21 bytes data, client => server 19:26:23.129248 'SIZE verifiedserver\r\n' 19:26:23.129475 Received DATA (on stdin) 19:26:23.129487 > 8 bytes data, server => client 19:26:23.129496 '213 17\r\n' 19:26:23.129567 < 21 bytes data, client => server 19:26:23.129577 'RETR verifiedserver\r\n' 19:26:23.129822 Received DATA (on stdin) 19:26:23.129833 > 29 bytes data, server => client 19:26:23.129842 '150 Binary junk (17 bytes).\r\n' 19:26:23.130481 Received DATA (on stdin) 19:26:23.130493 > 28 bytes data, server => client 19:26:23.130503 '226 File transfeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind147 ../src/curl -q --output log/7/curl147.out --include --trace-ascii log/7/trace147 --trace-time ftp://127.0.0.1:44283/first/dir/here/147 --ftp-create-dirs > log/7/stdout147 2> log/7/stderr147 r complete\r\n' 19:26:23.179314 < 6 bytes data, client => server 19:26:23.179347 'QUIT\r\n' 19:26:23.179576 Received DATA (on stdin) 19:26:23.179590 > 18 bytes data, server => client 19:26:23.179598 '221 bye bye baby\r\n' 19:26:23.180660 ====> Client disconnect 19:26:23.180871 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.106981 Running IPv4 version 19:26:22.107083 Listening on port 45187 19:26:22.107132 Wrote pid 87630 to log/10/server/ftp_sockdata.pid 19:26:22.109402 Received PING (on stdin) 19:26:22.109502 Received PORT (on stdin) 19:26:22.110579 ====> Client connect 19:26:22.129971 Received DATA (on stdin) 19:26:22.129989 > 17 bytes data, server => client 19:26:22.129999 'WE ROOLZ: 85153\r\n' 19:26:22.130027 Received DISC (on stdin) 19:26:22.130038 ====> Client forcibly disconnected 19:26:22.130180 Received QUIT (on stdin) 19:26:22.130193 quits 19:26:22.130262 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server REPLY MKD 550 We will have no such thing Testnum 148 === End of file server.cmd === Start of file valgrind148 ==87755== ==87755== Process terminating with default action of signal 4 (SIGILL) ==87755== Illegal opcode at address 0x492B75F ==87755== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87755== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87755== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87755== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87755== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87755== by 0x49908EB: curl_version_info (version.c:600) ==87755== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87755== by 0x4003269: main (tool_main.c:195) === End of file valgrind148 test 0147 [FTP with --ftp-create-dirs (failing CWD)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind147 ../src/curl -q --output log/7/curl147.out --include --trace-ascii log/7/trace147 --trace-time ftp://127.0.0.1:44283/first/dir/here/147 --ftp-create-dirs > log/7/stdout147 2> log/7/stderr147 147: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind147 ../src/curl -q --output log/7/curl147.out --include --trace-ascii log/7/trace147 --trace-time ftp://127.0.0.1:44283/first/dir/here/147 --ftp-create-dirs > log/7/stdout147 2> log/7/stderr147 === End of file commands.log === Start of file ftp_server.log 19:26:22.439924 ====> Client connect 19:26:22.440183 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.440540 < "USER anonymous" 19:26:22.440582 > "331 We are happy you popped in![CR][LF]" 19:26:22.440757 < "PASS ftp@example.com" 19:26:22.440785 > "230 Welcome you silly person[CR][LF]" 19:26:22.440932 < "PWD" 19:26:22.440965 > "257 "/" is current directory[CR][LF]" 19:26:22.441156 < "EPSV" 19:26:22.441188 ====> Passive DATA channel requested by client 19:26:22.441206 DATA sockfilt for passive data channel starting... 19:26:22.443374 DATA sockfilt for passive data channel started (pid 87587) 19:26:22.443503 DATA sockfilt for passive data channel listens on port 37059 19:26:22.443552 > "229 Entering Passive Mode (|||37059|)[CR][LF]" 19:26:22.443575 Client has been notified that upcoming DATA connection is awaited on port 37059 19:26:22.447251 Client connects to port 37059 19:26:22.447283 ====> Client established passive DATA connection on port 37059 19:26:22.447358 < "TYPE I" 19:26:22.447387 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.447549 < "SIZE verifiedserver" 19:26:22.447591 > "213 17[CR][LF]" 19:26:22.447746 < "RETR verifiedserver" 19:26:22.447779 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.447865 =====> Closing passive DATA connection... 19:26:22.447882 Server disconnects passive DATA connection 19:26:22.448127 Server disconnected passive DATA connection 19:26:22.448157 DATA sockfilt for passive data channel quits (pid 87587) 19:26:22.448387 DATA sockfilt for passive data channel quit (pid 87587) 19:26:22.448411 =====> Closed passive DATA connection 19:26:22.448440 > "226 File transfer complete[CR][LF]" 19:26:22.493592 < "QUIT" 19:26:22.493653 > "221 bye bye baby[CR][LF]" 19:26:22.495261 MAIN sockfilt said DISC 19:26:22.495297 ====> Client disconnected 19:26:22.495454 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:23.040310 ====> Client connect 19:26:23.040726 Received DATA (on stdin) 19:26:23.040750 > 146 bytes data, server => client 19:26:23.040763 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:23.040773 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:23.040783 '220 \___|\___/|_| \_\_____|\r\n' 19:26:23.040881 < 16 bytes data, client => server 19:26:23.040898 'USER anonymous\r\n' 19:26:23.041092 Received DATA (on stdin) 19:26:23.041103 > 33 bytes data, server => client 19:26:23.041113 '331 We are happy you popped in!\r\n' 19:26:23.041170 < 22 bytes data, client => server 19:26:23.041181 'PASS ftp@example.com\r\n' 19:26:23.041289 Received DATA (on stdin) 19:26:23.041299 > 30 bytes data, server => client 19:26:23.041309 '230 Welcome you silly person\r\n' 19:26:23.041357 < 5 bytes data, client => server 19:26:23.041367 'PWD\r\n' 19:26:23.041469 Received DATA (on stdin) 19:26:23.041479 > 30 bytes data, server => client 19:26:23.041490 '257 "/" is current directory\r\n' 19:26:23.041560 < 6 bytes data, client => server 19:26:23.041576 'EPSV\r\n' 19:26:23.044091 Received DATA (on stdin) 19:26:23.044105 > 39 bytes data, server => client 19:26:23.044116 '229 Entering Passive Mode (|||37059|)\r\n' 19:26:23.047462 < 8 bytes data, client => server 19:26:23.047474 'TYPE I\r\n' 19:26:23.047892 Received DATA (on stdin) 19:26:23.047904 > 33 bytes data, server => client 19:26:23.047914 '200 I modify TYPE as you wanted\r\n' 19:26:23.047971 < 21 bytes data, client => server 19:26:23.047981 'SIZE verifiedserver\r\n' 19:26:23.048098 Received DATA (on stdin) 19:26:23.048110 > 8 bytes data, server => client 19:26:23.048121 '213 17\r\n' 19:26:23.048170 < 21 bytes data, client => server 19:26:23.048182 'RETR verifiedserver\r\n' 19:26:23.048392 Received DATA (on stdin) 19:26:23.048403 > 29 bytes data, server => client 19:26:23.048414 '150 Binary junk (17 bytes).\r\n' 19:26:23.048948 Received DATA (on stdin) 19:26:23.048960 > 28 bytes data, server => client 19:26:23.048971 '226 File transfer complete\r\n' 19:26:23.092480 < 6 bytes data, client => server 19:26:23.092526 'QUIT\r\n' 19:26:23.094543 Received DATA (on stdin) 19:26:23.094561 > 18 bytes data, server => client 19:26:23.094571 '221 bye bye baby\r\n' 19:26:23.095721 ====> Client disconnect 19:26:23.095871 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.043507 Running IPv4 version 19:26:22.043576 Listening on port 37059 19:26:22.043621 Wrote pid 87587 to log/7/server/ftp_sockdata.pid 19:26:22.043813 Received PING (on stdin) 19:26:22.043912 Received PORT (on stdin) 19:26:22.047702 ====> Client connect 19:26:22.048475 Received DATA (on stdin) 19:26:22.048489 > 17 bytes data, server => client 19:26:22.048500 'WE ROOLZ: 84721\r\n' 19:26:22.048527 Received DISC (on stdin) 19:26:22.048538 ====> Client forcibly disconnected 19:26:22.048671 Received QUIT (on stdin) 19:26:22.048681 quits 19:26:22.048748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-time http://127.0.0.1:44711/152 --fail > log/23/stdout152 2> log/23/stderr152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind146 ../src/curl -q --output log/21/curl146.out --include --trace-ascii log/21/trace146 --trace-time ftp://127.0.0.1:35787/first/dir/here/146 ftp://127.0.0.1:35787/146 > log/21/stdout146 2> log/21/stderr146 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind153 ../src/curl -q --include --trace-ascii log/17/trace153 --trace-time http://127.0.0.1:35993/1530001 -u testuser:testpass --digest http://127.0.0.1:35993/1530002 > log/17/stdout153 2> log/17/stderr153 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 550 I won't allow this on my server COUNT CWD 1 Testnum 147 === End of file server.cmd === Start of file valgrind147 ==87648== ==87648== Process terminating with default action of signal 4 (SIGILL) ==87648== Illegal opcode at address 0x492B75F ==87648== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87648== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87648== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87648== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87648== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87648== by 0x49908EB: curl_version_info (version.c:600) ==87648== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87648== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87648== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87648== by 0x4003269: main (tool_main.c:195) === End of file valgrind147 test 0146 [persistent FTP with different paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind146 ../src/curl -q --output log/21/curl146.out --include --trace-ascii log/21/trace146 --trace-time ftp://127.0.0.1:35787/first/dir/here/146 ftp://127.0.0.1:35787/146 > log/21/stdout146 2> log/21/stderr146 146: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 146 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind146 ../src/curl -q --output log/21/curl146.out --include --trace-ascii log/21/trace146 --trace-time ftp://127.0.0.1:35787/first/dir/here/146 ftp://127.0.0.1:35787/146 > log/21/stdout146 2> log/21/stderr146 === End of file commands.log === Start of file ftp_server.log 19:26:22.357682 ====> Client connect 19:26:22.357886 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:22.358187 < "USER anonymous" 19:26:22.358221 > "331 We are happy you popped in![CR][LF]" 19:26:22.358371 < "PASS ftp@example.com" 19:26:22.358393 > "230 Welcome you silly person[CR][LF]" 19:26:22.358527 < "PWD" 19:26:22.358553 > "257 "/" is current directory[CR][LF]" 19:26:22.358713 < "EPSV" 19:26:22.358739 ====> Passive DATA channel requested by client 19:26:22.358755 DATA sockfilt for passive data channel starting... 19:26:22.368775 DATA sockfilt for passive data channel started (pid 87560) 19:26:22.368949 DATA sockfilt for passive data channel listens on port 45633 19:26:22.369003 > "229 Entering Passive Mode (|||45633|)[CR][LF]" 19:26:22.369018 Client has been notified that upcoming DATA connection is awaited on port 45633 19:26:22.372619 Client connects to port 45633 19:26:22.372790 ====> Client established passive DATA connection on port 45633 19:26:22.373061 < "TYPE I" 19:26:22.373114 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:22.378908 < "SIZE verifiedserver" 19:26:22.378979 > "213 17[CR][LF]" 19:26:22.379149 < "RETR verifiedserver" 19:26:22.379185 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:22.379286 =====> Closing passive DATA connection... 19:26:22.379304 Server disconnects passive DATA connection 19:26:22.379553 Server disconnected passive DATA connection 19:26:22.379579 DATA sockfilt for passive data channel quits (pid 87560) 19:26:22.379858 DATA sockfilt for passive data channel quit (pid 87560) 19:26:22.379881 =====> Closed passive DATA connection 19:26:22.379908 > "226 File transfer complete[CR][LF]" 19:26:22.425662 < "QUIT" 19:26:22.425724 > "221 bye bye baby[CR][LF]" 19:26:22.426918 MAIN sockfilt said DISC 19:26:22.426949 ====> Client disconnected 19:26:22.427031 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:21.958033 ====> Client connect 19:26:21.958380 Received DATA (on stdin) 19:26:21.958393 > 146 bytes data, server => client 19:26:21.958404 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:21.958415 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:21.958424 '220 \___|\___/|_| \_\_____|\r\n' 19:26:21.958534 < 16 bytes data, client => server 19:26:21.958545 'USER anonymous\r\n' 19:26:21.958705 Received DATA (on stdin) 19:26:21.958716 > 33 bytes data, server => client 19:26:21.958725 '331 We are happy you popped in!\r\n' 19:26:21.958776 < 22 bytes data, client => server 19:26:21.958785 'PASS ftp@example.com\r\n' 19:26:21.958874 Received DATA (on stdin) 19:26:21.958884 > 30 bytes data, server => client 19:26:21.958893 '230 Welcome you silly person\r\n' 19:26:21.958938 < 5 bytes data, client => server 19:26:21.958947 'PWD\r\n' 19:26:21.959034 Received DATA (on stdin) 19:26:21.959043 > 30 bytes data, server => client 19:26:21.959053 '257 "/" is current directory\r\n' 19:26:21.959108 < 6 bytes data, client => server 19:26:21.959117 'EPSV\r\n' 19:26:21.972503 Received DATA (on stdin) 19:26:21.972546 > 39 bytes data, server => client 19:26:21.972563 '229 Entering Passive Mode (|||45633|)\r\n' 19:26:21.972804 < 8 bytes data, client => server 19:26:21.972821 'TYPE I\r\n' 19:26:21.975837 Received DATA (on stdin) 19:26:21.975854 > 33 bytes data, server => client 19:26:21.975864 '200 I modify TYPE as you wanted\r\n' 19:26:21.979216 < 21 bytes data, client => server 19:26:21.979236 'SIZE verifiedserver\r\n' 19:26:21.979473 Received DATA (on stdin) 19:26:21.979485 > 8 bytes data, server => client 19:26:21.979495 '213 17\r\n' 19:26:21.979551 < 21 bytes data, client => server 19:26:21.979563 'RETR verifiedserver\r\n' 19:26:21.979794 Received DATA (on stdin) 19:26:21.979805 > 29 bytes data, server => client 19:26:21.979815 '150 Binary junk (17 bytes).\r\n' 19:26:21.980398 Received DATA (on stdin) 19:26:21.980410 > 28 bytes data, server => client 19:26:21.980420 '226 File transfer complete\r\n' 19:26:22.025965 < 6 bytes data, client => server 19:26:22.025996 'QUIT\r\n' 19:26:22.026233 Received DATA (on stdin) 19:26:22.026245 > 18 bytes data, server => client 19:26:22.026256 '221 bye bye baby\r\n' 19:26:22.027367 ====> Client disconnect 19:26:22.027536 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:22.963748 Running IPv4 version 19:26:22.963842 Listening on port 45633 19:26:22.963885 Wrote pid 87560 to log/21/server/ftp_sockdata.pid 19:26:22.969158 Received PING (on stdin) 19:26:22.969326 Received PORT (on stdin) 19:26:22.972933 ====> Client connect 19:26:22.979876 Received DATA (on stdin) 19:26:22.979893 > 17 bytes data, server => client 19:26:22.979903 'WE ROOLZ: 84694\r\n' 19:26:22.979931 Received DISC (on stdin) 19:26:22.979942 ====> Client forcibly disconnected 19:26:22.980075 Received QUIT (on stdin) 19:26:22.980086 quits 19:26:22.980153 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==87608== ==87608== Process terminating with default action of signal 4 (SIGILL) ==87608== Illegal opcode at address 0x492B75F ==87608== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87608== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87608== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87608== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87608== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87608== by 0x49908EB: curl_version_info (version.c:600) ==87608== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87608== by 0x4003269: main (tool_main.c:195) === End of file valgrind146 test 0152 [HTTP GET CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:43739/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/stderr156 with an error code that might trick authentication and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-time http://127.0.0.1:44711/152 --fail > log/23/stdout152 2> log/23/stderr152 152: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind152 ../src/curl -q --output log/23/curl152.out --include --trace-ascii log/23/trace152 --trace-time http://127.0.0.1:44711/152 --fail > log/23/stdout152 2> log/23/stderr152 === End of file commands.log === Start of file http_server.log 19:26:22.335971 ====> Client connect 19:26:22.336006 accept_connection 3 returned 4 19:26:22.336030 Read 93 bytes 19:26:22.336040 Process 93 bytes request 19:26:22.336052 Got request: GET /verifiedserver HTTP/1.1 19:26:22.336060 Are-we-friendly question received 19:26:22.336086 Wrote request (93 bytes) input to log/23/server.input 19:26:22.336102 Identifying ourselves as friends 19:26:22.336203 Response sent (56 bytes) and written to log/23/server.response 19:26:22.336214 special request received, no persistency 19:26:22.336223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 39880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 152 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind152 ==87906== ==87906== Process terminating with default action of signal 4 (SIGILL) ==87906== Illegal opcode at address 0x492B75F ==87906== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87906== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87906== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87906== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87906== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87906== by 0x49908EB: curl_version_info (version.c:600) ==87906== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87906== by 0x4003269: main (tool_main.c:195) === End of file valgrind152 test 0153 [HTTP with Digest authorization with stale=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind153 ../src/curl -q --include --trace-ascii log/17/trace153 --trace-time http://127.0.0.1:35993/1530001 -u testuser:testpass --digest http://127.0.0.1:35993/1530002 > log/17/stdout153 2> log/17/stderr153 153: stdout FAILED: --- log/17/check-expected 2026-10-15 19:26:25.392698014 +0000 +++ log/17/check-generated 2026-10-15 19:26:25.390295148 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/17/ directory after test 153 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind153 ../src/curl -q --include --trace-ascii log/17/trace153 --trace-time http://127.0.0.1:35993/1530001 -u testuser:testpass --digest http://127.0.0.1:35993/1530002 > log/17/stdout153 2> log/17/stderr153 === End of file commands.log === Start of file http_server.log 19:26:23.389912 ====> Client connect 19:26:23.389944 accept_connection 3 returned 4 19:26:23.389967 Read 93 bytes 19:26:23.389977 Process 93 bytes request 19:26:23.389990 Got request: GET /verifiedserver HTTP/1.1 19:26:23.389999 Are-we-friendly question received 19:26:23.390024 Wrote request (93 bytes) input to log/17/server.input 19:26:23.390040 Identifying ourselves as friends 19:26:23.390104 Response sent (56 bytes) and written to log/17/server.response 19:26:23.390113 special request received, no persistency 19:26:23.390121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 153 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind153 ==87992== ==87992== Process terminating with default action of signal 4 (SIGILL) ==87992== Illegal opcode at address 0x492B75F ==87992== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==87992== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==87992== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==87992== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==87992== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==87992== by 0x49908EB: curl_version_info (version.c:600) ==87992== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==87992== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==87992== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==87992== by 0x4003269: main (tool_main.c:195) === End of file valgrind153 test 0156 [HTTP PUT with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:43739/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/stderr156 156: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 156 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind156 ../src/curl -q --output log/18/curl156.out --include --trace-ascii log/18/trace156 --trace-time http://127.0.0.1:43739/156 -T log/18/put156 -u testuser:testpass --anyauth > log/18/stdout156 2> log/18/stderr156 === End of file commands.log === Start of file http_server.log 19:26:23.422657 ====> Client connect 19:26:23.422692 accept_connection 3 returned 4 19:26:23.424999 Read 93 bytes 19:26:23.436681 Process 93 bytes request 19:26:23.436709 Got request: GET /verifiedserver HTTP/1.1 19:26:23.436718 Are-we-friendly question received 19:26:23.436769 Wrote request (93 bytes) input to log/18/server.input 19:26:23.436795 Identifying ourselves as friends 19:26:23.436897 Response sent (56 bytes) and written to log/18/server.response 19:26:23.436907 special request received, no persistency 19:26:23.436915 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file put156 This is data we upload witCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:36161/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind163 ../src/curl -q --output log/11/curl163.out --include --trace-ascii log/11/trace163 --trace-time http://127.0.0.1:40989/we/want/163 -F "name= log/11/stdout163 2> log/11/stderr163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind158 ../src/curl -q --output log/9/curl158.out --include --trace-ascii log/9/trace158 --trace-time http://127.0.0.1:43733/158 -F name=daniel -C 0 > log/9/stdout158 2> log/9/stderr158 h PUT a second line line three four is the number of lines === End of file put156 === Start of file server.cmd Testnum 156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind156 ==88000== ==88000== Process terminating with default action of signal 4 (SIGILL) ==88000== Illegal opcode at address 0x492B75F ==88000== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88000== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88000== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88000== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88000== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88000== by 0x49908EB: curl_version_info (version.c:600) ==88000== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88000== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88000== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88000== by 0x4003269: main (tool_main.c:195) === End of file valgrind156 test 0157 [HTTP GET with --anyauth (when the server requires none)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:36161/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 157: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind157 ../src/curl -q --output log/3/curl157.out --include --trace-ascii log/3/trace157 --trace-time http://127.0.0.1:36161/157 -u testuser:testpass --anyauth > log/3/stdout157 2> log/3/stderr157 === End of file commands.log === Start of file http_server.log 19:26:23.506714 ====> Client connect 19:26:23.506764 accept_connection 3 returned 4 19:26:23.506794 Read 93 bytes 19:26:23.506805 Process 93 bytes request 19:26:23.506819 Got request: GET /verifiedserver HTTP/1.1 19:26:23.506828 Are-we-friendly question received 19:26:23.506862 Wrote request (93 bytes) input to log/3/server.input 19:26:23.506887 Identifying ourselves as friends 19:26:23.506984 Response sent (56 bytes) and written to log/3/server.response 19:26:23.506997 special request received, no persistency 19:26:23.507006 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind157 ==88132== ==88132== Process terminating with default action of signal 4 (SIGILL) ==88132== Illegal opcode at address 0x492B75F ==88132== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88132== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88132== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88132== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88132== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88132== by 0x49908EB: curl_version_info (version.c:600) ==88132== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88132== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88132== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88132== by 0x4003269: main (tool_main.c:195) === End of file valgrind157 test 0163 [HTTP multipart formpost with contents from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind163 ../src/curl -q --output log/11/curl163.out --include --trace-ascii log/11/trace163 --trace-time http://127.0.0.1:40989/we/want/163 -F "name= log/11/stdout163 2> log/11/stderr163 163: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind163 ../src/curl -q --output log/11/curl163.out --include --trace-ascii log/11/trace163 --trace-time http://127.0.0.1:40989/we/want/163 -F "name= log/11/stdout163 2> log/11/stderr163 === End of file commands.log === Start of file field163 contents from a file newlinens? yes please [tab][CR] too === End of file field163 === Start of file http_server.log 19:26:22.994521 ====> Client connect 19:26:22.994559 accept_connection 3 returned 4 19:26:22.994582 Read 93 bytes 19:26:22.994593 Process 93 bytes request 19:26:22.994605 Got request: GET /verifiedserver HTTP/1.1 19:26:22.994614 Are-we-friendly question received 19:26:22.994648 Wrote request (93 bytes) input to log/11/server.input 19:26:22.994666 Identifying ourselves as friends 19:26:22.994749 Response sent (56 bytes) and written to log/11/server.response 19:26:22.994762 special request received, no persistency 19:26:22.994770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 47892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 163 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind163 ==88417== ==88417== Process terminating with default action of signal 4 (SIGILL) ==88417== Illegal opcode at address 0x492B75F ==88417== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88417== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88417== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88417== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88417== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88417== by 0x49908EB: curl_version_info (version.c:600) ==88417== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88417== by 0x4003269: main (tool_main.c:195) === End of file valgrind163 test 0158 [HTTP multipart formpost with zero resume offset and only a 100 reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind158 ../src/curl -q --output log/9/curl158.out --include --trace-ascii log/9/trace158 --trace-time http://127.0.0.1:43733/158 -F name=daniel -C 0 > log/9/stdout158 2> log/9/stderr1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind160 ../src/curl -q --include --trace-ascii log/15/trace160 --trace-time http://127.0.0.1:40321/want/160 http://127.0.0.1:40321/wantmore/1600001 > log/15/stdout160 2> log/15/stderr160 58 158: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind158 ../src/curl -q --output log/9/curl158.out --include --trace-ascii log/9/trace158 --trace-time http://127.0.0.1:43733/158 -F name=daniel -C 0 > log/9/stdout158 2> log/9/stderr158 === End of file commands.log === Start of file http_server.log 19:26:22.575639 ====> Client connect 19:26:22.575681 accept_connection 3 returned 4 19:26:22.575706 Read 93 bytes 19:26:22.575718 Process 93 bytes request 19:26:22.575732 Got request: GET /verifiedserver HTTP/1.1 19:26:22.575741 Are-we-friendly question received 19:26:22.575772 Wrote request (93 bytes) input to log/9/server.input 19:26:22.575797 Identifying ourselves as friends 19:26:22.575872 Response sent (56 bytes) and written to log/9/server.response 19:26:22.575885 special request received, no persistency 19:26:22.575894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 38654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind158 ==88227== ==88227== Process terminating with default action of signal 4 (SIGILL) ==88227== Illegal opcode at address 0x492B75F ==88227== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88227== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88227== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88227== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88227== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88227== by 0x49908EB: curl_version_info (version.c:600) ==88227== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88227== by 0x4003269: main (tool_main.c:195) === End of file valgrind158 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind164 ../src/curl -q --output log/13/curl164.out --include --trace-ascii log/13/trace164 --trace-time http://127.0.0.1:38821/want/164 -r 0-10,12-15 > log/13/stdout164 2> log/13/stderr164 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind161 ../src/curl -q --output log/20/curl161.out --include --trace-ascii log/20/trace161 --trace-time ftp://127.0.0.1:41549/161 > log/20/stdout161 2> log/20/stderr161 test 0160 [HTTP with delayed close, conn reuse, connection reset and retry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind160 ../src/curl -q --include --trace-ascii log/15/trace160 --trace-time http://127.0.0.1:40321/want/160 http://127.0.0.1:40321/wantmore/1600001 > log/15/stdout160 2> log/15/stderr160 160: stdout FAILED: --- log/15/check-expected 2026-10-15 19:26:25.893814389 +0000 +++ log/15/check-generated 2026-10-15 19:26:25.890171945 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/15/ directory after test 160 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] [CR][LF] surprise[LF] HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind160 ../src/curl -q --include --trace-ascii log/15/trace160 --trace-time http://127.0.0.1:40321/want/160 http://127.0.0.1:40321/wantmore/1600001 > log/15/stdout160 2> log/15/stderr160 === End of file commands.log === Start of file http_server.log 19:26:23.924655 ====> Client connect 19:26:23.924695 accept_connection 3 returned 4 19:26:23.924718 Read 93 bytes 19:26:23.924728 Process 93 bytes request 19:26:23.924740 Got request: GET /verifiedserver HTTP/1.1 19:26:23.924749 Are-we-friendly question received 19:26:23.924776 Wrote request (93 bytes) input to log/15/server.input 19:26:23.924792 Identifying ourselves as friends 19:26:23.925858 Response sent (56 bytes) and written to log/15/server.response 19:26:23.925875 special request received, no persistency 19:26:23.925884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 49914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind160 ==88387== ==88387== Process terminating with default action of signal 4 (SIGILL) ==88387== Illegal opcode at address 0x492B75F ==88387== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88387== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88387== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88387== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88387== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88387== by 0x49908EB: curl_version_info (version.c:600) ==88387== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88387== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88387== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88387== by 0x4003269: main (tool_main.c:195) === End of file valgrind160 test 0164 [HTTP range with multiple ranges] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind164 ../src/curl -q --output log/13/curl164.out --include --trace-ascii log/13/trace164 --trace-time http://127.0.0.1:38821/want/164 -r 0-10,12-15 > log/13/stdout164 2> log/13/stderr164 164: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 164 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind164 ../src/curl -q --output log/13/curl164.out --include --trace-ascii log/13/trace164 --trace-time http://127.0.0.1:38821/want/164 -r 0-10,12-15 > log/13/stdout164 2> log/13/stderr164 === End of file commands.log === Start of file http_server.log 19:26:23.322584 ====> Client connect 19:26:23.322619 accept_connection 3 returned 4 19:26:23.322775 Read 93 bytes 19:26:23.322791 Process 93 bytes request 19:26:23.322805 Got request: GET /verifiedserver HTTP/1.1 19:26:23.322829 Are-we-friendly question received 19:26:23.322862 Wrote request (93 bytes) input to log/13/server.input 19:26:23.322880 Identifying ourselves as friends 19:26:23.322943 Response sent (56 bytes) and written to log/13/server.response 19:26:23.322952 special request received, no persistency 19:26:23.322961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 47576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind164 ==88569== ==88569== Process terminating with default action of signal 4 (SIGILL) ==88569== Illegal opcode at address 0x492B75F ==88569== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88569== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88569== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88569== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88569== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88569== by 0x49908EB: curl_version_info (version.c:600) ==88569== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88569== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88569== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88569== by 0x4003269: main (tool_main.c:195) === End of file valgrind164 test 0161 [FTP RETR partial file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind161 ../src/curl -q --output log/20/curl161.out --include --trace-ascii log/20/trace161 --trace-time ftp://127.0.0.1:41549/161 > log/20/stdout161 2> log/20/stderr161 161: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind161 ../src/curl -q --output log/20/curl161.out --include --trace-ascii log/20/trace161 --trace-time ftp://127.0.0.1:41549/161 > log/20/stdout161 2> log/20/stderr161 === End of file commands.log === Start of file ftp_server.log 19:26:23.330805 ====> Client connect 19:26:23.331020 > "220- _ _ ____ _[CR][LF]220- ___| CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind167 ../src/curl -q --output log/8/curl167.out --include --trace-ascii log/8/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:44467 --proxy-user foo:bar --digest --user digest:a-lot > log/8/stdout167 2> log/8/stderr167 | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:23.334339 < "USER anonymous" 19:26:23.334389 > "331 We are happy you popped in![CR][LF]" 19:26:23.336177 < "PASS ftp@example.com" 19:26:23.336220 > "230 Welcome you silly person[CR][LF]" 19:26:23.336413 < "PWD" 19:26:23.336455 > "257 "/" is current directory[CR][LF]" 19:26:23.336648 < "EPSV" 19:26:23.336676 ====> Passive DATA channel requested by client 19:26:23.336695 DATA sockfilt for passive data channel starting... 19:26:23.345413 DATA sockfilt for passive data channel started (pid 88379) 19:26:23.345553 DATA sockfilt for passive data channel listens on port 46093 19:26:23.345606 > "229 Entering Passive Mode (|||46093|)[CR][LF]" 19:26:23.345629 Client has been notified that upcoming DATA connection is awaited on port 46093 19:26:23.351488 Client connects to port 46093 19:26:23.351531 ====> Client established passive DATA connection on port 46093 19:26:23.351641 < "TYPE I" 19:26:23.351682 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:23.351889 < "SIZE verifiedserver" 19:26:23.351937 > "213 17[CR][LF]" 19:26:23.352145 < "RETR verifiedserver" 19:26:23.352186 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:23.352293 =====> Closing passive DATA connection... 19:26:23.352318 Server disconnects passive DATA connection 19:26:23.352602 Server disconnected passive DATA connection 19:26:23.352634 DATA sockfilt for passive data channel quits (pid 88379) 19:26:23.352887 DATA sockfilt for passive data channel quit (pid 88379) 19:26:23.352918 =====> Closed passive DATA connection 19:26:23.352950 > "226 File transfer complete[CR][LF]" 19:26:23.399012 < "QUIT" 19:26:23.399072 > "221 bye bye baby[CR][LF]" 19:26:23.400388 MAIN sockfilt said DISC 19:26:23.400431 ====> Client disconnected 19:26:23.400508 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:22.931429 ====> Client connect 19:26:22.931768 Received DATA (on stdin) 19:26:22.931786 > 146 bytes data, server => client 19:26:22.931797 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:22.931807 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:22.931816 '220 \___|\___/|_| \_\_____|\r\n' 19:26:22.934886 < 16 bytes data, client => server 19:26:22.934907 'USER anonymous\r\n' 19:26:22.935129 Received DATA (on stdin) 19:26:22.935143 > 33 bytes data, server => client 19:26:22.935154 '331 We are happy you popped in!\r\n' 19:26:22.936772 < 22 bytes data, client => server 19:26:22.936790 'PASS ftp@example.com\r\n' 19:26:22.936956 Received DATA (on stdin) 19:26:22.936970 > 30 bytes data, server => client 19:26:22.936980 '230 Welcome you silly person\r\n' 19:26:22.937041 < 5 bytes data, client => server 19:26:22.937055 'PWD\r\n' 19:26:22.937188 Received DATA (on stdin) 19:26:22.937201 > 30 bytes data, server => client 19:26:22.937211 '257 "/" is current directory\r\n' 19:26:22.937281 < 6 bytes data, client => server 19:26:22.937295 'EPSV\r\n' 19:26:22.949400 Received DATA (on stdin) 19:26:22.949425 > 39 bytes data, server => client 19:26:22.949437 '229 Entering Passive Mode (|||46093|)\r\n' 19:26:22.952122 < 8 bytes data, client => server 19:26:22.952142 'TYPE I\r\n' 19:26:22.952419 Received DATA (on stdin) 19:26:22.952433 > 33 bytes data, server => client 19:26:22.952444 '200 I modify TYPE as you wanted\r\n' 19:26:22.952510 < 21 bytes data, client => server 19:26:22.952526 'SIZE verifiedserver\r\n' 19:26:22.952680 Received DATA (on stdin) 19:26:22.952693 > 8 bytes data, server => client 19:26:22.952703 '213 17\r\n' 19:26:22.952777 < 21 bytes data, client => server 19:26:22.952792 'RETR verifiedserver\r\n' 19:26:22.953058 Received DATA (on stdin) 19:26:22.953071 > 29 bytes data, server => client 19:26:22.953082 '150 Binary junk (17 bytes).\r\n' 19:26:22.953689 Received DATA (on stdin) 19:26:22.953702 > 28 bytes data, server => client 19:26:22.953713 '226 File transfer complete\r\n' 19:26:22.999545 < 6 bytes data, client => server 19:26:22.999580 'QUIT\r\n' 19:26:22.999824 Received DATA (on stdin) 19:26:22.999838 > 18 bytes data, server => client 19:26:22.999848 '221 bye bye baby\r\n' 19:26:23.001073 ====> Client disconnect 19:26:23.001253 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:23.940557 Running IPv4 version 19:26:23.940638 Listening on port 46093 19:26:23.940684 Wrote pid 88379 to log/20/server/ftp_sockdata.pid 19:26:23.946068 Received PING (on stdin) 19:26:23.946182 Received PORT (on stdin) 19:26:23.952166 ====> Client connect 19:26:23.953148 Received DATA (on stdin) 19:26:23.953166 > 17 bytes data, server => client 19:26:23.953177 'WE ROOLZ: 84833\r\n' 19:26:23.953209 Received DISC (on stdin) 19:26:23.953223 ====> Client forcibly disconnected 19:26:23.953381 Received QUIT (on stdin) 19:26:23.953394 quits 19:26:23.953466 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==88412== ==88412== Process terminating with default action of signal 4 (SIGILL) ==88412== Illegal opcode at address 0x492B75F ==88412== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88412== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88412== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88412== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88412== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88412== by 0x49908EB: curl_version_info (version.c:600) ==88412== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88412== by 0x4003269: main (tool_main.c:195) === End of file valgrind161 test 0167 [HTTP with proxy-requiring-Basic to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind167 ../src/curl -q --output log/8/curl167.out --include --trace-ascii log/8/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:44467 --proxy-user foo:bar --digest --user digest:a-lot > log/8/stdout167 2> log/8/stderr167 167: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 167 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind167 ../src/curl -q --output log/8/curl167.out --include --trace-ascii log/8/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:44467 --proxy-user foo:bar --digest --user digest:a-lot > log/8/stdout167 2> log/8/stderr167 === End of file commands.log === Start of file http_server.log 19:26:23.813129 ====> Client connect 19:26:23.813290 accept_connection 3 returned 4 19:26:23.813319 Read 93 bytes 19:26:23.813329 Process 93 bytes request 19:26:23.813342 Got request: GET /verifiedserver HTTP/1.1 19:26:23.813351 Are-we-friendly question received 19:26:23.813384 Wrote request (93 bytes) input to log/8/server.input 19:26:23.813402 Identifying ourselves as friends 19:26:23.813481 Response sent (56 bytes) and written to log/8/server.response 19:26:23.813492 special request received, no persistency 19:26:23.813501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 56598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] *CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:38895 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind166 ../src/curl -q --output log/1/curl166.out --include --trace-ascii log/1/trace166 --trace-time http://127.0.0.1:38815/we/want/166 -F "name=@log/1/fie ld 166" > log/1/stdout166 2> log/1/stderr166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind171 ../src/curl -q --output log/2/curl171.out --include --trace-ascii log/2/trace171 --trace-time -c log/2/jar171 -x 127.0.0.1:34531 http://z.x.com/171 > log/2/stdout171 2> log/2/stderr171 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind172 ../src/curl -q --output log/19/curl172.out --include --trace-ascii log/19/trace172 --trace-time http://127.0.0.1:46497/we/want/172 -b log/19/jar172.txt -b "tool=curl; name=fool" > log/19/stdout172 2> log/19/stderr172 Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 167 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind167 ==88724== ==88724== Process terminating with default action of signal 4 (SIGILL) ==88724== Illegal opcode at address 0x492B75F ==88724== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88724== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88724== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88724== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88724== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88724== by 0x49908EB: curl_version_info (version.c:600) ==88724== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88724== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88724== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88724== by 0x4003269: main (tool_main.c:195) === End of file valgrind167 test 0168 [HTTP with proxy-requiring-Digest to site-requiring-Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:38895 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 168: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:38895 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 === End of file commands.log === Start of file http_server.log 19:26:23.949707 ====> Client connect 19:26:23.949747 accept_connection 3 returned 4 19:26:23.949772 Read 93 bytes 19:26:23.949782 Process 93 bytes request 19:26:23.949824 Got request: GET /verifiedserver HTTP/1.1 19:26:23.949835 Are-we-friendly question received 19:26:23.949897 Wrote request (93 bytes) input to log/24/server.input 19:26:23.949925 Identifying ourselves as friends 19:26:23.950155 Response sent (56 bytes) and written to log/24/server.response 19:26:23.950169 special request received, no persistency 19:26:23.950228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind168 ==88835== ==88835== Process terminating with default action of signal 4 (SIGILL) ==88835== Illegal opcode at address 0x492B75F ==88835== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88835== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88835== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88835== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88835== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88835== by 0x49908EB: curl_version_info (version.c:600) ==88835== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88835== by 0x4003269: main (tool_main.c:195) === End of file valgrind168 test 0166 [HTTP formpost a file with spaces in name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind166 ../src/curl -q --output log/1/curl166.out --include --trace-ascii log/1/trace166 --trace-time http://127.0.0.1:38815/we/want/166 -F "name=@log/1/fie ld 166" > log/1/stdout166 2> log/1/stderr166 166: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind166 ../src/curl -q --output log/1/curl166.out --include --trace-ascii log/1/trace166 --trace-time http://127.0.0.1:38815/we/want/166 -F "name=@log/1/fie ld 166" > log/1/stdout166 2> log/1/stderr166 === End of file commands.log === Start of file fie ld 166 data inside the file === End of file fie ld 166 === Start of file http_server.log 19:26:24.786937 ====> Client connect 19:26:24.787088 accept_connection 3 returned 4 19:26:24.787121 Read 93 bytes 19:26:24.787133 Process 93 bytes request 19:26:24.787148 Got request: GET /verifiedserver HTTP/1.1 19:26:24.787166 Are-we-friendly question received 19:26:24.787235 Wrote request (93 bytes) input to log/1/server.input 19:26:24.787255 Identifying ourselves as friends 19:26:24.787387 Response sent (56 bytes) and written to log/1/server.response 19:26:24.787401 special request received, no persistency 19:26:24.787411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 34918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind166 ==88703== ==88703== Process terminating with default action of signal 4 (SIGILL) ==88703== Illegal opcode at address 0x492B75F ==88703== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88703== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88703== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88703== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88703== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88703== by 0x49908EB: curl_version_info (version.c:600) ==88703== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88703== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88703== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88703== by 0x4003269: main (tool_main.c:195) === End of file valgrind166 test 0171 [HTTP, get cookie with dot prefixed full domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind171 ../src/cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind165 ../src/curl -q --output log/14/curl165.out --include --trace-ascii log/14/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:45467 http://www.große.de/page/165 > log/14/stdout165 2> log/14/stderr165 rl -q --output log/2/curl171.out --include --trace-ascii log/2/trace171 --trace-time -c log/2/jar171 -x 127.0.0.1:34531 http://z.x.com/171 > log/2/stdout171 2> log/2/stderr171 171: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind171 ../src/curl -q --output log/2/curl171.out --include --trace-ascii log/2/trace171 --trace-time -c log/2/jar171 -x 127.0.0.1:34531 http://z.x.com/171 > log/2/stdout171 2> log/2/stderr171 === End of file commands.log === Start of file http_server.log 19:26:25.039780 ====> Client connect 19:26:25.039813 accept_connection 3 returned 4 19:26:25.040782 Read 93 bytes 19:26:25.040796 Process 93 bytes request 19:26:25.040808 Got request: GET /verifiedserver HTTP/1.1 19:26:25.040816 Are-we-friendly question received 19:26:25.040844 Wrote request (93 bytes) input to log/2/server.input 19:26:25.040859 Identifying ourselves as friends 19:26:25.040918 Response sent (56 bytes) and written to log/2/server.response 19:26:25.040927 special request received, no persistency 19:26:25.040934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 34208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind171 ==88901== ==88901== Process terminating with default action of signal 4 (SIGILL) ==88901== Illegal opcode at address 0x492B75F ==88901== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88901== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88901== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88901== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88901== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88901== by 0x49908EB: curl_version_info (version.c:600) ==88901== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88901== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88901== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88901== by 0x4003269: main (tool_main.c:195) === End of file valgrind171 test 0172 [HTTP with cookies file and custom added cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind172 ../src/curl -q --output log/19/curl172.out --include --trace-ascii log/19/trace172 --trace-time http://127.0.0.1:46497/we/want/172 -b log/19/jar172.txt -b "tool=curl; name=fool" > log/19/stdout172 2> log/19/stderr172 172: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind172 ../src/curl -q --output log/19/curl172.out --include --trace-ascii log/19/trace172 --trace-time http://127.0.0.1:46497/we/want/172 -b log/19/jar172.txt -b "tool=curl; name=fool" > log/19/stdout172 2> log/19/stderr172 === End of file commands.log === Start of file http_server.log 19:26:24.043046 ====> Client connect 19:26:24.043084 accept_connection 3 returned 4 19:26:24.049970 Read 93 bytes 19:26:24.049994 Process 93 bytes request 19:26:24.050006 Got request: GET /verifiedserver HTTP/1.1 19:26:24.050015 Are-we-friendly question received 19:26:24.050063 Wrote request (93 bytes) input to log/19/server.input 19:26:24.050084 Identifying ourselves as friends 19:26:24.050160 Response sent (56 bytes) and written to log/19/server.response 19:26:24.050170 special request received, no persistency 19:26:24.050179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 33956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file jar172.txt # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .127.0.0.1 TRUE /silly/ FALSE 0 ismatch this .127.0.0.1 TRUE / FALSE 0 partmatch present 127.0.0.1 FALSE /we/want/ FALSE 22139150993 nodomain value === End of file jar172.txt === Start of file server.cmd Testnum 172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind172 ==88917== ==88917== Process terminating with default action of signal 4 (SIGILL) ==88917== Illegal opcode at address 0x492B75F ==88917== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88917== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88917== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88917== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88917== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88917== by 0x49908EB: curl_version_info (version.c:600) ==88917== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88917== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88917== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88917== by 0x4003269: main (tool_main.c:195) === End of file valgrind172 setenv LC_ALL = C.UTF-8 test 0165 [HTTP over proxy with IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind165 ../src/curl -q --output log/14/curl165.out --include --trace-ascii log/14/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:45467 http://www.große.de/page/165 > log/14/stdout165 2> log/14/stderr165 165: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 165 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind165 ../src/curl -q --output log/14/curl165.out --include --trace-ascii log/14/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:45467 http://www.große.de/page/165 > log/14/stdout165 2> log/14/stderr165 === End of file commands.log === Start of file http_server.log 19:26:23.733697 ====> Client connect 19:26:23.733731 accept_connection 3 returned 4 19:26:23.733753 Read 93 bytes 19:26:23.733762 Process 93 bytes request 19:26:23.733775 Got request: GET /verifiedserver HTTP/1.1 19:26:23.733784 Are-we-friendly question received 19:26:23.733810 Wrote request (93 bytes) input to log/14/server.input 19:26:23.733830 Identifying ourselves as friends 19:26:23.733931 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind177 ../src/curl -q --output log/4/curl177.out --include --trace-ascii log/4/trace177 --trace-time http://127.0.0.1:35735/177 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout177 2> log/4/stderr177 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:37089/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind175 ../src/curl -q --output log/22/curl175.out --include --trace-ascii log/22/trace175 --trace-time http://127.0.0.1:35989/175 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout175 2> log/22/stderr175 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind174 ../src/curl -q --output log/16/curl174.out --include --trace-ascii log/16/trace174 --trace-time http://127.0.0.1:35903/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/16/stdout174 2> log/16/stderr174 sponse sent (56 bytes) and written to log/14/server.response 19:26:23.733941 special request received, no persistency 19:26:23.733949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 49670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 165 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind165 ==88687== ==88687== Process terminating with default action of signal 4 (SIGILL) ==88687== Illegal opcode at address 0x492B75F ==88687== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==88687== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==88687== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==88687== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==88687== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==88687== by 0x49908EB: curl_version_info (version.c:600) ==88687== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==88687== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==88687== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==88687== by 0x4003269: main (tool_main.c:195) === End of file valgrind165 test 0177 [HTTP POST --digest to server doing a 302-location response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind177 ../src/curl -q --output log/4/curl177.out --include --trace-ascii log/4/trace177 --trace-time http://127.0.0.1:35735/177 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout177 2> log/4/stderr177 177: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind177 ../src/curl -q --output log/4/curl177.out --include --trace-ascii log/4/trace177 --trace-time http://127.0.0.1:35735/177 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout177 2> log/4/stderr177 === End of file commands.log === Start of file http_server.log 19:26:25.453178 ====> Client connect 19:26:25.453225 accept_connection 3 returned 4 19:26:25.453253 Read 93 bytes 19:26:25.453263 Process 93 bytes request 19:26:25.453276 Got request: GET /verifiedserver HTTP/1.1 19:26:25.453285 Are-we-friendly question received 19:26:25.453314 Wrote request (93 bytes) input to log/4/server.input 19:26:25.453330 Identifying ourselves as friends 19:26:25.453424 Response sent (56 bytes) and written to log/4/server.response 19:26:25.453436 special request received, no persistency 19:26:25.453445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 54888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 177 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind177 ==89181== ==89181== Process terminating with default action of signal 4 (SIGILL) ==89181== Illegal opcode at address 0x492B75F ==89181== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89181== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89181== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89181== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89181== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89181== by 0x49908EB: curl_version_info (version.c:600) ==89181== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89181== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89181== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89181== by 0x4003269: main (tool_main.c:195) === End of file valgrind177 test 0173 [HTTP RFC1867-formpost a file from stdin with "faked" filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:37089/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 173: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 173 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:37089/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 === End of file commands.log === Start of file http_server.log 19:26:24.193109 ====> Client connect 19:26:24.193152 accept_connection 3 returned 4 19:26:24.193178 Read 93 bytes 19:26:24.193187 Process 93 bytes request 19:26:24.193200 Got request: GET /verifiedserver HTTP/1.1 19:26:24.193209 Are-we-friendly question received 19:26:24.193236 Wrote request (93 bytes) input to log/5/server.input 19:26:24.193252 Identifying ourselves as friends 19:26:24.193331 Response sent (56 bytes) and written to log/5/server.response 19:26:24.193342 special request received, no persistency 19:26:24.193350 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 55902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 173 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file stdin-for-173 line1 line2 line3 line4 line5 line6 line7 line8 === End of file stdin-for-173 === Start of file valgrind173 ==89044== ==89044== Process terminating with default action of signal 4 (SIGILL) ==89044== Illegal opcode at address 0x492B75F ==89044== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89044== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89044== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89044== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89044== by 0x49908EB: UnknownInliCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind180 ../src/curl -q --output log/10/curl180.out --include --trace-ascii log/10/trace180 --trace-time http://127.0.0.1:40913/we/want/180 -T log/10/test180.txt --http1.0 > log/10/stdout180 2> log/10/stderr180 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind188 ../src/curl -q --output log/9/curl188.out --include --trace-ascii log/9/trace188 --trace-time http://127.0.0.1:43733/188 -C 50 -L > log/9/stdout188 2> log/9/stderr188 nedFun (vtls.c:292) ==89044== by 0x49908EB: curl_version_info (version.c:600) ==89044== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89044== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89044== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89044== by 0x4003269: main (tool_main.c:195) === End of file valgrind173 test 0175 [HTTP POST --digest to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind175 ../src/curl -q --output log/22/curl175.out --include --trace-ascii log/22/trace175 --trace-time http://127.0.0.1:35989/175 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout175 2> log/22/stderr175 175: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 175 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind175 ../src/curl -q --output log/22/curl175.out --include --trace-ascii log/22/trace175 --trace-time http://127.0.0.1:35989/175 -u auser:apasswd --digest -d "junkelijunk" > log/22/stdout175 2> log/22/stderr175 === End of file commands.log === Start of file http_server.log 19:26:24.429834 ====> Client connect 19:26:24.429871 accept_connection 3 returned 4 19:26:24.429895 Read 93 bytes 19:26:24.429905 Process 93 bytes request 19:26:24.429918 Got request: GET /verifiedserver HTTP/1.1 19:26:24.429927 Are-we-friendly question received 19:26:24.429958 Wrote request (93 bytes) input to log/22/server.input 19:26:24.429975 Identifying ourselves as friends 19:26:24.430043 Response sent (56 bytes) and written to log/22/server.response 19:26:24.430055 special request received, no persistency 19:26:24.430064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 41644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 175 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind175 ==89166== ==89166== Process terminating with default action of signal 4 (SIGILL) ==89166== Illegal opcode at address 0x492B75F ==89166== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89166== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89166== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89166== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89166== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89166== by 0x49908EB: curl_version_info (version.c:600) ==89166== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89166== by 0x4003269: main (tool_main.c:195) === End of file valgrind175 test 0174 [HTTP POST --anyauth to server not requiring any auth at all] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind174 ../src/curl -q --output log/16/curl174.out --include --trace-ascii log/16/trace174 --trace-time http://127.0.0.1:35903/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/16/stdout174 2> log/16/stderr174 174: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind174 ../src/curl -q --output log/16/curl174.out --include --trace-ascii log/16/trace174 --trace-time http://127.0.0.1:35903/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/16/stdout174 2> log/16/stderr174 === End of file commands.log === Start of file http_server.log 19:26:25.469837 ====> Client connect 19:26:25.469875 accept_connection 3 returned 4 19:26:25.469898 Read 93 bytes 19:26:25.469908 Process 93 bytes request 19:26:25.469922 Got request: GET /verifiedserver HTTP/1.1 19:26:25.469930 Are-we-friendly question received 19:26:25.469958 Wrote request (93 bytes) input to log/16/server.input 19:26:25.469975 Identifying ourselves as friends 19:26:25.470065 Response sent (56 bytes) and written to log/16/server.response 19:26:25.470076 special request received, no persistency 19:26:25.470084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind174 ==89194== ==89194== Process terminating with default action of signal 4 (SIGILL) ==89194== Illegal opcode at address 0x492B75F ==89194== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89194== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89194== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89194== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89194== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89194== by 0x49908EB: curl_version_info (version.c:600) ==89194== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89194== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89194== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89194== by 0x4003269: main (tool_main.c:195) === End of file valgrind174 test 0188 [HTTP GET with resume and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind188 ../src/curl -q --output log/9/curl188.out --include --trace-ascii log/9/trace188 --trace-time http://127.0.0.1:43733/188 -C 50 -L > log/9/stdout188 2> log/9/stderr188 188: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 188 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind188 ../src/curl -q --output log/9/curl188.out --include --trace-ascii log/9/trace188 --trace-time http://127.0.0.1:43733/188 -C 50 -L > log/9/stdout188 2> log/9/stderr188 === End of file commands.log === Start of file http_server.log 19:26:25.150001 ====> Client connect 19:26:25.150124 accept_connection 3 returned 4 19:26:25.150297 Read 93 bytes 19:26:25.150310 Process 93 bytes request 19:26:25.150323 Got request: GET /verifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:39881/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 iedserver HTTP/1.1 19:26:25.150331 Are-we-friendly question received 19:26:25.150360 Wrote request (93 bytes) input to log/9/server.input 19:26:25.150376 Identifying ourselves as friends 19:26:25.150431 Response sent (56 bytes) and written to log/9/server.response 19:26:25.150440 special request received, no persistency 19:26:25.150447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 38670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind188 ==89745== ==89745== Process terminating with default action of signal 4 (SIGILL) ==89745== Illegal opcode at address 0x492B75F ==89745== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89745== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89745== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89745== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89745== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89745== by 0x49908EB: curl_version_info (version.c:600) ==89745== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89745== by 0x4003269: main (tool_main.c:195) === End of file valgrind188 test 0180 [HTTP 1.0 PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind180 ../src/curl -q --output log/10/curl180.out --include --trace-ascii log/10/trace180 --trace-time http://127.0.0.1:40913/we/want/180 -T log/10/test180.txt --http1.0 > log/10/stdout180 2> log/10/stderr180 180: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind180 ../src/curl -q --output log/10/curl180.out --include --trace-ascii log/10/trace180 --trace-time http://127.0.0.1:40913/we/want/180 -T log/10/test180.txt --http1.0 > log/10/stdout180 2> log/10/stderr180 === End of file commands.log === Start of file http_server.log 19:26:25.020938 ====> Client connect 19:26:25.020969 accept_connection 3 returned 4 19:26:25.020989 Read 93 bytes 19:26:25.020998 Process 93 bytes request 19:26:25.021011 Got request: GET /verifiedserver HTTP/1.1 19:26:25.021018 Are-we-friendly question received 19:26:25.021051 Wrote request (93 bytes) input to log/10/server.input 19:26:25.021068 Identifying ourselves as friends 19:26:25.021135 Response sent (56 bytes) and written to log/10/server.response 19:26:25.021146 special request received, no persistency 19:26:25.021155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file test180.txt Weird file to upload for testing the PUT feature === End of file test180.txt === Start of file valgrind180 ==89459== ==89459== Process terminating with default action of signal 4 (SIGILL) ==89459== Illegal opcode at address 0x492B75F ==89459== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89459== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89459== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89459== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89459== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89459== by 0x49908EB: curl_version_info (version.c:600) ==89459== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89459== by 0x4003269: main (tool_main.c:195) === End of file valgrind180 test 0186 [HTTP RFC1867-type formposting with types on text fields] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:39881/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 186: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind186 ../src/curl -q --output log/21/curl186.out --include --trace-ascii log/21/trace186 --trace-time http://127.0.0.1:39881/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/21/stdout186 2> log/21/stderr186 === End of file commands.log === Start of file http_server.log 19:26:25.126668 ====> Client connect 19:26:25.126707 accept_connection 3 returned 4 19:26:25.126733 Read 93 bytes 19:26:25.126743 Process 93 bytes request 19:26:25.126755 Got request: GET /verifiedserver HTTP/1.1 19:26:25.126764 Are-we-friendly question received 19:26:25.126791 Wrote request (93 bytes) input to log/21/server.input 19:26:25.126806 Identifying ourselves as friends 19:26:25.126885 Response sent (56 bytes) and written to log/21/server.response 19:26:25.126894 special request received, no persistency 19:26:25.126902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 45444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind186 ==89714== ==89714== Process terminating with default action of signal 4 (SIGILL) ==89714== Illegal opcode at address 0x492B75F ==89714== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89714== by 0x492C53A: curl_mvsnprintf (mprinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:35993 > log/17/stdout183 2> log/17/stderr183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind179 ../src/curl -q --output log/6/curl179.out --include --trace-ascii log/6/trace179 --trace-time http://supertrooper.fake/c/179 -b log/6/injar179 -x 127.0.0.1:33935 > log/6/stdout179 2> log/6/stderr179 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind178 ../src/curl -q --output log/12/curl178.out --include --trace-ascii log/12/trace178 --trace-time http://127.0.0.1:40921/178 > log/12/stdout178 2> log/12/stderr178 tf.c:1257) ==89714== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89714== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89714== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89714== by 0x49908EB: curl_version_info (version.c:600) ==89714== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89714== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89714== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89714== by 0x4003269: main (tool_main.c:195) === End of file valgrind186 test 0183 [HTTP GET two URLs over a single proxy with persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:35993 > log/17/stdout183 2> log/17/stderr183 183: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:35993 > log/17/stdout183 2> log/17/stderr183 === End of file commands.log === Start of file http_server.log 19:26:26.060002 ====> Client connect 19:26:26.060066 accept_connection 3 returned 4 19:26:26.060092 Read 93 bytes 19:26:26.060101 Process 93 bytes request 19:26:26.060113 Got request: GET /verifiedserver HTTP/1.1 19:26:26.060122 Are-we-friendly question received 19:26:26.060147 Wrote request (93 bytes) input to log/17/server.input 19:26:26.060163 Identifying ourselves as friends 19:26:26.060248 Response sent (56 bytes) and written to log/17/server.response 19:26:26.060259 special request received, no persistency 19:26:26.060267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43144 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind183 ==89538== ==89538== Process terminating with default action of signal 4 (SIGILL) ==89538== Illegal opcode at address 0x492B75F ==89538== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89538== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89538== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89538== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89538== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89538== by 0x49908EB: curl_version_info (version.c:600) ==89538== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89538== by 0x4003269: main (tool_main.c:195) === End of file valgrind183 test 0179 [HTTP using proxy and cookies with path checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind179 ../src/curl -q --output log/6/curl179.out --include --trace-ascii log/6/trace179 --trace-time http://supertrooper.fake/c/179 -b log/6/injar179 -x 127.0.0.1:33935 > log/6/stdout179 2> log/6/stderr179 179: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 179 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind179 ../src/curl -q --output log/6/curl179.out --include --trace-ascii log/6/trace179 --trace-time http://supertrooper.fake/c/179 -b log/6/injar179 -x 127.0.0.1:33935 > log/6/stdout179 2> log/6/stderr179 === End of file commands.log === Start of file http_server.log 19:26:24.801175 ====> Client connect 19:26:24.801206 accept_connection 3 returned 4 19:26:24.801226 Read 93 bytes 19:26:24.801234 Process 93 bytes request 19:26:24.801246 Got request: GET /verifiedserver HTTP/1.1 19:26:24.801254 Are-we-friendly question received 19:26:24.801277 Wrote request (93 bytes) input to log/6/server.input 19:26:24.801292 Identifying ourselves as friends 19:26:24.801346 Response sent (56 bytes) and written to log/6/server.response 19:26:24.801355 special request received, no persistency 19:26:24.801362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 56510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file injar179 supertrooper.fake FALSE /a FALSE 22139150993 mooo indeed supertrooper.fake FALSE /b FALSE 0 moo1 indeed supertrooper.fake FALSE /c FALSE 22139150993 moo2 indeed === End of file injar179 === Start of file server.cmd Testnum 179 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind179 ==89409== ==89409== Process terminating with default action of signal 4 (SIGILL) ==89409== Illegal opcode at address 0x492B75F ==89409== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89409== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89409== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89409== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89409== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89409== by 0x49908EB: curl_version_info (version.c:600) ==89409== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89409== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89409== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89409== by 0x4003269: main (tool_main.c:195) === End of file valgrind179 test 0178 [HTTP response with negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind178 ../src/curl -q --output log/12/curl178.out --include --trace-ascii log/12/trace178 --trace-time http://127.0.0.1:40921/178 > log/12/stdout178 2> log/12/stderr178 178: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind178 ../src/cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind184 ../src/curl -q --output log/18/curl184.out --include --trace-ascii log/18/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:43739 > log/18/stdout184 2> log/18/stderr184 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind182 ../src/curl -q --output log/23/curl182.out --include --trace-ascii log/23/trace182 --trace-time ftp://127.0.0.1:35523/182 > log/23/stdout182 2> log/23/stderr182 url -q --output log/12/curl178.out --include --trace-ascii log/12/trace178 --trace-time http://127.0.0.1:40921/178 > log/12/stdout178 2> log/12/stderr178 === End of file commands.log === Start of file http_server.log 19:26:24.773254 ====> Client connect 19:26:24.773309 accept_connection 3 returned 4 19:26:24.780085 Read 93 bytes 19:26:24.780106 Process 93 bytes request 19:26:24.780120 Got request: GET /verifiedserver HTTP/1.1 19:26:24.780129 Are-we-friendly question received 19:26:24.820015 Wrote request (93 bytes) input to log/12/server.input 19:26:24.820084 Identifying ourselves as friends 19:26:24.850457 Response sent (56 bytes) and written to log/12/server.response 19:26:24.850480 special request received, no persistency 19:26:24.850489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind178 ==89386== ==89386== Process terminating with default action of signal 4 (SIGILL) ==89386== Illegal opcode at address 0x492B75F ==89386== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89386== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89386== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89386== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89386== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89386== by 0x49908EB: curl_version_info (version.c:600) ==89386== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89386== by 0x4003269: main (tool_main.c:195) === End of file valgrind178 test 0184 [HTTP replace Host: when following Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind184 ../src/curl -q --output log/18/curl184.out --include --trace-ascii log/18/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:43739 > log/18/stdout184 2> log/18/stderr184 184: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 184 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind184 ../src/curl -q --output log/18/curl184.out --include --trace-ascii log/18/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:43739 > log/18/stdout184 2> log/18/stderr184 === End of file commands.log === Start of file http_server.log 19:26:26.104221 ====> Client connect 19:26:26.104255 accept_connection 3 returned 4 19:26:26.104280 Read 93 bytes 19:26:26.104291 Process 93 bytes request 19:26:26.104302 Got request: GET /verifiedserver HTTP/1.1 19:26:26.104311 Are-we-friendly question received 19:26:26.104344 Wrote request (93 bytes) input to log/18/server.input 19:26:26.104364 Identifying ourselves as friends 19:26:26.104442 Response sent (56 bytes) and written to log/18/server.response 19:26:26.104455 special request received, no persistency 19:26:26.104464 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 184 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind184 ==89622== ==89622== Process terminating with default action of signal 4 (SIGILL) ==89622== Illegal opcode at address 0x492B75F ==89622== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89622== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89622== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89622== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89622== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89622== by 0x49908EB: curl_version_info (version.c:600) ==89622== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89622== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89622== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89622== by 0x4003269: main (tool_main.c:195) === End of file valgrind184 test 0182 [FTP download an empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind182 ../src/curl -q --output log/23/curl182.out --include --trace-ascii log/23/trace182 --trace-time ftp://127.0.0.1:35523/182 > log/23/stdout182 2> log/23/stderr182 182: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 182 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind182 ../src/curl -q --output log/23/curl182.out --include --trace-ascii log/23/trace182 --trace-time ftp://127.0.0.1:35523/182 > log/23/stdout182 2> log/23/stderr182 === End of file commands.log === Start of file ftp_server.log 19:26:25.468931 ====> Client connect 19:26:25.469162 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:25.475488 < "USER anonymous" 19:26:25.475538 > "331 We are happy you popped in![CR][LF]" 19:26:25.476046 < "PASS ftp@example.com" 19:26:25.476084 > "230 Welcome you silly person[CR][LF]" 19:26:25.476234 < "PWD" 19:26:25.476269 > "257 "/" is current directory[CR][LF]" 19:26:25.476417 < "EPSV" 19:26:25.476439 ====> Passive DATA channel requested by client 19:26:25.476452 DATA sockfilt for passive data channel starting... 19:26:25.480256 DATA sockfilt for passive data channel started (pid 89515) 19:26:25.480375 DATA sockfilt for passive data channel listens on port 33405 19:26:25.480425 > "229 Entering Passive Mode (|||33405|)[CR][LF]" 19:26:25.480445 Client has been notified that upcoming DATA connection is awaited on port 33405 19:26:25.480723 Client connects to port 33405 19:26:25.480754 ====> Client established passive DATA connection on port 33405 19:26:25.480838 < "TYPE I" 19:26:25.480867 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:25.481023 < "SIZE verifiedserver" 19:26:25.481059 > "213 17[CR][LF]" 19:26:25.481211 < "RETR verifiedserver" 19:26:25.481244 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:25.481327 ====CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:40989?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind181 ../src/curl -q --output log/7/curl181.out --include --trace-ascii log/7/trace181 --trace-time http://127.0.0.1:40859/we/want/181 --data-binary @log/7/test181.txt --http1.0 > log/7/stdout181 2> log/7/stderr181 => Closing passive DATA connection... 19:26:25.481345 Server disconnects passive DATA connection 19:26:25.481501 Server disconnected passive DATA connection 19:26:25.481524 DATA sockfilt for passive data channel quits (pid 89515) 19:26:25.481791 DATA sockfilt for passive data channel quit (pid 89515) 19:26:25.481818 =====> Closed passive DATA connection 19:26:25.481845 > "226 File transfer complete[CR][LF]" 19:26:25.546567 < "QUIT" 19:26:25.546628 > "221 bye bye baby[CR][LF]" 19:26:25.552094 MAIN sockfilt said DISC 19:26:25.552152 ====> Client disconnected 19:26:25.552240 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:26.068780 ====> Client connect 19:26:26.070436 Received DATA (on stdin) 19:26:26.070457 > 146 bytes data, server => client 19:26:26.070468 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:26.070479 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:26.070487 '220 \___|\___/|_| \_\_____|\r\n' 19:26:26.071229 < 16 bytes data, client => server 19:26:26.071245 'USER anonymous\r\n' 19:26:26.076803 Received DATA (on stdin) 19:26:26.076818 > 33 bytes data, server => client 19:26:26.076829 '331 We are happy you popped in!\r\n' 19:26:26.077182 < 22 bytes data, client => server 19:26:26.077198 'PASS ftp@example.com\r\n' 19:26:26.077343 Received DATA (on stdin) 19:26:26.077353 > 30 bytes data, server => client 19:26:26.077363 '230 Welcome you silly person\r\n' 19:26:26.077413 < 5 bytes data, client => server 19:26:26.077422 'PWD\r\n' 19:26:26.077524 Received DATA (on stdin) 19:26:26.077534 > 30 bytes data, server => client 19:26:26.077544 '257 "/" is current directory\r\n' 19:26:26.077599 < 6 bytes data, client => server 19:26:26.077609 'EPSV\r\n' 19:26:26.081713 Received DATA (on stdin) 19:26:26.081727 > 39 bytes data, server => client 19:26:26.081738 '229 Entering Passive Mode (|||33405|)\r\n' 19:26:26.081902 < 8 bytes data, client => server 19:26:26.081917 'TYPE I\r\n' 19:26:26.082127 Received DATA (on stdin) 19:26:26.082138 > 33 bytes data, server => client 19:26:26.082147 '200 I modify TYPE as you wanted\r\n' 19:26:26.082200 < 21 bytes data, client => server 19:26:26.082211 'SIZE verifiedserver\r\n' 19:26:26.082319 Received DATA (on stdin) 19:26:26.082330 > 8 bytes data, server => client 19:26:26.082339 '213 17\r\n' 19:26:26.082390 < 21 bytes data, client => server 19:26:26.082401 'RETR verifiedserver\r\n' 19:26:26.082691 Received DATA (on stdin) 19:26:26.082703 > 29 bytes data, server => client 19:26:26.082713 '150 Binary junk (17 bytes).\r\n' 19:26:26.083107 Received DATA (on stdin) 19:26:26.083118 > 28 bytes data, server => client 19:26:26.083128 '226 File transfer complete\r\n' 19:26:26.146635 < 6 bytes data, client => server 19:26:26.146668 'QUIT\r\n' 19:26:26.147917 Received DATA (on stdin) 19:26:26.147934 > 18 bytes data, server => client 19:26:26.147944 '221 bye bye baby\r\n' 19:26:26.153293 ====> Client disconnect 19:26:26.153525 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:25.081195 Running IPv4 version 19:26:25.081267 Listening on port 33405 19:26:25.081302 Wrote pid 89515 to log/23/server/ftp_sockdata.pid 19:26:25.081456 Received PING (on stdin) 19:26:25.081546 Received PORT (on stdin) 19:26:25.081938 ====> Client connect 19:26:25.082607 Received DATA (on stdin) 19:26:25.082619 > 17 bytes data, server => client 19:26:25.082629 'WE ROOLZ: 84709\r\n' 19:26:25.082655 Received DISC (on stdin) 19:26:25.082666 ====> Client forcibly disconnected 19:26:25.082789 Received QUIT (on stdin) 19:26:25.082799 quits 19:26:25.082852 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==89685== ==89685== Process terminating with default action of signal 4 (SIGILL) ==89685== Illegal opcode at address 0x492B75F ==89685== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89685== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89685== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89685== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89685== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89685== by 0x49908EB: curl_version_info (version.c:600) ==89685== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89685== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89685== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89685== by 0x4003269: main (tool_main.c:195) === End of file valgrind182 test 0187 [HTTP redirect with bad hostname separation and slash in parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:40989?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 187: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind187 ../src/curl -q --output log/11/curl187.out --include --trace-ascii log/11/trace187 --trace-time http://127.0.0.1:40989?oh=what-weird=test/187 -L > log/11/stdout187 2> log/11/stderr187 === End of file commands.log === Start of file http_server.log 19:26:25.162496 ====> Client connect 19:26:25.162533 accept_connection 3 returned 4 19:26:25.162642 Read 93 bytes 19:26:25.162659 Process 93 bytes request 19:26:25.162673 Got request: GET /verifiedserver HTTP/1.1 19:26:25.162682 Are-we-friendly question received 19:26:25.162718 Wrote request (93 bytes) input to log/11/server.input 19:26:25.162740 Identifying ourselves as friends 19:26:25.162810 Response sent (56 bytes) and written to log/11/server.response 19:26:25.162822 special request received, no persistency 19:26:25.162831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 47894 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 187 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind187 ==89773== ==89773== Process terminating with default action of signal 4 (SIGILL) ==89773== Illegal opcode at address 0x492B75F ==89773== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89773== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89773== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89773== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89773== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89773== by 0x49908EB: curl_version_info (version.c:600) ==89773== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89773== by 0x4003269: main (tool_main.c:195) === End of file valgrind187 test 0181 [HTTP 1.0 POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind181 ../src/curl -q --output log/7/curl181.out --include --trace-ascii log/7/tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind191 ../src/curl -q --output log/20/curl191.out --include --trace-ascii log/20/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:41549/191" > log/20/stdout191 2> log/20/stderr191 race181 --trace-time http://127.0.0.1:40859/we/want/181 --data-binary @log/7/test181.txt --http1.0 > log/7/stdout181 2> log/7/stderr181 181: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind181 ../src/curl -q --output log/7/curl181.out --include --trace-ascii log/7/trace181 --trace-time http://127.0.0.1:40859/we/want/181 --data-binary @log/7/test181.txt --http1.0 > log/7/stdout181 2> log/7/stderr181 === End of file commands.log === Start of file http_server.log 19:26:25.042931 ====> Client connect 19:26:25.042964 accept_connection 3 returned 4 19:26:25.042985 Read 93 bytes 19:26:25.042995 Process 93 bytes request 19:26:25.043007 Got request: GET /verifiedserver HTTP/1.1 19:26:25.043015 Are-we-friendly question received 19:26:25.043044 Wrote request (93 bytes) input to log/7/server.input 19:26:25.043059 Identifying ourselves as friends 19:26:25.043120 Response sent (56 bytes) and written to log/7/server.response 19:26:25.043129 special request received, no persistency 19:26:25.043136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 52638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file test181.txt Weird file to upload for testing the POST feature === End of file test181.txt === Start of file valgrind181 ==89503== ==89503== Process terminating with default action of signal 4 (SIGILL) ==89503== Illegal opcode at address 0x492B75F ==89503== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89503== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89503== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89503== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89503== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89503== by 0x49908EB: curl_version_info (version.c:600) ==89503== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89503== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89503== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89503== by 0x4003269: main (tool_main.c:195) === End of file valgrind181 test 0191 [FTP URL with ?-letters in username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind191 ../src/curl -q --output log/20/curl191.out --include --trace-ascii log/20/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:41549/191" > log/20/stdout191 2> log/20/stderr191 191: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind191 ../src/curl -q --output log/20/curl191.out --include --trace-ascii log/20/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:41549/191" > log/20/stdout191 2> log/20/stderr191 === End of file commands.log === Start of file ftp_server.log 19:26:26.114947 ====> Client connect 19:26:26.115158 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:26.115479 < "USER anonymous" 19:26:26.115525 > "331 We are happy you popped in![CR][LF]" 19:26:26.115726 < "PASS ftp@example.com" 19:26:26.115762 > "230 Welcome you silly person[CR][LF]" 19:26:26.115937 < "PWD" 19:26:26.115975 > "257 "/" is current directory[CR][LF]" 19:26:26.116155 < "EPSV" 19:26:26.116181 ====> Passive DATA channel requested by client 19:26:26.116197 DATA sockfilt for passive data channel starting... 19:26:26.118306 DATA sockfilt for passive data channel started (pid 90148) 19:26:26.118423 DATA sockfilt for passive data channel listens on port 33885 19:26:26.118463 > "229 Entering Passive Mode (|||33885|)[CR][LF]" 19:26:26.118482 Client has been notified that upcoming DATA connection is awaited on port 33885 19:26:26.118734 Client connects to port 33885 19:26:26.118764 ====> Client established passive DATA connection on port 33885 19:26:26.118832 < "TYPE I" 19:26:26.118856 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:26.118998 < "SIZE verifiedserver" 19:26:26.119029 > "213 17[CR][LF]" 19:26:26.119160 < "RETR verifiedserver" 19:26:26.119188 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:26.119269 =====> Closing passive DATA connection... 19:26:26.119285 Server disconnects passive DATA connection 19:26:26.119462 Server disconnected passive DATA connection 19:26:26.119483 DATA sockfilt for passive data channel quits (pid 90148) 19:26:26.119739 DATA sockfilt for passive data channel quit (pid 90148) 19:26:26.119764 =====> Closed passive DATA connection 19:26:26.119787 > "226 File transfer complete[CR][LF]" 19:26:26.172347 < "QUIT" 19:26:26.172405 > "221 bye bye baby[CR][LF]" 19:26:26.175435 MAIN sockfilt said DISC 19:26:26.175478 ====> Client disconnected 19:26:26.175563 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:25.716196 ====> Client connect 19:26:25.716588 Received DATA (on stdin) 19:26:25.716603 > 146 bytes data, server => client 19:26:25.716614 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:25.716623 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:25.716631 '220 \___|\___/|_| \_\_____|\r\n' 19:26:25.716709 < 16 bytes data, client => server 19:26:25.716720 'USER anonymous\r\n' 19:26:25.716948 Received DATA (on stdin) 19:26:25.716961 > 33 bytes data, server => client 19:26:25.716972 '331 We are happy you popped in!\r\n' 19:26:25.717033 < 22 bytes data, client => server 19:26:25.717046 'PASS ftp@example.com\r\n' 19:26:25.717182 Received DATA (on stdin) 19:26:25.717193 > 30 bytes data, server => client 19:26:25.717204 '230 Welcome you silly person\r\n' 19:26:25.717260 < 5 bytes data, client => server 19:26:25.717272 'PWD\r\n' 19:26:25.717392 Received DATA (on stdin) 19:26:25.717404 > 30 bytes data, server => client 19:26:25.717415 '257 "/" is current directory\r\n' 19:26:25.717480 < 6 bytes data, client => server 19:26:25.717492 'EPSV\r\n' 19:26:25.719906 Received DATA (on stdin) 19:26:25.719918 > 39 bytes data, server => client 19:26:25.719929 '229 Entering Passive Mode (|||33885|)\r\n' 19:26:25.720062 < 8 bytes data, client => server 19:26:25.720089 'TYPE I\r\n' 19:26:25.720270 Received DATA (on stdin) 19:26:25.720280 > 33 bytes data, server => client 19:26:25.720289 '200 I modify TYPE as you wanted\r\n' 19:26:25.720339 < 21 bytes data, client => server 19:26:25.720349 'SIZE verifiedserver\r\n' 19:26:25.720442 Received DATA (on stdin) 19:26:25.720451 > 8 bytes data, server => client 19:26:25.720460 '213 17\r\n' 19:26:25.720505 < 21 bytes data, client => server 19:26:25.720515 'RETR verifiedserver\r\n' 19:26:25.720701 Received DATA (on stdin) 19:26:25.720711 > 29 bytes data, server => client 19:26:25CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind185 ../src/curl -q --output log/3/curl185.out --include --trace-ascii log/3/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:36161 > log/3/stdout185 2> log/3/stderr185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind189 ../src/curl -q --output log/15/curl189.out --include --trace-ascii log/15/trace189 --trace-time http://127.0.0.1:40321/189 -C 50 -L > log/15/stdout189 2> log/15/stderr189 .720720 '150 Binary junk (17 bytes).\r\n' 19:26:25.721202 Received DATA (on stdin) 19:26:25.721213 > 28 bytes data, server => client 19:26:25.721222 '226 File transfer complete\r\n' 19:26:25.773571 < 6 bytes data, client => server 19:26:25.773608 'QUIT\r\n' 19:26:25.773839 Received DATA (on stdin) 19:26:25.773850 > 18 bytes data, server => client 19:26:25.773860 '221 bye bye baby\r\n' 19:26:25.776783 ====> Client disconnect 19:26:25.776997 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:26.719386 Running IPv4 version 19:26:26.719462 Listening on port 33885 19:26:26.719501 Wrote pid 90148 to log/20/server/ftp_sockdata.pid 19:26:26.719661 Received PING (on stdin) 19:26:26.719753 Received PORT (on stdin) 19:26:26.720108 ====> Client connect 19:26:26.720774 Received DATA (on stdin) 19:26:26.720786 > 17 bytes data, server => client 19:26:26.720796 'WE ROOLZ: 84833\r\n' 19:26:26.720818 Received DISC (on stdin) 19:26:26.720828 ====> Client forcibly disconnected 19:26:26.720948 Received QUIT (on stdin) 19:26:26.720960 quits 19:26:26.721016 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==90180== ==90180== Process terminating with default action of signal 4 (SIGILL) ==90180== Illegal opcode at address 0x492B75F ==90180== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90180== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90180== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90180== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90180== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90180== by 0x49908EB: curl_version_info (version.c:600) ==90180== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90180== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90180== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90180== by 0x4003269: main (tool_main.c:195) === End of file valgrind191 test 0185 [HTTP replace Host: when following Location: on the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind185 ../src/curl -q --output log/3/curl185.out --include --trace-ascii log/3/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:36161 > log/3/stdout185 2> log/3/stderr185 185: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 185 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind185 ../src/curl -q --output log/3/curl185.out --include --trace-ascii log/3/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:36161 > log/3/stdout185 2> log/3/stderr185 === End of file commands.log === Start of file http_server.log 19:26:26.100975 ====> Client connect 19:26:26.101008 accept_connection 3 returned 4 19:26:26.101028 Read 93 bytes 19:26:26.101038 Process 93 bytes request 19:26:26.101050 Got request: GET /verifiedserver HTTP/1.1 19:26:26.101058 Are-we-friendly question received 19:26:26.101085 Wrote request (93 bytes) input to log/3/server.input 19:26:26.101101 Identifying ourselves as friends 19:26:26.101160 Response sent (56 bytes) and written to log/3/server.response 19:26:26.101169 special request received, no persistency 19:26:26.101177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 185 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind185 ==89602== ==89602== Process terminating with default action of signal 4 (SIGILL) ==89602== Illegal opcode at address 0x492B75F ==89602== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==89602== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==89602== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==89602== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==89602== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==89602== by 0x49908EB: curl_version_info (version.c:600) ==89602== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==89602== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==89602== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==89602== by 0x4003269: main (tool_main.c:195) === End of file valgrind185 test 0189 [HTTP GET with resume and redirect (to a page that does not resume)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind189 ../src/curl -q --output log/15/curl189.out --include --trace-ascii log/15/trace189 --trace-time http://127.0.0.1:40321/189 -C 50 -L > log/15/stdout189 2> log/15/stderr189 189: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind189 ../src/curl -q --output log/15/curl189.out --include --trace-ascii log/15/trace189 --trace-time http://127.0.0.1:40321/189 -C 50 -L > log/15/stdout189 2> log/15/stderr189 === End of file commands.log === Start of file http_server.log 19:26:26.610123 ====> Client connect 19:26:26.610165 accept_connection 3 returned 4 19:26:26.610189 Read 93 bytes 19:26:26.610200 Process 93 bytes request 19:26:26.610213 Got request: GET /verifiedserver HTTP/1.1 19:26:26.610221 Are-we-friendly question received 19:26:26.610252 Wrote request (93 bytes) input to log/15/server.input 19:26:26.610271 Identifying ourselves as friends 19:26:26.610351 Response sent (56 bytes) and written to log/15/server.response 19:26:26.610364 special request received, no persistency 19:26:26.610372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 49930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind189 ==90099== ==90099== Process terminating with default action of signal 4 (SIGILL) ==90099== Illegal opcode at address 0x492B75F ==90099== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90099== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90099== by 0x492B67B: curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind190 ../src/curl -q --output log/13/curl190.out --include --trace-ascii log/13/trace190 --trace-time ftp://127.0.0.1:36047/path/to/file/190 -m 10 > log/13/stdout190 2> log/13/stderr190 * kill pid for ftp-ctrl => 85038 RUN: Process with pid 84987 signalled to die RUN: Process with pid 84987 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind193 ../src/curl -q --include --trace-ascii log/24/trace193 --trace-time http://127.0.0.1:38895/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 _msnprintf (mprintf.c:1277) ==90099== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90099== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90099== by 0x49908EB: curl_version_info (version.c:600) ==90099== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90099== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90099== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90099== by 0x4003269: main (tool_main.c:195) === End of file valgrind189 test 0190 [FTP download with strict timeout and slow CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind190 ../src/curl -q --output log/13/curl190.out --include --trace-ascii log/13/trace190 --trace-time ftp://127.0.0.1:36047/path/to/file/190 -m 10 > log/13/stdout190 2> log/13/stderr190 190: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind190 ../src/curl -q --output log/13/curl190.out --include --trace-ascii log/13/trace190 --trace-time ftp://127.0.0.1:36047/path/to/file/190 -m 10 > log/13/stdout190 2> log/13/stderr190 === End of file commands.log === Start of file ftp_server.log 19:26:26.116851 ====> Client connect 19:26:26.117024 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:26.122559 < "USER anonymous" 19:26:26.122614 > "331 We are happy you popped in![CR][LF]" 19:26:26.133063 < "PASS ftp@example.com" 19:26:26.133126 > "230 Welcome you silly person[CR][LF]" 19:26:26.133342 < "PWD" 19:26:26.133382 > "257 "/" is current directory[CR][LF]" 19:26:26.133552 < "EPSV" 19:26:26.133578 ====> Passive DATA channel requested by client 19:26:26.133591 DATA sockfilt for passive data channel starting... 19:26:26.140426 DATA sockfilt for passive data channel started (pid 90154) 19:26:26.140548 DATA sockfilt for passive data channel listens on port 37549 19:26:26.140593 > "229 Entering Passive Mode (|||37549|)[CR][LF]" 19:26:26.140609 Client has been notified that upcoming DATA connection is awaited on port 37549 19:26:26.145430 Client connects to port 37549 19:26:26.145485 ====> Client established passive DATA connection on port 37549 19:26:26.145604 < "TYPE I" 19:26:26.145649 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:26.152133 < "SIZE verifiedserver" 19:26:26.152195 > "213 17[CR][LF]" 19:26:26.152422 < "RETR verifiedserver" 19:26:26.152589 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:26.152708 =====> Closing passive DATA connection... 19:26:26.152732 Server disconnects passive DATA connection 19:26:26.152912 Server disconnected passive DATA connection 19:26:26.152939 DATA sockfilt for passive data channel quits (pid 90154) 19:26:26.153260 DATA sockfilt for passive data channel quit (pid 90154) 19:26:26.153290 =====> Closed passive DATA connection 19:26:26.153378 > "226 File transfer complete[CR][LF]" 19:26:26.208885 < "QUIT" 19:26:26.208943 > "221 bye bye baby[CR][LF]" 19:26:26.215376 MAIN sockfilt said DISC 19:26:26.215456 ====> Client disconnected 19:26:26.215545 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:26.718174 ====> Client connect 19:26:26.718449 Received DATA (on stdin) 19:26:26.718463 > 146 bytes data, server => client 19:26:26.718472 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:26.718481 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:26.718488 '220 \___|\___/|_| \_\_____|\r\n' 19:26:26.718554 < 16 bytes data, client => server 19:26:26.718563 'USER anonymous\r\n' 19:26:26.726803 Received DATA (on stdin) 19:26:26.726831 > 33 bytes data, server => client 19:26:26.726841 '331 We are happy you popped in!\r\n' 19:26:26.734234 < 22 bytes data, client => server 19:26:26.734269 'PASS ftp@example.com\r\n' 19:26:26.734556 Received DATA (on stdin) 19:26:26.734570 > 30 bytes data, server => client 19:26:26.734581 '230 Welcome you silly person\r\n' 19:26:26.734658 < 5 bytes data, client => server 19:26:26.734668 'PWD\r\n' 19:26:26.734802 Received DATA (on stdin) 19:26:26.734813 > 30 bytes data, server => client 19:26:26.734822 '257 "/" is current directory\r\n' 19:26:26.734887 < 6 bytes data, client => server 19:26:26.734896 'EPSV\r\n' 19:26:26.743434 Received DATA (on stdin) 19:26:26.743461 > 39 bytes data, server => client 19:26:26.743473 '229 Entering Passive Mode (|||37549|)\r\n' 19:26:26.743695 < 8 bytes data, client => server 19:26:26.743711 'TYPE I\r\n' 19:26:26.750096 Received DATA (on stdin) 19:26:26.750120 > 33 bytes data, server => client 19:26:26.750132 '200 I modify TYPE as you wanted\r\n' 19:26:26.750232 < 21 bytes data, client => server 19:26:26.750244 'SIZE verifiedserver\r\n' 19:26:26.753600 Received DATA (on stdin) 19:26:26.753621 > 8 bytes data, server => client 19:26:26.753633 '213 17\r\n' 19:26:26.753723 < 21 bytes data, client => server 19:26:26.753739 'RETR verifiedserver\r\n' 19:26:26.753881 Received DATA (on stdin) 19:26:26.753897 > 29 bytes data, server => client 19:26:26.753917 '150 Binary junk (17 bytes).\r\n' 19:26:26.754726 Received DATA (on stdin) 19:26:26.754739 > 28 bytes data, server => client 19:26:26.754758 '226 File transfer complete\r\n' 19:26:26.810124 < 6 bytes data, client => server 19:26:26.810160 'QUIT\r\n' 19:26:26.810386 Received DATA (on stdin) 19:26:26.810400 > 18 bytes data, server => client 19:26:26.810409 '221 bye bye baby\r\n' 19:26:26.811650 ====> Client disconnect 19:26:26.816992 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:26.741396 Running IPv4 version 19:26:26.741598 Listening on port 37549 19:26:26.741634 Wrote pid 90154 to log/13/server/ftp_sockdata.pid 19:26:26.741789 Received PING (on stdin) 19:26:26.741879 Received PORT (on stdin) 19:26:26.746777 ====> Client connect 19:26:26.754169 Received DATA (on stdin) 19:26:26.754187 > 17 bytes data, server => client 19:26:26.754197 'WE ROOLZ: 84987\r\n' 19:26:26.754285 Received DISC (on stdin) 19:26:26.754371 ====> Client forcibly disconnected 19:26:26.754416 Received QUIT (on stdin) 19:26:26.754428 quits 19:26:26.754503 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY CWD 60 Testnum 190 === End of file server.cmd === Start of file valgrind190 ==90200== ==90200== Process terminating with default action of signal 4 (SIGILL) ==90200== Illegal opcode at address 0x492B75F ==90200== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90200== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90200== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90200== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90200== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90200== by 0x49908EB: curl_version_info (version.c:600) ==90200== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90200== by 0x4003269: main (tool_main.c:195) === End of file valgrind190 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind196 ../src/curl -q --include --trace-ascii log/19/trace196 --trace-time ftp://127.0.0.1:38555/196 --retry 1 -w '%{num_retries}\n' > log/19/stdout196 2> log/19/stderr196 test 0193 [HTTP GET -w num_connects with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind193 ../src/curl -q --include --trace-ascii log/24/trace193 --trace-time http://127.0.0.1:38895/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 193: stdout FAILED: --- log/24/check-expected 2026-10-15 19:26:29.003758959 +0000 +++ log/24/check-generated 2026-10-15 19:26:28.999413332 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -Location: ./193[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -2[LF] == Contents of files in the log/24/ directory after test 193 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] Location: ./193[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind193 ../src/curl -q --include --trace-ascii log/24/trace193 --trace-time http://127.0.0.1:38895/193 -w "%{num_connects}\n" -L > log/24/stdout193 2> log/24/stderr193 === End of file commands.log === Start of file http_server.log 19:26:26.053238 ====> Client connect 19:26:26.053272 accept_connection 3 returned 4 19:26:26.053457 Read 93 bytes 19:26:26.053478 Process 93 bytes request 19:26:26.053498 Got request: GET /verifiedserver HTTP/1.1 19:26:26.053508 Are-we-friendly question received 19:26:26.053542 Wrote request (93 bytes) input to log/24/server.input 19:26:26.053563 Identifying ourselves as friends 19:26:26.053636 Response sent (56 bytes) and written to log/24/server.response 19:26:26.053649 special request received, no persistency 19:26:26.053658 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 193 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind193 ==90341== ==90341== Process terminating with default action of signal 4 (SIGILL) ==90341== Illegal opcode at address 0x492B75F ==90341== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90341== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90341== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90341== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90341== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90341== by 0x49908EB: curl_version_info (version.c:600) ==90341== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90341== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90341== by 0x4003269: main (tool_main.c:195) === End of file valgrind193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --trace-time http://127.0.0.1:38815/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 test 0196 [FTP transient error, retry request once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind196 ../src/curl -q --include --trace-ascii log/19/trace196 --trace-time ftp://127.0.0.1:38555/196 --retry 1 -w '%{num_retries}\n' > log/19/stdout196 2> log/19/stderr196 196: stdout FAILED: --- log/19/check-expected 2026-10-15 19:26:29.266550464 +0000 +++ log/19/check-generated 2026-10-15 19:26:29.262683109 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/19/ directory after test 196 === Start of file check-expected 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind196 ../src/curl -q --include --trace-ascii log/19/trace196 --trace-time ftp://127.0.0.1:38555/196 --retry 1 -w '%{num_retries}\n' > log/19/stdout196 2> log/19/stderr196 === End of file commands.log === Start of file ftp_server.log 19:26:27.022040 ====> Client connect 19:26:27.022289 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:27.022643 < "USER anonymous" 19:26:27.022681 > "331 We are happy you popped in![CR][LF]" 19:26:27.028952 < "PASS ftp@example.com" 19:26:27.029000 > "230 Welcome you silly person[CR][LF]" 19:26:27.029170 < "PWD" 19:26:27.029208 > "257 "/" is current directory[CR][LF]" 19:26:27.029365 < "EPSV" 19:26:27.029389 ====> Passive DATA channel requested by client 19:26:27.029402 DATA sockfilt for passive data channel starting... 19:26:27.035009 DATA sockfilt for passive data channel started (pid 90550) 19:26:27.045526 DATA sockfilt for passive data channel listens on port 43625 19:26:27.045623 > "229 Entering Passive Mode (|||43625|)[CR][LF]" 19:26:27.045650 Client has been notified that upcoming DATA connection is awaited on port 43625 19:26:27.052102 Client connects to port 43625 19:26:27.052162 ====> Client established passive DATA connection on port 43625 19:26:27.052441 < "TYPE I" 19:26:27.052495 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:27.052734 < "SIZE verifiedserver" 19:26:27.052785 > "213 17[CR][LF]" 19:26:27.052990 < "RETR verifiedserver" 19:26:27.053036 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:27.053145 =====> Closing passive DATA connection... 19:26:27.053169 Server disconnects passive DATA connection 19:26:27.053349 Server disconnected passive DATA connection 19:26:27.053375 DATA sockfilt for passive data channel quits (pid 90550) 19:26:27.053707 DATA sockfilt for passive data channel quit (pid 90550) 19:26:27.053737 =====> Closed passive DATA connection 19:26:27.053773 > "226 File transfer complete[CR][LF]" 19:26:27.102252 < "QUIT" 19:26:27.102326 > "221 bye bye baby[CR][LF]" 19:26:27.108769 MAIN sockfilt said DISC 19:26:27.108836 ====> Client disconnected 19:26:27.108937 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:26.616990 ====> Client connect 19:26:26.623948 Received DATA (on stdin) 19:26:26.623969 > 146 bytes data, server => client 19:26:26.623981 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:26.623991 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:26.624000 '220 \___|\___/|_| \_\_____|\r\n' 19:26:26.624126 < 16 bytes data, client => server 19:26:26.624137 'USER anonymous\r\n' 19:26:26.630318 Received DATA (on stdin) 19:26:26.630345 > 33 bytes data, server => client 19:26:26.630356 '331 We are happy you popped in!\r\n' 19:26:26.630436 < 22 bytes data, client => server 19:26:26.630447 'PASS ftp@example.com\r\n' 19:26:26.630642 Received DATA (on stdin) 19:26:26.630653 > 30 bytes data, server => client 19:26:26.630663 '230 Welcome you silly person\r\n' 19:26:26.630717 < 5 bytes data, client => server 19:26:26.630727 'PWD\r\n' 19:26:26.630847 Received DATA (on stdin) 19:26:26.630858 > 30 bytes data, server => client 19:26:26.630867 '257 "/" is current directory\r\n' 19:26:26.630926 < 6 bytes data, client => server 19:26:26.630935 'EPSV\r\n' 19:26:26.650318 Received DATA (on stdin) 19:26:26.650352 > 39 bytes data, server => client 19:26:26.650363 '229 Entering Passive Mode (|||43625|)\r\n' 19:26:26.653915 < 8 bytes data, client => server 19:26:26.653937 'TYPE I\r\n' 19:26:26.654152 Received DATA (on stdin) 19:26:26.654169 > 33 bytes data, server => client 19:26:26.654180 '200 I modify TYPE as you wanted\r\n' 19:26:26.654265 < 21 bytes data, client => server 19:26:26.654282 'SIZE verifiedserver\r\n' 19:26:26.654438 Received DATA (on stdin) 19:26:26.654451 > 8 bytes data, server => client 19:26:26.654461 '213 17\r\n' 19:26:26.654525 < 21 bytes data, client => server 19:26:26.654544 'RETR verifiedserver\r\n' 19:26:26.654820 Received DATA (on stdin) 19:26:26.654832 > 29 bytes data, server => client 19:26:26.654842 '150 Binary junk (17 bytes).\r\n' 19:26:26.655426 Received DATA (on stdin) 19:26:26.655439 > 28 bytes data, server => client 19:26:26.655449 '226 File transfer complete\r\n' 19:26:26.703678 < 6 bytes data, client => server 19:26:26.703719 'QUIT\r\n' 19:26:26.703997 Received DATA (on stdin) 19:26:26.704013 > 18 bytes data, server => client 19:26:26.704024 '221 bye bye baby\r\n' 19:26:26.710339 ====> Client disconnect 19:26:26.710616 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:27.635100 Running IPv4 version 19:26:27.635191 Listening on port 43625 19:26:27.635235 Wrote pid 90550 to log/19/server/ftp_sockdata.pid 19:26:27.635258 Received PING (on stdin) 19:26:27.643641 Received PORT (on stdin) 19:26:27.653667 ====> Client connect 19:26:27.654873 Received DATA (on stdin) 19:26:27.654889 > 17 bytes data, server => client 19:26:27.654899 'WE ROOLZ: 84587\r\n' 19:26:27.654928 Received DISC (on stdin) 19:26:27.654941 ====> Client forcibly disconnected 19:26:27.655036 Received QUIT (on stdin) 19:26:27.655048 quits 19:26:27.655130 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 430 temporarily not available Testnum 196 === End of file server.cmd === Start of file valgrind196 ==90596== ==90596== Process terminating with default action of signal 4 (SIGILL) ==90596== Illegal opcode at address 0x492B75F ==90596== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90596== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90596== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90596== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90596== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90596== by 0x49908EB: curl_version_info (version.c:600) ==90596== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90596== by 0x4003269: main (tool_main.c:195) === End of file valgrind196 test 0194 [HTTP resume transfer with the whole file already downloaded and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --trace-time http://127.0.0.1:38815/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 194: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind194 ../src/curl -q --output log/1/curl194.out --include --trace-ascii log/1/trace194 --traceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind197 ../src/curl -q --include --trace-ascii log/14/trace197 --trace-time http://127.0.0.1:45467/197 --retry 1000 > log/14/stdout197 2> log/14/stderr197 -time http://127.0.0.1:38815/want/194 -C 87 --fail > log/1/stdout194 2> log/1/stderr194 === End of file commands.log === Start of file http_server.log 19:26:27.410350 ====> Client connect 19:26:27.410396 accept_connection 3 returned 4 19:26:27.410424 Read 93 bytes 19:26:27.410434 Process 93 bytes request 19:26:27.410448 Got request: GET /verifiedserver HTTP/1.1 19:26:27.410456 Are-we-friendly question received 19:26:27.410485 Wrote request (93 bytes) input to log/1/server.input 19:26:27.410503 Identifying ourselves as friends 19:26:27.410594 Response sent (56 bytes) and written to log/1/server.response 19:26:27.410604 special request received, no persistency 19:26:27.410612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 34920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 194 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind194 ==90451== ==90451== Process terminating with default action of signal 4 (SIGILL) ==90451== Illegal opcode at address 0x492B75F ==90451== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90451== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90451== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90451== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90451== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90451== by 0x49908EB: curl_version_info (version.c:600) ==90451== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90451== by 0x4003269: main (tool_main.c:195) === End of file valgrind194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind200 ../src/curl -q --output log/16/curl200.out --trace-ascii log/16/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test200.txt > log/16/stdout200 2> log/16/stderr200 test 0197 [HTTP GET --retry on 503 error with output to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind197 ../src/curl -q --include --trace-ascii log/14/trace197 --trace-time http://127.0.0.1:45467/197 --retry 1000 > log/14/stdout197 2> log/14/stderr197 197: stdout FAILED: --- log/14/check-expected 2026-10-15 19:26:29.310971373 +0000 +++ log/14/check-generated 2026-10-15 19:26:29.306005987 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 503 BAD swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 21[LF] -[LF] -server not available[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Connection: close[LF] -[LF] -ok[LF] == Contents of files in the log/14/ directory after test 197 === Start of file check-expected HTTP/1.1 503 BAD swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 21[LF] [LF] server not available[LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Connection: close[LF] [LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind197 ../src/curl -q --include --trace-ascii log/14/trace197 --trace-time http://127.0.0.1:45467/197 --retry 1000 > log/14/stdout197 2> log/14/stderr197 === End of file commands.log === Start of file http_server.log 19:26:26.627483 ====> Client connect 19:26:26.627518 accept_connection 3 returned 4 19:26:26.627542 Read 93 bytes 19:26:26.627552 Process 93 bytes request 19:26:26.627567 Got request: GET /verifiedserver HTTP/1.1 19:26:26.627576 Are-we-friendly question received 19:26:26.627606 Wrote request (93 bytes) input to log/14/server.input 19:26:26.627624 Identifying ourselves as friends 19:26:26.627695 Response sent (56 bytes) and written to log/14/server.response 19:26:26.627707 special request received, no persistency 19:26:26.627716 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 49684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind197 ==90558== ==90558== Process terminating with default action of signal 4 (SIGILL) ==90558== Illegal opcode at address 0x492B75F ==90558== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90558== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90558== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90558== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90558== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90558== by 0x49908EB: curl_version_info (version.c:600) ==90558== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90558== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90558== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90558== by 0x4003269: main (tool_main.c:195) === End of file valgrind197 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-time ftp://127.0.0.1:38033/195 > log/2/stdout195 2> log/2/stderr195 test 0200 [basic file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind200 ../src/curl -q --output log/16/curl200.out --trace-ascii log/16/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test200.txt > log/16/stdout200 2> log/16/stderr200 200: data FAILED: --- log/16/check-expected 2026-10-15 19:26:29.446682321 +0000 +++ log/16/check-generated 2026-10-15 19:26:29.442639673 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/16/ directory after test 200 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind200 ../src/curl -q --output log/16/curl200.out --trace-ascii log/16/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/16/test200.txt > log/16/stdout200 2> log/16/stderr200 === End of file commands.log === Start of file server.cmd Testnum 200 === End of file server.cmd === Start of file test200.txt foo bar bar foo moo === End of file test200.txt === Start of file valgrind200 ==90760== ==90760== Process terminating with default action of signal 4 (SIGILL) ==90760== Illegal opcode at address 0x492B75F ==90760== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90760== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90760== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90760== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90760== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90760== by 0x49908EB: curl_version_info (version.c:600) ==90760== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90760== by 0x4003269: main (tool_main.c:195) === End of file valgrind200 test 0195 [FTP response 530 after PASS, temporarily not allowed access] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-time ftp://127.0.0.1:38033/195 > log/2/stdout195 2> log/2/stderr195 195: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind195 ../src/curl -q --output log/2/curl195.out --include --trace-ascii log/2/trace195 --trace-time ftp://127.0.0.1:38033/195 > log/2/stdout195 2> log/2/stderr195 === End of file commands.log === Start of file ftp_server.log 19:26:26.982292 ====> Client connect 19:26:26.982540 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:26.983171 < "USER anonymous" 19:26:26.983221 > "331 We are happy you popped in![CR][LF]" 19:26:26.983419 < "PASS ftp@example.com" 19:26:26.985376 > "230 Welcome you silly person[CR][LF]" 19:26:26.988888 < "PWD" 19:26:26.988941 > "257 "/" is current directory[CR][LF]" 19:26:26.989156 < "EPSV" 19:26:26.989187 ====> Passive DATA channel requested by client 19:26:26.989205 DATA sockfilt for passive data channel starting... 19:26:27.002062 DATA sockfilt for passive data channel started (pid 90537) 19:26:27.005446 DATA sockfilt for passive data channel listens on port 39411 19:26:27.005534 > "229 Entering Passive Mode (|||39411|)[CR][LF]" 19:26:27.005563 Client has been notified that upcoming DATA connection is awaited on port 39411 19:26:27.005840 Client connects to port 39411 19:26:27.005874 ====> Client established passive DATA connection on port 39411 19:26:27.006062 < "TYPE I" 19:26:27.006108 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:27.006301 < "SIZE verifiedserver" 19:26:27.006349 > "213 17[CR][LF]" 19:26:27.006544 < "RETR verifiedserver" 19:26:27.006590 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:27.006701 =====> Closing passive DATA connection... 19:26:27.006724 Server disconnects passive DATA connection 19:26:27.006856 Server disconnected passive DATA connection 19:26:27.006884 DATA sockfilt for passive data channel quits (pid 90537) 19:26:27.007180 DATA sockfilt for passive data channel quit (pid 90537) 19:26:27.007210 =====> Closed passive DATA connection 19:26:27.007237 > "226 File transfer complete[CR][LF]" 19:26:27.055395 < "QUIT" 19:26:27.055475 > "221 bye bye baby[CR][LF]" 19:26:27.056801 MAIN sockfilt said DISC 19:26:27.056844 ====> Client disconnected 19:26:27.056925 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:26.583437 ====> Client connect 19:26:26.584203 Received DATA (on stdin) 19:26:26.584226 > 146 bytes data, server => client 19:26:26.584237 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:26.584248 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:26.584257 '220 \___|\___/|_| \_\_____|\r\n' 19:26:26.584624 < 16 bytes data, client => server 19:26:26.584644 'USER anonymous\r\n' 19:26:26.584861 Received DATA (on stdin) 19:26:26.584876 > 33 bytes data, server => client 19:26:26.584886 '331 We are happy you popped in!\r\n' 19:26:26.584941 < 22 bytes data, client => server 19:26:26.584956 'PASS ftp@example.com\r\n' 19:26:26.587031 Received DATA (on stdin) 19:26:26.587047 > 30 bytes data, server => client 19:26:26.587058 '230 Welcome you silly person\r\n' 19:26:26.590377 < 5 bytes data, client => server 19:26:26.590399 'PWD\r\n' 19:26:26.590579 Received DATA (on stdin) 19:26:26.590592 > 30 bytes data, server => client 19:26:26.590602 '257 "/" is current directory\r\n' 19:26:26.590681 < 6 bytes data, client => server 19:26:26.590696 'EPSV\r\n' 19:26:26.607215 Received DATA (on stdin) 19:26:26.607236 > 39 bytes data, server => client 19:26:26.607247 '229 Entering Passive Mode (|||39411|)\r\n' 19:26:26.607567 < 8 bytes data, client => server 19:26:26.607580 'TYPE I\r\n' 19:26:26.607753 Received DATA (on stdin) 19:26:26.607766 > 33 bytes data, server => client 19:26:26.607777 '200 I modify TYPE as you wanted\r\n' 19:26:26.607832 < 21 bytes data, client => server 19:26:26.607846 'SIZE verifiedserver\r\n' 19:26:26.607992 Received DATA (on stdin) 19:26:26.608006 > 8 bytes data, server => client 19:26:26.608016 '213 17\r\n' 19:26:26.608078 < 21 bytes data, client => server 19:26:26.608093 'RETR verifiedserver\r\n' 19:26:26.608877 Received DATA (on stdin) 19:26:26.608890 > 29 bytes data, server => client 19:26:26.608900 '150 Binary junk (17 bytes).\r\n' 19:26:26.608923 Received DATA (on stdin) 19:26:26.608935 > 28 bytes data, server => client 19:26:26.608945 '226 File transfer complete\r\n' 19:26:26.656828 < 6 bytes data, client => server 19:26:26.656856 'QUIT\r\n' 19:26:26.657139 Received DATA (on stdin) 19:26:26.657156 > 18 bytes data, server => client 19:26:26.657167 '221 bye bye baby\r\n' 19:26:26.658385 ====> Client disconnect 19:26:26.658578 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:26.594402 Running IPv4 version 19:26:26.594510 Listening on port 39411 19:26:26.594555 Wrote pid 90537 to log/2/server/ftp_sockdata.pid 19:26:26.600800 Received PING (on stdin) 19:26:26.603783 Received PORT (on stdin) 19:26:26.607413 ====> Client connect 19:26:26.608365 Received DATA (on stdin) 19:26:26.608381 > 17 bytes data, server => client 19:26:26.608391 'WE ROOLZ: 85208\r\n'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-time http://127.0.0.1:44467/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 19:26:26.608421 Received DISC (on stdin) 19:26:26.608437 ====> Client forcibly disconnected 19:26:26.608531 Received QUIT (on stdin) 19:26:26.608544 quits 19:26:26.608619 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 530 temporarily not available Testnum 195 === End of file server.cmd === Start of file valgrind195 ==90562== ==90562== Process terminating with default action of signal 4 (SIGILL) ==90562== Illegal opcode at address 0x492B75F ==90562== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90562== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90562== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90562== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90562== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90562== by 0x49908EB: curl_version_info (version.c:600) ==90562== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90562== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90562== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90562== by 0x4003269: main (tool_main.c:195) === End of file valgrind195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind198 ../src/curl -q --output log/4/curl198.out --include --trace-ascii log/4/trace198 --trace-time http://127.0.0.1:35735/198 --retry 1000 > log/4/stdout198 2> log/4/stderr198 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind199 ../src/curl -q --output log/22/curl199.out --include --trace-ascii log/22/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35989/{199,199}" -G > log/22/stdout199 2> log/22/stderr199 test 0192 [HTTP GET -w num_connects with one simple connect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-time http://127.0.0.1:44467/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 192: stdout FAILED: --- log/8/check-expected 2026-10-15 19:26:29.775970911 +0000 +++ log/8/check-generated 2026-10-15 19:26:29.772560036 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 8[LF] -Connection: close[LF] -[LF] -monster[LF] -1[LF] == Contents of files in the log/8/ directory after test 192 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 8[LF] Connection: close[LF] [LF] monster[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind192 ../src/curl -q --include --trace-ascii log/8/trace192 --trace-time http://127.0.0.1:44467/192 -w "%{num_connects}\n" > log/8/stdout192 2> log/8/stderr192 === End of file commands.log === Start of file http_server.log 19:26:25.960223 ====> Client connect 19:26:25.960274 accept_connection 3 returned 4 19:26:25.960302 Read 93 bytes 19:26:25.960312 Process 93 bytes request 19:26:25.960325 Got request: GET /verifiedserver HTTP/1.1 19:26:25.960334 Are-we-friendly question received 19:26:25.960364 Wrote request (93 bytes) input to log/8/server.input 19:26:25.960381 Identifying ourselves as friends 19:26:25.960491 Response sent (56 bytes) and written to log/8/server.response 19:26:25.960502 special request received, no persistency 19:26:25.960511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 56600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 192 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind192 ==90272== ==90272== Process terminating with default action of signal 4 (SIGILL) ==90272== Illegal opcode at address 0x492B75F ==90272== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90272== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90272== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90272== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90272== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90272== by 0x49908EB: curl_version_info (version.c:600) ==90272== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90272== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90272== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90272== by 0x4003269: main (tool_main.c:195) === End of file valgrind192 test 0198 [HTTP GET --retry on 503 error with output to file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind198 ../src/curl -q --output log/4/curl198.out --include --trace-ascii log/4/trace198 --trace-time http://127.0.0.1:35735/198 --retry 1000 > log/4/stdout198 2> log/4/stderr198 198: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind198 ../src/curl -q --output log/4/curl198.out --include --trace-ascii log/4/trace198 --trace-time http://127.0.0.1:35735/198 --retry 1000 > log/4/stdout198 2> log/4/stderr198 === End of file commands.log === Start of file http_server.log 19:26:27.767837 ====> Client connect 19:26:27.767881 accept_connection 3 returned 4 19:26:27.767906 Read 93 bytes 19:26:27.767916 Process 93 bytes request 19:26:27.767928 Got request: GET /verifiedserver HTTP/1.1 19:26:27.767937 Are-we-friendly question received 19:26:27.767965 Wrote request (93 bytes) input to log/4/server.input 19:26:27.767982 Identifying ourselves as friends 19:26:27.768064 Response sent (56 bytes) and written to log/4/server.response 19:26:27.768074 special request received, no persistency 19:26:27.768083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 54904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 198 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind198 ==90632== ==90632== Process terminating with default action of signal 4 (SIGILL) ==90632== Illegal opcode at address 0x492B75F ==90632== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90632== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90632== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90632== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90632== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90632== by 0x49908EB: curl_version_info (version.c:600) ==90632== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90632== by 0x4003269: main (tool_main.c:195) === End of file valgrind198 test 0199 [HTTP with -d, -G and {}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind199 ../src/curl -q --output log/22/curl199.out --include --trace-ascii log/22/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35989/{199,199}" -G > log/22/stdout199 2> log/22/stderr199 199: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind199 ../src/curl -q --output log/22/curl199.out --include --trace-ascii log/22/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35989/{199,199}" -G > log/22/stdout199 2> log/22/stderr199 === End of file commands.log === Start of file http_server.log 19:26:27.003895 ====> Client connect 19:26:27.003945 accept_connection 3 returned 4 19:26:27.003976 Read 93 bytes 19:26:27.003988 Process 93 bytes request 19:26:27.004003 Got request: GET /verifiedserver HTTP/1.1 19:26:27.004012 Are-we-friendly question received 19:26:27.004047 Wrote request (93 bytes) input to log/22/server.input 19:26:27.004069 Identifying CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind202 ../src/curl -q --trace-ascii log/10/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/10/test202.txt > log/10/stdout202 2> log/10/stderr202 ourselves as friends 19:26:27.004174 Response sent (56 bytes) and written to log/22/server.response 19:26:27.004188 special request received, no persistency 19:26:27.004198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 41660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 199 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind199 ==90830== ==90830== Process terminating with default action of signal 4 (SIGILL) ==90830== Illegal opcode at address 0x492B75F ==90830== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90830== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90830== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90830== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90830== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90830== by 0x49908EB: curl_version_info (version.c:600) ==90830== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90830== by 0x4003269: main (tool_main.c:195) === End of file valgrind199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind201 ../src/curl -q --output log/5/curl201.out --include --trace-ascii log/5/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt > log/5/stdout201 2> log/5/stderr201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/stderr203 test 0202 [two file:// URLs to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind202 ../src/curl -q --trace-ascii log/10/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/10/test202.txt > log/10/stdout202 2> log/10/stderr202 202: stdout FAILED: --- log/10/check-expected 2026-10-15 19:26:30.016008788 +0000 +++ log/10/check-generated 2026-10-15 19:26:30.012502128 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/10/ directory after test 202 === Start of file check-expected contents in a single file[LF] contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind202 ../src/curl -q --trace-ascii log/10/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/10/test202.txt > log/10/stdout202 2> log/10/stderr202 === End of file commands.log === Start of file server.cmd Testnum 202 === End of file server.cmd === Start of file test202.txt contents in a single file === End of file test202.txt === Start of file valgrind202 ==90943== ==90943== Process terminating with default action of signal 4 (SIGILL) ==90943== Illegal opcode at address 0x492B75F ==90943== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90943== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90943== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90943== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90943== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90943== by 0x49908EB: curl_version_info (version.c:600) ==90943== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90943== by 0x4003269: main (tool_main.c:195) === End of file valgrind202 test 0201 [missing file:// file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind201 ../src/curl -q --output log/5/curl201.out --include --trace-ascii log/5/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt > log/5/stdout201 2> log/5/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/5/ directory after test 201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind201 ../src/curl -q --output log/5/curl201.out --include --trace-ascii log/5/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/5/non-existent-file.txt > log/5/stdout201 2> log/5/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==90769== ==90769== Process terminating with default action of signal 4 (SIGILL) ==90769== Illegal opcode at address 0x492B75F ==90769== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90769== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90769== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90769== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90769== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90769== by 0x49908EB: curl_version_info (version.c:600) ==90769== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90769== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90769== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90769== by 0x4003269: main (tool_main.c:195) === End of file valgrind201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind207 ../src/curl -q --output log/12/curl207.out --include --trace-ascii log/12/trace207 --trace-time http://127.0.0.1:40921/207 > log/12/stdout207 2> log/12/stderr207 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind215 ../src/curl -q --output log/3/curl215.out --include --trace-ascii log/3/trace215 --trace-time ftp://127.0.0.1:42249/a/path/215/ ftp://127.0.0.1:42249/a/path/215/ > log/3/stdout215 2> log/3/stderr215 setenv MSYS2_ARG_CONV_EXCL = file: test 0203 [file:/path URL with a single slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/stderr203 203: data FAILED: --- log/9/check-expected 2026-10-15 19:26:30.272328516 +0000 +++ log/9/check-generated 2026-10-15 19:26:30.269107168 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/9/ directory after test 203 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind203 ../src/curl -q --output log/9/curl203.out --trace-ascii log/9/trace203 --trace-time file:/startdir/src/build-curl/tests/log/9/test203.txt > log/9/stdout203 2> log/9/stderr203 === End of file commands.log === Start of file server.cmd Testnum 203 === End of file server.cmd === Start of file test203.txt foo bar bar foo moo === End of file test203.txt === Start of file valgrind203 ==90947== ==90947== Process terminating with default action of signal 4 (SIGILL) ==90947== Illegal opcode at address 0x492B75F ==90947== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==90947== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==90947== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==90947== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==90947== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==90947== by 0x49908EB: curl_version_info (version.c:600) ==90947== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==90947== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==90947== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==90947== by 0x4003269: main (tool_main.c:195) === End of file valgrind203 test 0207 [HTTP GET with chunked Transfer-Encoding closed prematurely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind207 ../src/curl -q --output log/12/curl207.out --include --trace-ascii log/12/trace207 --trace-time http://127.0.0.1:40921/207 > log/12/stdout207 2> log/12/stderr207 207: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind207 ../src/curl -q --output log/12/curl207.out --include --trace-ascii log/12/trace207 --trace-time http://127.0.0.1:40921/207 > log/12/stdout207 2> log/12/stderr207 === End of file commands.log === Start of file http_server.log 19:26:27.799886 ====> Client connect 19:26:27.799917 accept_connection 3 returned 4 19:26:27.799938 Read 93 bytes 19:26:27.799948 Process 93 bytes request 19:26:27.799959 Got request: GET /verifiedserver HTTP/1.1 19:26:27.799968 Are-we-friendly question received 19:26:27.799996 Wrote request (93 bytes) input to log/12/server.input 19:26:27.800013 Identifying ourselves as friends 19:26:27.800083 Response sent (56 bytes) and written to log/12/server.response 19:26:27.800092 special request received, no persistency 19:26:27.800100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 207 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind207 ==91250== ==91250== Process terminating with default action of signal 4 (SIGILL) ==91250== Illegal opcode at address 0x492B75F ==91250== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91250== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91250== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91250== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91250== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91250== by 0x49908EB: curl_version_info (version.c:600) ==91250== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91250== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91250== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91250== by 0x4003269: main (tool_main.c:195) === End of file valgrind207 test 0215 [Get two FTP dir listings from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind215 ../src/curl -q --output log/3/curl215.out --include --trace-ascii log/3/trace215 --trace-time ftp://127.0.0.1:42249/a/path/215/ ftp://127.0.0.1:42249/a/path/215/ > log/3/stdout215 2> log/3/stderr215 215: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind215 ../src/curl -q --output log/3/curl215.out --include --trace-ascii log/3/trace215 --trace-time ftp://127.0.0.1:42249/a/path/215/ ftp://127.0.0.1:42249/a/path/215/ > log/3/stdout215 2> log/3/stderr215 === End of file commands.log === Start of file ftp_server.log 19:26:28.448698 ====> Client connect 19:26:28.448949 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:28.449301 < "USER anonymous" 19:26:28.449383 > "331 We are happy you popped in![CR][LF]" 19:26:28.449550 < "PASS ftp@example.com" 19:26:28.449648 > "230 Welcome you silly person[CR][LF]" 19:26:28.449787 < "PWD" 19:26:28.449829 > "257 "/" is current directory[CR][LF]" 19:26:28.450026 < "EPSV" 19:26:28.450063 ====> Passive DATA channel requested by client 19:26:28.450082 DATA sockfilt for passive data channel starting... 19:26:28.456652 DATA sockfilt for passive data channel started (pid 91512) 19:26:28.456808 DATA sockfilt for passive data channel listens on port 32865 19:26:28.456866 > "229 Entering Passive Mode (|||32865|)[CR][LF]" 19:26:28.456885 Client has been notified that upcoming DATA connection is awaited on port 32865 19:26:28.462096 Client connects to port 32865 19:26:28.462163 ====> Client established passive DATA connection on port 32865 19:26:28.462304 < "TYPE I" 19:26:28.462348 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:28.462847 < "SIZE verifiedserver" 19:26:28.462918 > "213 17[CR][LF]" 19:26:28.464222 < "RETR verifiedserver" 19:26:28.464297 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:28.464394 =====> Closing passive DATA connection... 19:26:28.464411 Server disconnects passive DATA connection 19:26:28.468708 Server disconnected passive DATA connection 19:26:28.468773 DATA sockfilt for passive data channel quits (pid 915CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind210 ../src/curl -q --output log/23/curl210.out --trace-ascii log/23/trace210 --trace-time ftp://127.0.0.1:35523/a/path/210 ftp://127.0.0.1:35523/a/path/210 > log/23/stdout210 2> log/23/stderr210 12) 19:26:28.475394 DATA sockfilt for passive data channel quit (pid 91512) 19:26:28.475463 =====> Closed passive DATA connection 19:26:28.475508 > "226 File transfer complete[CR][LF]" 19:26:28.512211 < "QUIT" 19:26:28.512264 > "221 bye bye baby[CR][LF]" 19:26:28.513564 MAIN sockfilt said DISC 19:26:28.513605 ====> Client disconnected 19:26:28.513686 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:29.050540 ====> Client connect 19:26:29.050957 Received DATA (on stdin) 19:26:29.050975 > 146 bytes data, server => client 19:26:29.050987 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:29.050997 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:29.051007 '220 \___|\___/|_| \_\_____|\r\n' 19:26:29.051105 < 16 bytes data, client => server 19:26:29.051121 'USER anonymous\r\n' 19:26:29.051306 Received DATA (on stdin) 19:26:29.051321 > 33 bytes data, server => client 19:26:29.051377 '331 We are happy you popped in!\r\n' 19:26:29.051432 < 22 bytes data, client => server 19:26:29.051446 'PASS ftp@example.com\r\n' 19:26:29.051550 Received DATA (on stdin) 19:26:29.051563 > 30 bytes data, server => client 19:26:29.051582 '230 Welcome you silly person\r\n' 19:26:29.051677 < 5 bytes data, client => server 19:26:29.051691 'PWD\r\n' 19:26:29.051826 Received DATA (on stdin) 19:26:29.051839 > 30 bytes data, server => client 19:26:29.051849 '257 "/" is current directory\r\n' 19:26:29.051916 < 6 bytes data, client => server 19:26:29.051930 'EPSV\r\n' 19:26:29.058884 Received DATA (on stdin) 19:26:29.058902 > 39 bytes data, server => client 19:26:29.058913 '229 Entering Passive Mode (|||32865|)\r\n' 19:26:29.060858 < 8 bytes data, client => server 19:26:29.060890 'TYPE I\r\n' 19:26:29.064508 Received DATA (on stdin) 19:26:29.064541 > 33 bytes data, server => client 19:26:29.064553 '200 I modify TYPE as you wanted\r\n' 19:26:29.064644 < 21 bytes data, client => server 19:26:29.064656 'SIZE verifiedserver\r\n' 19:26:29.066014 Received DATA (on stdin) 19:26:29.066033 > 8 bytes data, server => client 19:26:29.066044 '213 17\r\n' 19:26:29.066107 < 21 bytes data, client => server 19:26:29.066120 'RETR verifiedserver\r\n' 19:26:29.066472 Received DATA (on stdin) 19:26:29.066496 > 29 bytes data, server => client 19:26:29.066506 '150 Binary junk (17 bytes).\r\n' 19:26:29.077518 Received DATA (on stdin) 19:26:29.077543 > 28 bytes data, server => client 19:26:29.077554 '226 File transfer complete\r\n' 19:26:29.114016 < 6 bytes data, client => server 19:26:29.114051 'QUIT\r\n' 19:26:29.114269 Received DATA (on stdin) 19:26:29.114281 > 18 bytes data, server => client 19:26:29.114290 '221 bye bye baby\r\n' 19:26:29.115493 ====> Client disconnect 19:26:29.115686 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:28.058209 Running IPv4 version 19:26:28.058317 Listening on port 32865 19:26:28.058364 Wrote pid 91512 to log/3/server/ftp_sockdata.pid 19:26:28.058572 Received PING (on stdin) 19:26:28.058689 Received PORT (on stdin) 19:26:28.064002 ====> Client connect 19:26:28.067336 Received DATA (on stdin) 19:26:28.067362 > 17 bytes data, server => client 19:26:28.067373 'WE ROOLZ: 84710\r\n' 19:26:28.067411 Received DISC (on stdin) 19:26:28.067424 ====> Client forcibly disconnected 19:26:28.074005 Received QUIT (on stdin) 19:26:28.074033 quits 19:26:28.074115 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==91593== ==91593== Process terminating with default action of signal 4 (SIGILL) ==91593== Illegal opcode at address 0x492B75F ==91593== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91593== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91593== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91593== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91593== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91593== by 0x49908EB: curl_version_info (version.c:600) ==91593== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91593== by 0x4003269: main (tool_main.c:195) === End of file valgrind215 test 0210 [Get two FTP files from the same remote dir: no second CWD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind210 ../src/curl -q --output log/23/curl210.out --trace-ascii log/23/trace210 --trace-time ftp://127.0.0.1:35523/a/path/210 ftp://127.0.0.1:35523/a/path/210 > log/23/stdout210 2> log/23/stderr210 210: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind210 ../src/curl -q --output log/23/curl210.out --trace-ascii log/23/trace210 --trace-time ftp://127.0.0.1:35523/a/path/210 ftp://127.0.0.1:35523/a/path/210 > log/23/stdout210 2> log/23/stderr210 === End of file commands.log === Start of file ftp_server.log 19:26:28.198151 ====> Client connect 19:26:28.200228 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:28.215619 < "USER anonymous" 19:26:28.215673 > "331 We are happy you popped in![CR][LF]" 19:26:28.215925 < "PASS ftp@example.com" 19:26:28.215959 > "230 Welcome you silly person[CR][LF]" 19:26:28.216117 < "PWD" 19:26:28.216151 > "257 "/" is current directory[CR][LF]" 19:26:28.216312 < "EPSV" 19:26:28.216336 ====> Passive DATA channel requested by client 19:26:28.216351 DATA sockfilt for passive data channel starting... 19:26:28.223220 DATA sockfilt for passive data channel started (pid 91240) 19:26:28.223358 DATA sockfilt for passive data channel listens on port 39585 19:26:28.223413 > "229 Entering Passive Mode (|||39585|)[CR][LF]" 19:26:28.223437 Client has been notified that upcoming DATA connection is awaited on port 39585 19:26:28.228754 Client connects to port 39585 19:26:28.228803 ====> Client established passive DATA connection on port 39585 19:26:28.228925 < "TYPE I" 19:26:28.228971 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:28.229223 < "SIZE verifiedserver" 19:26:28.229273 > "213 17[CR][LF]" 19:26:28.229460 < "RETR verifiedserver" 19:26:28.229502 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:28.229597 =====> Closing passive DATA connection... 19:26:28.229617 Server disconnects passive DATA connection 19:26:28.229892 Server disconnected passive DATA connection 19:26:28.229924 DATA sockfilt for passive data channel quits (pid 91240) 19:26:28.230172 DATA sockfilt for passive data channel quit (pid 91240) 19:26:28.230203 =====> Closed passive DATA connection 19:26:28.230235 > "226 File transfer complete[CR][LF]" 19:26:28.278887 < "QUIT" 19:26:28.278958 > "221 bye bye baby[CR][LF]" 19:26:28.280275 MAIN sockfilt said DISC 19:26:28.280319 ====> Client disconnected 19:26:28.280400 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:28.799972 ====> Client connect 19:26:28.802054 Received DATA (on stdin) 19:26:28.802093 > 146 bytes data, server => client 19:26:28.802181 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:28.802193 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:28.802202 '220 \___|\___/|_| \_\_____|\r\n' 19:26:28.817321 < 16 bytes data, client => server 19:26:28.817354 'USER anonymous\r\n' 19:26:28.817608 Received DATA (on stdin) 19:26:28.817620 > 33 bytes data, server => client 19:26:28.817631 '331 We are happy you popped inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/stderr205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind204 ../src/curl -q --output log/21/curl204.out --trace-ascii log/21/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result204.txt -T log/21/upload204.txt > log/21/stdout204 2> log/21/stderr204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind206 ../src/curl -q --output log/6/curl206.out --include --trace-ascii log/6/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:33935 --proxy-user=silly:person --proxy-digest --proxytunnel > log/6/stdout206 2> log/6/stderr206 !\r\n' 19:26:28.817741 < 22 bytes data, client => server 19:26:28.817753 'PASS ftp@example.com\r\n' 19:26:28.817887 Received DATA (on stdin) 19:26:28.817898 > 30 bytes data, server => client 19:26:28.817909 '230 Welcome you silly person\r\n' 19:26:28.817962 < 5 bytes data, client => server 19:26:28.817972 'PWD\r\n' 19:26:28.818078 Received DATA (on stdin) 19:26:28.818088 > 30 bytes data, server => client 19:26:28.818098 '257 "/" is current directory\r\n' 19:26:28.818160 < 6 bytes data, client => server 19:26:28.818170 'EPSV\r\n' 19:26:28.827275 Received DATA (on stdin) 19:26:28.827305 > 39 bytes data, server => client 19:26:28.827316 '229 Entering Passive Mode (|||39585|)\r\n' 19:26:28.827506 < 8 bytes data, client => server 19:26:28.827523 'TYPE I\r\n' 19:26:28.830919 Received DATA (on stdin) 19:26:28.830937 > 33 bytes data, server => client 19:26:28.830948 '200 I modify TYPE as you wanted\r\n' 19:26:28.831039 < 21 bytes data, client => server 19:26:28.831055 'SIZE verifiedserver\r\n' 19:26:28.831210 Received DATA (on stdin) 19:26:28.831223 > 8 bytes data, server => client 19:26:28.831232 '213 17\r\n' 19:26:28.831296 < 21 bytes data, client => server 19:26:28.831310 'RETR verifiedserver\r\n' 19:26:28.831553 Received DATA (on stdin) 19:26:28.831565 > 29 bytes data, server => client 19:26:28.831575 '150 Binary junk (17 bytes).\r\n' 19:26:28.832173 Received DATA (on stdin) 19:26:28.832186 > 28 bytes data, server => client 19:26:28.832196 '226 File transfer complete\r\n' 19:26:28.880622 < 6 bytes data, client => server 19:26:28.880650 'QUIT\r\n' 19:26:28.880913 Received DATA (on stdin) 19:26:28.880928 > 18 bytes data, server => client 19:26:28.880937 '221 bye bye baby\r\n' 19:26:28.882159 ====> Client disconnect 19:26:28.882349 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:28.824770 Running IPv4 version 19:26:28.824860 Listening on port 39585 19:26:28.824900 Wrote pid 91240 to log/23/server/ftp_sockdata.pid 19:26:28.825081 Received PING (on stdin) 19:26:28.825189 Received PORT (on stdin) 19:26:28.830618 ====> Client connect 19:26:28.831646 Received DATA (on stdin) 19:26:28.831663 > 17 bytes data, server => client 19:26:28.831673 'WE ROOLZ: 84709\r\n' 19:26:28.831704 Received DISC (on stdin) 19:26:28.831716 ====> Client forcibly disconnected 19:26:28.831866 Received QUIT (on stdin) 19:26:28.831877 quits 19:26:28.831942 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==91334== ==91334== Process terminating with default action of signal 4 (SIGILL) ==91334== Illegal opcode at address 0x492B75F ==91334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91334== by 0x49908EB: curl_version_info (version.c:600) ==91334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91334== by 0x4003269: main (tool_main.c:195) === End of file valgrind210 test 0205 ["upload" nonexisting with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/17/ directory after test 205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/stderr205 === End of file commands.log === Start of file server.cmd Testnum 205 === End of file server.cmd === Start of file upload205.txt data in file to write === End of file upload205.txt === Start of file valgrind205 ==91082== ==91082== Process terminating with default action of signal 4 (SIGILL) ==91082== Illegal opcode at address 0x492B75F ==91082== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91082== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91082== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91082== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91082== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91082== by 0x49908EB: curl_version_info (version.c:600) ==91082== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91082== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91082== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91082== by 0x4003269: main (tool_main.c:195) === End of file valgrind205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind216 ../src/curl -q --output log/15/curl216.out --include --trace-ascii log/15/trace216 --trace-time -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/ -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/%2e%2eanotherup.216 > log/15/stdout216 2> log/15/stderr216 test 0204 ["upload" with file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind204 ../src/curl -q --output log/21/curl204.out --trace-ascii log/21/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result204.txt -T log/21/upload204.txt > log/21/stdout204 2> log/21/stderr204 204: output (log/21/result204.txt) FAILED: --- log/21/check-expected 2026-10-15 19:26:30.859338890 +0000 +++ log/21/check-generated 2026-10-15 19:26:30.855632977 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/21/ directory after test 204 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind204 ../src/curl -q --output log/21/curl204.out --trace-ascii log/21/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/result204.txt -T log/21/upload204.txt > log/21/stdout204 2> log/21/stderr204 === End of file commands.log === Start of file server.cmd Testnum 204 === End of file server.cmd === Start of file upload204.txt data in file to write === End of file upload204.txt === Start of file valgrind204 ==91048== ==91048== Process terminating with default action of signal 4 (SIGILL) ==91048== Illegal opcode at address 0x492B75F ==91048== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91048== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91048== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91048== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91048== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91048== by 0x49908EB: curl_version_info (version.c:600) ==91048== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91048== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91048== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91048== by 0x4003269: main (tool_main.c:195) === End of file valgrind204 test 0206 [HTTP proxy CONNECT auth Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind206 ../src/curl -q --output log/6/curl206.out --include --trace-ascii log/6/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:33935 --proxy-user=silly:person --proxy-digest --proxytunnel > log/6/stdout206 2> log/6/stderr206 206: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind206 ../src/curl -q --output log/6/curl206.out --include --trace-ascii log/6/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:33935 --proxy-user=silly:person --proxy-digest --proxytunnel > log/6/stdout206 2> log/6/stderr206 === End of file commands.log === Start of file http_server.log 19:26:27.780663 ====> Client connect 19:26:27.780706 accept_connection 3 returned 4 19:26:27.782151 Read 93 bytes 19:26:27.782171 Process 93 bytes request 19:26:27.782185 Got request: GET /verifiedserver HTTP/1.1 19:26:27.782194 Are-we-friendly question received 19:26:27.782228 Wrote request (93 bytes) input to log/6/server.input 19:26:27.782247 Identifying ourselves as friends 19:26:27.782326 Response sent (56 bytes) and written to log/6/server.response 19:26:27.782338 special request received, no persistency 19:26:27.782346 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 56514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd connection-monitor auth_required Testnum 206 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind206 ==91251== ==91251== Process terminating with default action of signal 4 (SIGILL) ==91251== Illegal opcode at address 0x492B75F ==91251== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91251== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91251== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91251== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91251== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91251== by 0x49908EB: curl_version_info (version.c:600) ==91251== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91251== by 0x4003269: main (tool_main.c:195) === End of file valgrind206 test 0216 [FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind216 ../src/curl -q --output log/15/curl216.out --include --trace-ascii log/15/trace216 --trace-time -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/ -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/%2e%2eanotherup.216 > log/15/stdout216 2> log/15/stderr216 216: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind216 ../src/curl -q --output log/15/curl216.out --include --trace-ascii log/15/trace216 --trace-time -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/ -T log/15/upload.216 ftp://127.0.0.1:44883/a/path/216/%2e%2eanotherup.216 > log/15/stdout216 2> log/15/stderr216 === End of file commands.log === Start of file ftp_server.log 19:26:28.595497 ====> Client connect 19:26:28.595810 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:28.598905 < "USER anonymous" 19:26:28.598946 > "331 We are happy you popped in![CR][LF]" 19:26:28.599134 < "PASS ftp@example.com" 19:26:28.599167 > "230 Welcome you silly person[CR][LF]" 19:26:28.599330 < "PWD" 19:26:28.599362 > "257 "/" is current directory[CR][LF]" 19:26:28.599542 < "EPSV" 19:26:28.599569 ====> Passive DATA channel requested by client 19:26:28.599584 DATA sockfilt for passive data channel starting... 19:26:28.603380 DATA sockfilt for passive data channel started (pid 91646) 19:26:28.603495 DATA sockfilt for passive data channel listens on port 38563 19:26:28.603538 > "229 Entering Passive Mode (|||38563|)[CR][LF]" 19:26:28.603555 Client has been notified that upcoming DATA connection is awaited on port 38563 19:26:28.603841 Client connects to port 38563 19:26:28.603871 ====> Client established passive DATA connection on port 38563 19:26:28.603949 < "TYPE I" 19:26:28.603979 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:28.604134 < "SIZE verifiedserver" 19:26:28.6CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind212 ../src/curl -q --output log/7/curl212.out --include --trace-ascii log/7/trace212 --trace-time ftp://127.0.0.1:44283/a/path/212 ftp://127.0.0.1:44283/a/path/212 -P - > log/7/stdout212 2> log/7/stderr212 04173 > "213 17[CR][LF]" 19:26:28.604326 < "RETR verifiedserver" 19:26:28.604357 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:28.604442 =====> Closing passive DATA connection... 19:26:28.604459 Server disconnects passive DATA connection 19:26:28.604688 Server disconnected passive DATA connection 19:26:28.604716 DATA sockfilt for passive data channel quits (pid 91646) 19:26:28.604956 DATA sockfilt for passive data channel quit (pid 91646) 19:26:28.604984 =====> Closed passive DATA connection 19:26:28.605010 > "226 File transfer complete[CR][LF]" 19:26:28.649085 < "QUIT" 19:26:28.649157 > "221 bye bye baby[CR][LF]" 19:26:28.650455 MAIN sockfilt said DISC 19:26:28.650510 ====> Client disconnected 19:26:28.650597 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:28.197375 ====> Client connect 19:26:28.197696 Received DATA (on stdin) 19:26:28.197711 > 146 bytes data, server => client 19:26:28.197729 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:28.197739 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:28.197746 '220 \___|\___/|_| \_\_____|\r\n' 19:26:28.200748 < 16 bytes data, client => server 19:26:28.200768 'USER anonymous\r\n' 19:26:28.200972 Received DATA (on stdin) 19:26:28.200983 > 33 bytes data, server => client 19:26:28.200993 '331 We are happy you popped in!\r\n' 19:26:28.201058 < 22 bytes data, client => server 19:26:28.201071 'PASS ftp@example.com\r\n' 19:26:28.201190 Received DATA (on stdin) 19:26:28.201200 > 30 bytes data, server => client 19:26:28.201210 '230 Welcome you silly person\r\n' 19:26:28.201266 < 5 bytes data, client => server 19:26:28.201277 'PWD\r\n' 19:26:28.201382 Received DATA (on stdin) 19:26:28.201392 > 30 bytes data, server => client 19:26:28.201402 '257 "/" is current directory\r\n' 19:26:28.201469 < 6 bytes data, client => server 19:26:28.201484 'EPSV\r\n' 19:26:28.205584 Received DATA (on stdin) 19:26:28.205598 > 39 bytes data, server => client 19:26:28.205608 '229 Entering Passive Mode (|||38563|)\r\n' 19:26:28.205787 < 8 bytes data, client => server 19:26:28.205801 'TYPE I\r\n' 19:26:28.206002 Received DATA (on stdin) 19:26:28.206013 > 33 bytes data, server => client 19:26:28.206022 '200 I modify TYPE as you wanted\r\n' 19:26:28.206075 < 21 bytes data, client => server 19:26:28.206086 'SIZE verifiedserver\r\n' 19:26:28.206195 Received DATA (on stdin) 19:26:28.206205 > 8 bytes data, server => client 19:26:28.206214 '213 17\r\n' 19:26:28.206265 < 21 bytes data, client => server 19:26:28.206276 'RETR verifiedserver\r\n' 19:26:28.206483 Received DATA (on stdin) 19:26:28.206497 > 29 bytes data, server => client 19:26:28.206507 '150 Binary junk (17 bytes).\r\n' 19:26:28.207033 Received DATA (on stdin) 19:26:28.207044 > 28 bytes data, server => client 19:26:28.207054 '226 File transfer complete\r\n' 19:26:28.250859 < 6 bytes data, client => server 19:26:28.250897 'QUIT\r\n' 19:26:28.251209 Received DATA (on stdin) 19:26:28.251227 > 18 bytes data, server => client 19:26:28.251237 '221 bye bye baby\r\n' 19:26:28.252425 ====> Client disconnect 19:26:28.252639 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:28.205071 Running IPv4 version 19:26:28.205156 Listening on port 38563 19:26:28.205196 Wrote pid 91646 to log/15/server/ftp_sockdata.pid 19:26:28.205345 Received PING (on stdin) 19:26:28.205430 Received PORT (on stdin) 19:26:28.205819 ====> Client connect 19:26:28.206562 Received DATA (on stdin) 19:26:28.206574 > 17 bytes data, server => client 19:26:28.206585 'WE ROOLZ: 84744\r\n' 19:26:28.206610 Received DISC (on stdin) 19:26:28.206620 ====> Client forcibly disconnected 19:26:28.206747 Received QUIT (on stdin) 19:26:28.206759 quits 19:26:28.206824 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 216 === End of file server.cmd === Start of file upload.216 upload this file twice === End of file upload.216 === Start of file valgrind216 ==91679== ==91679== Process terminating with default action of signal 4 (SIGILL) ==91679== Illegal opcode at address 0x492B75F ==91679== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91679== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91679== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91679== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91679== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91679== by 0x49908EB: curl_version_info (version.c:600) ==91679== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91679== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91679== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91679== by 0x4003269: main (tool_main.c:195) === End of file valgrind216 test 0212 [Get two FTP files with no remote EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind212 ../src/curl -q --output log/7/curl212.out --include --trace-ascii log/7/trace212 --trace-time ftp://127.0.0.1:44283/a/path/212 ftp://127.0.0.1:44283/a/path/212 -P - > log/7/stdout212 2> log/7/stderr212 212: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind212 ../src/curl -q --output log/7/curl212.out --include --trace-ascii log/7/trace212 --trace-time ftp://127.0.0.1:44283/a/path/212 ftp://127.0.0.1:44283/a/path/212 -P - > log/7/stdout212 2> log/7/stderr212 === End of file commands.log === Start of file ftp_server.log 19:26:28.235651 ====> Client connect 19:26:28.235849 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:28.236107 < "USER anonymous" 19:26:28.236137 > "331 We are happy you popped in![CR][LF]" 19:26:28.236278 < "PASS ftp@example.com" 19:26:28.236301 > "230 Welcome you silly person[CR][LF]" 19:26:28.236441 < "PWD" 19:26:28.236471 > "257 "/" is current directory[CR][LF]" 19:26:28.236632 < "EPSV" 19:26:28.236658 ====> Passive DATA channel requested by client 19:26:28.236671 DATA sockfilt for passive data channel starting... 19:26:28.248932 DATA sockfilt for passive data channel started (pid 91258) 19:26:28.249085 DATA sockfilt for passive data channel listens on port 46705 19:26:28.249134 > "229 Entering Passive Mode (|||46705|)[CR][LF]" 19:26:28.249151 Client has been notified that upcoming DATA connection is awaited on port 46705 19:26:28.249467 Client connects to port 46705 19:26:28.249496 ====> Client established passive DATA connection on port 46705 19:26:28.249593 < "TYPE I" 19:26:28.249630 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:28.249804 < "SIZE verifiedserver" 19:26:28.249848 > "213 17[CR][LF]" 19:26:28.250024 < "RETR verifiedserver" 19:26:28.250059 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:28.250158 =====> Closing passive DATA connection... 19:26:28.250179 Server disconnects passive DATA connection 19:26:28.250416 Server disconnected passive DATA connection 19:26:28.250445 DATA sockfilt for passive data channel quits (pid 91258) 19:26:28.250751 DATA sockfilt for passive data channel quit (pid 91258) 19:26:28.250779 =====> Closed passive DATA connection 19:26:28.250807 > "226 File transfer complete[CR][LF]" 19:26:28.293607 < "QUIT" 19:26:28.293663 > "221 bye bye baby[CR][LF]" 19:26:28.295048 MAIN sockfilt said DISC 19:26:28.295078 ====> Client disconnected 19:26:28.295143 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:28.837474 ====> Client connect 19:26:28.837792 Received DATA (on stdin) 19:26:28.837809 > 146 bytes data, serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind211 ../src/curl -q --output log/11/curl211.out --include --trace-ascii log/11/trace211 --trace-time ftp://127.0.0.1:37735/a/path/211 ftp://127.0.0.1:37735/a/path/211 > log/11/stdout211 2> log/11/stderr211 ver => client 19:26:28.837819 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:28.837829 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:28.837837 '220 \___|\___/|_| \_\_____|\r\n' 19:26:28.837901 < 16 bytes data, client => server 19:26:28.837911 'USER anonymous\r\n' 19:26:28.838070 Received DATA (on stdin) 19:26:28.838080 > 33 bytes data, server => client 19:26:28.838088 '331 We are happy you popped in!\r\n' 19:26:28.838134 < 22 bytes data, client => server 19:26:28.838143 'PASS ftp@example.com\r\n' 19:26:28.838233 Received DATA (on stdin) 19:26:28.838243 > 30 bytes data, server => client 19:26:28.838252 '230 Welcome you silly person\r\n' 19:26:28.838299 < 5 bytes data, client => server 19:26:28.838308 'PWD\r\n' 19:26:28.838404 Received DATA (on stdin) 19:26:28.838415 > 30 bytes data, server => client 19:26:28.838424 '257 "/" is current directory\r\n' 19:26:28.838483 < 6 bytes data, client => server 19:26:28.838493 'EPSV\r\n' 19:26:28.851096 Received DATA (on stdin) 19:26:28.851114 > 39 bytes data, server => client 19:26:28.851124 '229 Entering Passive Mode (|||46705|)\r\n' 19:26:28.851351 < 8 bytes data, client => server 19:26:28.851362 'TYPE I\r\n' 19:26:28.851572 Received DATA (on stdin) 19:26:28.851583 > 33 bytes data, server => client 19:26:28.851593 '200 I modify TYPE as you wanted\r\n' 19:26:28.851649 < 21 bytes data, client => server 19:26:28.851662 'SIZE verifiedserver\r\n' 19:26:28.851789 Received DATA (on stdin) 19:26:28.851801 > 8 bytes data, server => client 19:26:28.851815 '213 17\r\n' 19:26:28.851872 < 21 bytes data, client => server 19:26:28.851885 'RETR verifiedserver\r\n' 19:26:28.852121 Received DATA (on stdin) 19:26:28.852133 > 29 bytes data, server => client 19:26:28.852143 '150 Binary junk (17 bytes).\r\n' 19:26:28.852747 Received DATA (on stdin) 19:26:28.852758 > 28 bytes data, server => client 19:26:28.852768 '226 File transfer complete\r\n' 19:26:28.895379 < 6 bytes data, client => server 19:26:28.895411 'QUIT\r\n' 19:26:28.895617 Received DATA (on stdin) 19:26:28.895629 > 18 bytes data, server => client 19:26:28.895640 '221 bye bye baby\r\n' 19:26:28.896944 ====> Client disconnect 19:26:28.897087 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:28.850432 Running IPv4 version 19:26:28.850543 Listening on port 46705 19:26:28.850608 Wrote pid 91258 to log/7/server/ftp_sockdata.pid 19:26:28.850786 Received PING (on stdin) 19:26:28.850918 Received PORT (on stdin) 19:26:28.851324 ====> Client connect 19:26:28.852173 Received DATA (on stdin) 19:26:28.852184 > 17 bytes data, server => client 19:26:28.852194 'WE ROOLZ: 84721\r\n' 19:26:28.852219 Received DISC (on stdin) 19:26:28.852231 ====> Client forcibly disconnected 19:26:28.852391 Received QUIT (on stdin) 19:26:28.852403 quits 19:26:28.852476 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 no such command Testnum 212 === End of file server.cmd === Start of file valgrind212 ==91344== ==91344== Process terminating with default action of signal 4 (SIGILL) ==91344== Illegal opcode at address 0x492B75F ==91344== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91344== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91344== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91344== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91344== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91344== by 0x49908EB: curl_version_info (version.c:600) ==91344== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91344== by 0x4003269: main (tool_main.c:195) === End of file valgrind212 test 0211 [Get two FTP files with no remote EPSV support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind211 ../src/curl -q --output log/11/curl211.out --include --trace-ascii log/11/trace211 --trace-time ftp://127.0.0.1:37735/a/path/211 ftp://127.0.0.1:37735/a/path/211 > log/11/stdout211 2> log/11/stderr211 211: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind211 ../src/curl -q --output log/11/curl211.out --include --trace-ascii log/11/trace211 --trace-time ftp://127.0.0.1:37735/a/path/211 ftp://127.0.0.1:37735/a/path/211 > log/11/stdout211 2> log/11/stderr211 === End of file commands.log === Start of file ftp_server.log 19:26:28.195479 ====> Client connect 19:26:28.195730 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:28.196082 < "USER anonymous" 19:26:28.196125 > "331 We are happy you popped in![CR][LF]" 19:26:28.196346 < "PASS ftp@example.com" 19:26:28.196384 > "230 Welcome you silly person[CR][LF]" 19:26:28.196605 < "PWD" 19:26:28.196644 > "257 "/" is current directory[CR][LF]" 19:26:28.196837 < "EPSV" 19:26:28.196863 ====> Passive DATA channel requested by client 19:26:28.196878 DATA sockfilt for passive data channel starting... 19:26:28.206558 DATA sockfilt for passive data channel started (pid 91226) 19:26:28.206697 DATA sockfilt for passive data channel listens on port 37701 19:26:28.206750 > "229 Entering Passive Mode (|||37701|)[CR][LF]" 19:26:28.206770 Client has been notified that upcoming DATA connection is awaited on port 37701 19:26:28.222237 Client connects to port 37701 19:26:28.222306 ====> Client established passive DATA connection on port 37701 19:26:28.222420 < "TYPE I" 19:26:28.222457 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:28.226160 < "SIZE verifiedserver" 19:26:28.226220 > "213 17[CR][LF]" 19:26:28.238800 < "RETR verifiedserver" 19:26:28.238878 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:28.239013 =====> Closing passive DATA connection... 19:26:28.239042 Server disconnects passive DATA connection 19:26:28.239209 Server disconnected passive DATA connection 19:26:28.239243 DATA sockfilt for passive data channel quits (pid 91226) 19:26:28.239568 DATA sockfilt for passive data channel quit (pid 91226) 19:26:28.239599 =====> Closed passive DATA connection 19:26:28.239637 > "226 File transfer complete[CR][LF]" 19:26:28.285567 < "QUIT" 19:26:28.285622 > "221 bye bye baby[CR][LF]" 19:26:28.286872 MAIN sockfilt said DISC 19:26:28.286915 ====> Client disconnected 19:26:28.287004 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:27.797278 ====> Client connect 19:26:27.797682 Received DATA (on stdin) 19:26:27.797706 > 146 bytes data, server => client 19:26:27.797718 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:27.797732 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:27.797741 '220 \___|\___/|_| \_\_____|\r\n' 19:26:27.797842 < 16 bytes data, client => server 19:26:27.797859 'USER anonymous\r\n' 19:26:27.798058 Received DATA (on stdin) 19:26:27.798071 > 33 bytes data, server => client 19:26:27.798081 '331 We are happy you popped in!\r\n' 19:26:27.798153 < 22 bytes data, client => server 19:26:27.798169 'PASS ftp@example.com\r\n' 19:26:27.798335 Received DATA (on stdin) 19:26:27.798349 > 30 bytes data, server => client 19:26:27.798360 '230 Welcome you silly person\r\n' 19:26:27.798425 < 5 bytes data, client => server 19:26:27.798441 'PWD\r\n' 19:26:27.798572 Received DATA (on stdin) 19:26:27.798583 > 30 bytes data, server => client 19:26:27.798593 '257 "/" is current directory\r\n' 19:26:27.798663 < 6 bytes data, client => server CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind208 ../src/curl -q --output log/18/curl208.out --include --trace-ascii log/18/trace208 --trace-time -x http://127.0.0.1:43739 ftp://daniel:mysecret@host.com/we/want/208 -T log/18/test208.txt > log/18/stdout208 2> log/18/stderr208 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 19:26:27.798678 'EPSV\r\n' 19:26:27.808708 Received DATA (on stdin) 19:26:27.808725 > 39 bytes data, server => client 19:26:27.808735 '229 Entering Passive Mode (|||37701|)\r\n' 19:26:27.824122 < 8 bytes data, client => server 19:26:27.824147 'TYPE I\r\n' 19:26:27.824389 Received DATA (on stdin) 19:26:27.824401 > 33 bytes data, server => client 19:26:27.824412 '200 I modify TYPE as you wanted\r\n' 19:26:27.827953 < 21 bytes data, client => server 19:26:27.827969 'SIZE verifiedserver\r\n' 19:26:27.828153 Received DATA (on stdin) 19:26:27.828163 > 8 bytes data, server => client 19:26:27.828172 '213 17\r\n' 19:26:27.833939 < 21 bytes data, client => server 19:26:27.833964 'RETR verifiedserver\r\n' 19:26:27.841454 Received DATA (on stdin) 19:26:27.841477 > 29 bytes data, server => client 19:26:27.841488 '150 Binary junk (17 bytes).\r\n' 19:26:27.841621 Received DATA (on stdin) 19:26:27.841637 > 28 bytes data, server => client 19:26:27.841647 '226 File transfer complete\r\n' 19:26:27.887320 < 6 bytes data, client => server 19:26:27.887352 'QUIT\r\n' 19:26:27.887572 Received DATA (on stdin) 19:26:27.887584 > 18 bytes data, server => client 19:26:27.887594 '221 bye bye baby\r\n' 19:26:27.888758 ====> Client disconnect 19:26:27.888952 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:28.808110 Running IPv4 version 19:26:28.808203 Listening on port 37701 19:26:28.808251 Wrote pid 91226 to log/11/server/ftp_sockdata.pid 19:26:28.808419 Received PING (on stdin) 19:26:28.808525 Received PORT (on stdin) 19:26:28.824077 ====> Client connect 19:26:28.840992 Received DATA (on stdin) 19:26:28.841014 > 17 bytes data, server => client 19:26:28.841024 'WE ROOLZ: 84823\r\n' 19:26:28.841067 Received DISC (on stdin) 19:26:28.841084 ====> Client forcibly disconnected 19:26:28.841196 Received QUIT (on stdin) 19:26:28.841210 quits 19:26:28.841292 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 211 === End of file server.cmd === Start of file valgrind211 ==91324== ==91324== Process terminating with default action of signal 4 (SIGILL) ==91324== Illegal opcode at address 0x492B75F ==91324== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91324== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91324== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91324== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91324== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91324== by 0x49908EB: curl_version_info (version.c:600) ==91324== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91324== by 0x4003269: main (tool_main.c:195) === End of file valgrind211 test 0208 [HTTP PUT to an FTP URL with username+password - over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind208 ../src/curl -q --output log/18/curl208.out --include --trace-ascii log/18/trace208 --trace-time -x http://127.0.0.1:43739 ftp://daniel:mysecret@host.com/we/want/208 -T log/18/test208.txt > log/18/stdout208 2> log/18/stderr208 208: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind208 ../src/curl -q --output log/18/curl208.out --include --trace-ascii log/18/trace208 --trace-time -x http://127.0.0.1:43739 ftp://daniel:mysecret@host.com/we/want/208 -T log/18/test208.txt > log/18/stdout208 2> log/18/stderr208 === End of file commands.log === Start of file http_server.log 19:26:28.793490 ====> Client connect 19:26:28.793532 accept_connection 3 returned 4 19:26:28.793557 Read 93 bytes 19:26:28.793567 Process 93 bytes request 19:26:28.793580 Got request: GET /verifiedserver HTTP/1.1 19:26:28.793589 Are-we-friendly question received 19:26:28.793619 Wrote request (93 bytes) input to log/18/server.input 19:26:28.793636 Identifying ourselves as friends 19:26:28.793710 Response sent (56 bytes) and written to log/18/server.response 19:26:28.793719 special request received, no persistency 19:26:28.793726 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 208 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file test208.txt Weird file to upload for testing the PUT feature === End of file test208.txt === Start of file valgrind208 ==91257== ==91257== Process terminating with default action of signal 4 (SIGILL) ==91257== Illegal opcode at address 0x492B75F ==91257== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91257== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91257== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91257== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91257== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91257== by 0x49908EB: curl_version_info (version.c:600) ==91257== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91257== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91257== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91257== by 0x4003269: main (tool_main.c:195) === End of file valgrind208 test 0219 [try using proxy with unsupported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/19/ directory after test 219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==91925== ==91925== Process terminating with default action of signal 4 (SIGILL) ==91925== Illegal opcode at address 0x492B75F ==91925== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91925== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91925== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91925== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91925== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91925== by 0x49908EB: curl_version_info (version.c:600) ==91925== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91925== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91925== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91925== by 0x40CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:45467/221 --compressed > log/14/stdout221 2> log/14/stderr221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:38821/path/2170002 --proxy http://127.0.0.1:38821 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 03269: main (tool_main.c:195) === End of file valgrind219 test 0221 [HTTP GET gzip compressed content with broken gzip header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:45467/221 --compressed > log/14/stdout221 2> log/14/stderr221 221: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 221 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind221 ../src/curl -q --output log/14/curl221.out --include --trace-ascii log/14/trace221 --trace-time http://127.0.0.1:45467/221 --compressed > log/14/stdout221 2> log/14/stderr221 === End of file commands.log === Start of file http_server.log 19:26:29.026594 ====> Client connect 19:26:29.026633 accept_connection 3 returned 4 19:26:29.026658 Read 93 bytes 19:26:29.026669 Process 93 bytes request 19:26:29.026687 Got request: GET /verifiedserver HTTP/1.1 19:26:29.026700 Are-we-friendly question received 19:26:29.026731 Wrote request (93 bytes) input to log/14/server.input 19:26:29.026749 Identifying ourselves as friends 19:26:29.026812 Response sent (56 bytes) and written to log/14/server.response 19:26:29.026821 special request received, no persistency 19:26:29.026830 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 49694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind221 ==92019== ==92019== Process terminating with default action of signal 4 (SIGILL) ==92019== Illegal opcode at address 0x492B75F ==92019== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92019== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92019== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92019== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92019== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92019== by 0x49908EB: curl_version_info (version.c:600) ==92019== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92019== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92019== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92019== by 0x4003269: main (tool_main.c:195) === End of file valgrind221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:33897/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind218 ../src/curl -q --output log/24/curl218.out --include --trace-ascii log/24/trace218 --trace-time -T log/24/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:38895/218 > log/24/stdout218 2> log/24/stderr218 test 0217 [HTTP proxy CONNECT to proxy returning 405] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:38821/path/2170002 --proxy http://127.0.0.1:38821 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 217: stdout FAILED: --- log/13/check-expected 2026-10-15 19:26:31.637265195 +0000 +++ log/13/check-generated 2026-10-15 19:26:31.632113920 +0000 @@ -1,3 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] -000 405[LF] == Contents of files in the log/13/ directory after test 217 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] 000 405[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind217 ../src/curl -q --include --trace-ascii log/13/trace217 --trace-time http://test.remote.example.com.217:38821/path/2170002 --proxy http://127.0.0.1:38821 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/13/stdout217 2> log/13/stderr217 === End of file commands.log === Start of file http_server.log 19:26:28.510115 ====> Client connect 19:26:28.510156 accept_connection 3 returned 4 19:26:28.510181 Read 93 bytes 19:26:28.510193 Process 93 bytes request 19:26:28.510206 Got request: GET /verifiedserver HTTP/1.1 19:26:28.510215 Are-we-friendly question received 19:26:28.510246 Wrote request (93 bytes) input to log/13/server.input 19:26:28.510271 Identifying ourselves as friends 19:26:28.510343 Response sent (56 bytes) and written to log/13/server.response 19:26:28.510356 special request received, no persistency 19:26:28.510365 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 47584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 217 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind217 ==91790== ==91790== Process terminating with default action of signal 4 (SIGILL) ==91790== Illegal opcode at address 0x492B75F ==91790== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91790== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91790== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91790== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91790== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91790== by 0x49908EB: curl_version_info (version.c:600) ==91790== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91790== by 0x4003269: main (tool_main.c:195) === End of file valgrind217 setenv MSYS2_ARG_CONV_EXCL = http:// test 0214 [HTTP URL with escaped { and }] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:33897/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 214: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind214 ../src/curl -q --output log/20/curl214.out --include --trace-ascii log/20/trace214 --trace-time "http://127.0.0.1:33897/\{\}\/214" > log/20/stdout214 2> log/20/stderr214 === End of file commands.log === Start of file http_server.log 19:26:28.070734 ====> Client connect 19:26:28.070775 accept_connection 3 returned 4 19:26:28.070801 Read 93 bytes 19:26:28.070811 Process 93 bytes request 19:26:28.070824 Got request: GET /verifiedserver HTTP/1.1 19:26:28.070833 Are-we-friendly question received 19:26:28.070863 Wrote request (93 bytes) input to log/20/server.input 19:26:28.070880 Identifying ourselves as friends 19:26:28.070957 Response sent (56 bytes) and written to log/20/server.response 19:26:28.070967 special request received, no persistency 19:26:28.070975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind214 ==91568== ==91568== Process terminating with default action of signal 4 (SIGILL) ==91568== Illegal opcode at address 0x492B75F ==91568== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91568== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91568== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91568== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91568== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91568== by 0x49908EB: curl_version_info (version.c:600) ==91568== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91568== by 0x4003269: main (tool_main.c:195) === End of file valgrind214 test 0218 [HTTP PUT from a file but enforce chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind218 ../src/curl -q --output log/24/curl218.out --include --trace-ascii log/24/trace218 --trace-time -T log/24/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:38895/218 > log/24/stdout218 2> log/24/stderr218 218: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind218 ../src/curl -q --output log/24/curl218.out --include --trace-ascii log/24/trace218 --trace-time -T log/24/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:38895/218 > log/24/stdout218 2> log/24/stderr218 === End of file commands.log === Start of file file218 some tiny teeny test contents === End of file file218 === Start of file http_server.log 19:26:28.685794 ====> Client connect 19:26:28.685823 accept_connection 3 returned 4 19:26:28.685843 Read 93 bytes 19:26:28.685852 Process CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind220 ../src/curl -q --output log/1/curl220.out --include --trace-ascii log/1/trace220 --trace-time http://127.0.0.1:38815/220 --compressed -s -w '%{stderr}%{size_delivered}\n' > log/1/stdout220 2> log/1/stderr220 93 bytes request 19:26:28.685865 Got request: GET /verifiedserver HTTP/1.1 19:26:28.685873 Are-we-friendly question received 19:26:28.685898 Wrote request (93 bytes) input to log/24/server.input 19:26:28.685914 Identifying ourselves as friends 19:26:28.685971 Response sent (56 bytes) and written to log/24/server.response 19:26:28.685979 special request received, no persistency 19:26:28.685987 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind218 ==91856== ==91856== Process terminating with default action of signal 4 (SIGILL) ==91856== Illegal opcode at address 0x492B75F ==91856== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91856== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91856== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91856== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91856== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91856== by 0x49908EB: curl_version_info (version.c:600) ==91856== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91856== by 0x4003269: main (tool_main.c:195) === End of file valgrind218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:39739/225%0a > log/4/stdout225 2> log/4/stderr225 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:34531/223 --compressed > log/2/stdout223 2> log/2/stderr223 test 0220 [HTTP GET gzip compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind220 ../src/curl -q --output log/1/curl220.out --include --trace-ascii log/1/trace220 --trace-time http://127.0.0.1:38815/220 --compressed -s -w '%{stderr}%{size_delivered}\n' > log/1/stdout220 2> log/1/stderr220 220: stderr FAILED: --- log/1/check-expected 2026-10-15 19:26:32.282860911 +0000 +++ log/1/check-generated 2026-10-15 19:26:32.281958965 +0000 @@ -1 +0,0 @@ -24[CR][LF] == Contents of files in the log/1/ directory after test 220 === Start of file check-expected 24[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind220 ../src/curl -q --output log/1/curl220.out --include --trace-ascii log/1/trace220 --trace-time http://127.0.0.1:38815/220 --compressed -s -w '%{stderr}%{size_delivered}\n' > log/1/stdout220 2> log/1/stderr220 === End of file commands.log === Start of file http_server.log 19:26:29.988210 ====> Client connect 19:26:29.988250 accept_connection 3 returned 4 19:26:29.988273 Read 93 bytes 19:26:29.988284 Process 93 bytes request 19:26:29.988298 Got request: GET /verifiedserver HTTP/1.1 19:26:29.988306 Are-we-friendly question received 19:26:29.988339 Wrote request (93 bytes) input to log/1/server.input 19:26:29.988358 Identifying ourselves as friends 19:26:29.988433 Response sent (56 bytes) and written to log/1/server.response 19:26:29.988445 special request received, no persistency 19:26:29.988453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 34928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 220 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind220 ==91985== ==91985== Process terminating with default action of signal 4 (SIGILL) ==91985== Illegal opcode at address 0x492B75F ==91985== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==91985== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==91985== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==91985== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==91985== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==91985== by 0x49908EB: curl_version_info (version.c:600) ==91985== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==91985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==91985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==91985== by 0x4003269: main (tool_main.c:195) === End of file valgrind220 test 0223 [HTTP GET deflate compressed content with broken deflate header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:34531/223 --compressed > log/2/stdout223 2> log/2/stderr223 223: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 223 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind223 ../src/curl -q --output log/2/curl223.out --include --trace-ascii log/2/trace223 --trace-time http://127.0.0.1:34531/223 --compressed > log/2/stdout223 2> log/2/stderr223 === End of file commands.log === Start of file http_server.log 19:26:30.393054 ====> Client connect 19:26:30.393089 accept_connection 3 returned 4 19:26:30.393112 Read 93 bytes 19:26:30.393122 Process 93 bytes request 19:26:30.393134 Got request: GET /verifiedserver HTTP/1.1 19:26:30.393143 Are-we-friendly question received 19:26:30.393171 Wrote request (93 bytes) input to log/2/server.input 19:26:30.393188 Identifying ourselves as friends 19:26:30.393252 Response sent (56 bytes) and written to log/2/server.response 19:26:30.393262 special request received, no persistency 19:26:30.393271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 34210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind223 ==92210== ==92210== Process terminating with default action of signal 4 (SIGILL) ==92210== Illegal opcode at address 0x492B75F ==92210== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92210== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92210== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92210== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92210== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92210== by 0x49908EB: curl_version_info (version.c:600) ==92210== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92210== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92210== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92210== by 0x4003269: main (tool_main.c:195) === End of file valgrind223 test 0225 [FTP %0a-code in URL's name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:39739/225%0a > log/4/stdout225 2> log/4/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/4/ directory after test 225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind225 ../src/curl -q --output log/4/curl225.out --include --trace-ascii log/4/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:39739/225%0a > log/4/stdout225 2> log/4/stderr225 === End of file commands.log === Start of file ftp_server.log 19:26:30.072181 ====> Client connect 19:26:30.072401 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.073142 < "USER anonymous" 19:26:30.073195 > "331 We are happy you popped in![CR][LF]" 19:26:30.073453 < "PASS ftp@example.com" 19:26:30.073496 > "230 Welcome you silly person[CR][LF]" 19:26:30.073707 < "PWD" 19:26:30.073751 > "257 "/" is current directory[CR][LF]" 19:26:30.073960 < "EPSV" 19:26:30.073992 ====> Passive DATA channel requested by client 19:26:30.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind224 ../src/curl -q --output log/8/curl224.out --include --trace-ascii log/8/trace224 --trace-time http://127.0.0.1:44467/224 --compressed > log/8/stdout224 2> log/8/stderr224 74009 DATA sockfilt for passive data channel starting... 19:26:30.083605 DATA sockfilt for passive data channel started (pid 92331) 19:26:30.083736 DATA sockfilt for passive data channel listens on port 34607 19:26:30.083776 > "229 Entering Passive Mode (|||34607|)[CR][LF]" 19:26:30.083792 Client has been notified that upcoming DATA connection is awaited on port 34607 19:26:30.084057 Client connects to port 34607 19:26:30.084085 ====> Client established passive DATA connection on port 34607 19:26:30.084205 < "TYPE I" 19:26:30.084234 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.084998 < "SIZE verifiedserver" 19:26:30.085034 > "213 17[CR][LF]" 19:26:30.085171 < "RETR verifiedserver" 19:26:30.085202 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.085285 =====> Closing passive DATA connection... 19:26:30.085300 Server disconnects passive DATA connection 19:26:30.085605 Server disconnected passive DATA connection 19:26:30.085631 DATA sockfilt for passive data channel quits (pid 92331) 19:26:30.085836 DATA sockfilt for passive data channel quit (pid 92331) 19:26:30.085857 =====> Closed passive DATA connection 19:26:30.085882 > "226 File transfer complete[CR][LF]" 19:26:30.135450 < "QUIT" 19:26:30.135500 > "221 bye bye baby[CR][LF]" 19:26:30.136731 MAIN sockfilt said DISC 19:26:30.136762 ====> Client disconnected 19:26:30.136832 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:29.674411 ====> Client connect 19:26:29.674801 Received DATA (on stdin) 19:26:29.674818 > 146 bytes data, server => client 19:26:29.674828 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:29.674837 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:29.674845 '220 \___|\___/|_| \_\_____|\r\n' 19:26:29.674965 < 16 bytes data, client => server 19:26:29.674978 'USER anonymous\r\n' 19:26:29.675589 Received DATA (on stdin) 19:26:29.675605 > 33 bytes data, server => client 19:26:29.675616 '331 We are happy you popped in!\r\n' 19:26:29.675702 < 22 bytes data, client => server 19:26:29.675719 'PASS ftp@example.com\r\n' 19:26:29.675883 Received DATA (on stdin) 19:26:29.675897 > 30 bytes data, server => client 19:26:29.675907 '230 Welcome you silly person\r\n' 19:26:29.675975 < 5 bytes data, client => server 19:26:29.675990 'PWD\r\n' 19:26:29.676136 Received DATA (on stdin) 19:26:29.676149 > 30 bytes data, server => client 19:26:29.676159 '257 "/" is current directory\r\n' 19:26:29.676237 < 6 bytes data, client => server 19:26:29.676252 'EPSV\r\n' 19:26:29.686179 Received DATA (on stdin) 19:26:29.686196 > 39 bytes data, server => client 19:26:29.686206 '229 Entering Passive Mode (|||34607|)\r\n' 19:26:29.686481 < 8 bytes data, client => server 19:26:29.686491 'TYPE I\r\n' 19:26:29.687219 Received DATA (on stdin) 19:26:29.687232 > 33 bytes data, server => client 19:26:29.687242 '200 I modify TYPE as you wanted\r\n' 19:26:29.687296 < 21 bytes data, client => server 19:26:29.687305 'SIZE verifiedserver\r\n' 19:26:29.687412 Received DATA (on stdin) 19:26:29.687422 > 8 bytes data, server => client 19:26:29.687430 '213 17\r\n' 19:26:29.687477 < 21 bytes data, client => server 19:26:29.687487 'RETR verifiedserver\r\n' 19:26:29.687856 Received DATA (on stdin) 19:26:29.687867 > 29 bytes data, server => client 19:26:29.687877 '150 Binary junk (17 bytes).\r\n' 19:26:29.688262 Received DATA (on stdin) 19:26:29.688273 > 28 bytes data, server => client 19:26:29.688283 '226 File transfer complete\r\n' 19:26:29.734488 < 6 bytes data, client => server 19:26:29.734510 'QUIT\r\n' 19:26:29.737900 Received DATA (on stdin) 19:26:29.737915 > 18 bytes data, server => client 19:26:29.737925 '221 bye bye baby\r\n' 19:26:29.739074 ====> Client disconnect 19:26:29.739223 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.685620 Running IPv4 version 19:26:30.685706 Listening on port 34607 19:26:30.685747 Wrote pid 92331 to log/4/server/ftp_sockdata.pid 19:26:30.685926 Received PING (on stdin) 19:26:30.686023 Received PORT (on stdin) 19:26:30.686390 ====> Client connect 19:26:30.687680 Received DATA (on stdin) 19:26:30.687692 > 17 bytes data, server => client 19:26:30.687796 'WE ROOLZ: 85249\r\n' 19:26:30.687823 Received DISC (on stdin) 19:26:30.687833 ====> Client forcibly disconnected 19:26:30.688019 Received QUIT (on stdin) 19:26:30.688029 quits 19:26:30.688087 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==92367== ==92367== Process terminating with default action of signal 4 (SIGILL) ==92367== Illegal opcode at address 0x492B75F ==92367== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92367== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92367== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92367== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92367== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92367== by 0x49908EB: curl_version_info (version.c:600) ==92367== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92367== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92367== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92367== by 0x4003269: main (tool_main.c:195) === End of file valgrind225 test 0224 [HTTP GET gzip compressed content with huge comment and extra field] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind224 ../src/curl -q --output log/8/curl224.out --include --trace-ascii log/8/trace224 --trace-time http://127.0.0.1:44467/224 --compressed > log/8/stdout224 2> log/8/stderr224 224: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind224 ../src/curl -q --output log/8/curl224.out --include --trace-ascii log/8/trace224 --trace-time http://127.0.0.1:44467/224 --compressed > log/8/stdout224 2> log/8/stderr224 === End of file commands.log === Start of file http_server.log 19:26:29.501093 ====> Client connect 19:26:29.501142 accept_connection 3 returned 4 19:26:29.501169 Read 93 bytes 19:26:29.501179 Process 93 bytes request 19:26:29.501193 Got request: GET /verifiedserver HTTP/1.1 19:26:29.501202 Are-we-friendly question received 19:26:29.501229 Wrote request (93 bytes) input to log/8/server.input 19:26:29.501245 Identifying ourselves as friends 19:26:29.501332 Response sent (56 bytes) and written to log/8/server.response 19:26:29.501341 special request received, no persistency 19:26:29.501349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 56604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 224 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind224 ==92249== ==92249== Process terminating with default action of signal 4 (SIGILL) ==92249== Illegal opcode at address 0x492B75F ==92249== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92249== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92249== by 0x492B67B: curl_msnprintf (mprintf.c:1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind222 ../src/curl -q --output log/16/curl222.out --include --trace-ascii log/16/trace222 --trace-time http://127.0.0.1:35903/222 --compressed > log/16/stdout222 2> log/16/stderr222 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind229 ../src/curl -q --output log/9/curl229.out --include --trace-ascii log/9/trace229 --trace-time ftp://127.0.0.1:36605/229 --ftp-account "one count" > log/9/stdout229 2> log/9/stderr229 277) ==92249== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92249== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92249== by 0x49908EB: curl_version_info (version.c:600) ==92249== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92249== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92249== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92249== by 0x4003269: main (tool_main.c:195) === End of file valgrind224 test 0222 [HTTP GET deflate compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind222 ../src/curl -q --output log/16/curl222.out --include --trace-ascii log/16/trace222 --trace-time http://127.0.0.1:35903/222 --compressed > log/16/stdout222 2> log/16/stderr222 222: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 222 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind222 ../src/curl -q --output log/16/curl222.out --include --trace-ascii log/16/trace222 --trace-time http://127.0.0.1:35903/222 --compressed > log/16/stdout222 2> log/16/stderr222 === End of file commands.log === Start of file http_server.log 19:26:30.145054 ====> Client connect 19:26:30.145093 accept_connection 3 returned 4 19:26:30.145203 Read 93 bytes 19:26:30.145221 Process 93 bytes request 19:26:30.145235 Got request: GET /verifiedserver HTTP/1.1 19:26:30.145244 Are-we-friendly question received 19:26:30.145278 Wrote request (93 bytes) input to log/16/server.input 19:26:30.145302 Identifying ourselves as friends 19:26:30.145371 Response sent (56 bytes) and written to log/16/server.response 19:26:30.145385 special request received, no persistency 19:26:30.145394 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 222 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind222 ==92092== ==92092== Process terminating with default action of signal 4 (SIGILL) ==92092== Illegal opcode at address 0x492B75F ==92092== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92092== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92092== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92092== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92092== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92092== by 0x49908EB: curl_version_info (version.c:600) ==92092== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92092== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92092== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92092== by 0x4003269: main (tool_main.c:195) === End of file valgrind222 test 0229 [FTP RETR with bad ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind229 ../src/curl -q --output log/9/curl229.out --include --trace-ascii log/9/trace229 --trace-time ftp://127.0.0.1:36605/229 --ftp-account "one count" > log/9/stdout229 2> log/9/stderr229 229: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind229 ../src/curl -q --output log/9/curl229.out --include --trace-ascii log/9/trace229 --trace-time ftp://127.0.0.1:36605/229 --ftp-account "one count" > log/9/stdout229 2> log/9/stderr229 === End of file commands.log === Start of file ftp_server.log 19:26:30.348806 ====> Client connect 19:26:30.349026 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.349335 < "USER anonymous" 19:26:30.349410 > "331 We are happy you popped in![CR][LF]" 19:26:30.349578 < "PASS ftp@example.com" 19:26:30.349720 > "230 Welcome you silly person[CR][LF]" 19:26:30.349781 < "PWD" 19:26:30.355359 > "257 "/" is current directory[CR][LF]" 19:26:30.358924 < "EPSV" 19:26:30.358956 ====> Passive DATA channel requested by client 19:26:30.358970 DATA sockfilt for passive data channel starting... 19:26:30.365617 DATA sockfilt for passive data channel started (pid 92519) 19:26:30.365740 DATA sockfilt for passive data channel listens on port 45031 19:26:30.365786 > "229 Entering Passive Mode (|||45031|)[CR][LF]" 19:26:30.365805 Client has been notified that upcoming DATA connection is awaited on port 45031 19:26:30.368772 Client connects to port 45031 19:26:30.368808 ====> Client established passive DATA connection on port 45031 19:26:30.368907 < "TYPE I" 19:26:30.368941 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.375518 < "SIZE verifiedserver" 19:26:30.375570 > "213 17[CR][LF]" 19:26:30.375744 < "RETR verifiedserver" 19:26:30.375783 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.375878 =====> Closing passive DATA connection... 19:26:30.375896 Server disconnects passive DATA connection 19:26:30.376138 Server disconnected passive DATA connection 19:26:30.376167 DATA sockfilt for passive data channel quits (pid 92519) 19:26:30.376444 DATA sockfilt for passive data channel quit (pid 92519) 19:26:30.376469 =====> Closed passive DATA connection 19:26:30.376528 > "226 File transfer complete[CR][LF]" 19:26:30.425670 < "QUIT" 19:26:30.425731 > "221 bye bye baby[CR][LF]" 19:26:30.426895 MAIN sockfilt said DISC 19:26:30.426928 ====> Client disconnected 19:26:30.427011 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:29.951110 ====> Client connect 19:26:29.951488 Received DATA (on stdin) 19:26:29.951505 > 146 bytes data, server => client 19:26:29.951516 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:29.951526 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:29.951536 '220 \___|\___/|_| \_\_____|\r\n' 19:26:29.951623 < 16 bytes data, client => server 19:26:29.951636 'USER anonymous\r\n' 19:26:29.951799 Received DATA (on stdin) 19:26:29.951812 > 33 bytes data, server => client 19:26:29.951857 '331 We are happy you popped in!\r\n' 19:26:29.951910 < 22 bytes data, client => server 19:26:29.951922 'PASS ftp@example.com\r\n' 19:26:29.952032 Received DATA (on stdin) 19:26:29.952044 > 30 bytes data, server => client 19:26:29.952061 '230 Welcome you silly person\r\n' 19:26:29.952113 < 5 bytes data, client => server 19:26:29.952125 'PWD\r\n' 19:26:29.952239 Received DATA (on stdin) 19:26:29.952251 > 30 bytes data, server => client 19:26:29.952268 '257 "/" is current directory\r\n' 19:26:29.957848 < 6 bytes data, client => server 19:26:29.957865 'EPSV\r\n' 19:26:29.968260 Received DATA (on stdin) 19:26:29.968275 > 39 bytes data, server => client 19:26:29.968285 '229 Entering Passive Mode (|||45031|)\r\n' 19:26:29.971121 < 8 bytes data, client => server 19:26:29.971141 'TYPE I\r\n' 19:26:29.971392 ReceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind228 ../src/curl -q --output log/5/curl228.out --include --trace-ascii log/5/trace228 --trace-time ftp://127.0.0.1:39641/228 --ftp-account "one count" > log/5/stdout228 2> log/5/stderr228 ived DATA (on stdin) 19:26:29.971405 > 33 bytes data, server => client 19:26:29.971415 '200 I modify TYPE as you wanted\r\n' 19:26:29.977840 < 21 bytes data, client => server 19:26:29.977860 'SIZE verifiedserver\r\n' 19:26:29.978024 Received DATA (on stdin) 19:26:29.978036 > 8 bytes data, server => client 19:26:29.978045 '213 17\r\n' 19:26:29.978101 < 21 bytes data, client => server 19:26:29.978112 'RETR verifiedserver\r\n' 19:26:29.978350 Received DATA (on stdin) 19:26:29.978362 > 29 bytes data, server => client 19:26:29.978372 '150 Binary junk (17 bytes).\r\n' 19:26:29.978927 Received DATA (on stdin) 19:26:29.978939 > 28 bytes data, server => client 19:26:29.978980 '226 File transfer complete\r\n' 19:26:30.027910 < 6 bytes data, client => server 19:26:30.027939 'QUIT\r\n' 19:26:30.028204 Received DATA (on stdin) 19:26:30.028218 > 18 bytes data, server => client 19:26:30.028229 '221 bye bye baby\r\n' 19:26:30.029306 ====> Client disconnect 19:26:30.029483 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.963513 Running IPv4 version 19:26:30.963701 Listening on port 45031 19:26:30.963741 Wrote pid 92519 to log/9/server/ftp_sockdata.pid 19:26:30.967987 Received PING (on stdin) 19:26:30.968098 Received PORT (on stdin) 19:26:30.971169 ====> Client connect 19:26:30.978402 Received DATA (on stdin) 19:26:30.978416 > 17 bytes data, server => client 19:26:30.978426 'WE ROOLZ: 84695\r\n' 19:26:30.978451 Received DISC (on stdin) 19:26:30.978462 ====> Client forcibly disconnected 19:26:30.978619 Received QUIT (on stdin) 19:26:30.978631 quits 19:26:30.978700 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 532 bluah Testnum 229 === End of file server.cmd === Start of file valgrind229 ==92581== ==92581== Process terminating with default action of signal 4 (SIGILL) ==92581== Illegal opcode at address 0x492B75F ==92581== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92581== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92581== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92581== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92581== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92581== by 0x49908EB: curl_version_info (version.c:600) ==92581== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92581== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92581== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92581== by 0x4003269: main (tool_main.c:195) === End of file valgrind229 test 0228 [FTP RETR with ACCT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind228 ../src/curl -q --output log/5/curl228.out --include --trace-ascii log/5/trace228 --trace-time ftp://127.0.0.1:39641/228 --ftp-account "one count" > log/5/stdout228 2> log/5/stderr228 228: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind228 ../src/curl -q --output log/5/curl228.out --include --trace-ascii log/5/trace228 --trace-time ftp://127.0.0.1:39641/228 --ftp-account "one count" > log/5/stdout228 2> log/5/stderr228 === End of file commands.log === Start of file ftp_server.log 19:26:30.292039 ====> Client connect 19:26:30.292300 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.302207 < "USER anonymous" 19:26:30.302273 > "331 We are happy you popped in![CR][LF]" 19:26:30.302537 < "PASS ftp@example.com" 19:26:30.302565 > "230 Welcome you silly person[CR][LF]" 19:26:30.302723 < "PWD" 19:26:30.302763 > "257 "/" is current directory[CR][LF]" 19:26:30.302942 < "EPSV" 19:26:30.302970 ====> Passive DATA channel requested by client 19:26:30.302985 DATA sockfilt for passive data channel starting... 19:26:30.318769 DATA sockfilt for passive data channel started (pid 92478) 19:26:30.319204 DATA sockfilt for passive data channel listens on port 40187 19:26:30.319273 > "229 Entering Passive Mode (|||40187|)[CR][LF]" 19:26:30.319299 Client has been notified that upcoming DATA connection is awaited on port 40187 19:26:30.322352 Client connects to port 40187 19:26:30.322404 ====> Client established passive DATA connection on port 40187 19:26:30.322577 < "TYPE I" 19:26:30.322624 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.322818 < "SIZE verifiedserver" 19:26:30.322859 > "213 17[CR][LF]" 19:26:30.323050 < "RETR verifiedserver" 19:26:30.323088 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.323206 =====> Closing passive DATA connection... 19:26:30.323230 Server disconnects passive DATA connection 19:26:30.323361 Server disconnected passive DATA connection 19:26:30.323394 DATA sockfilt for passive data channel quits (pid 92478) 19:26:30.323683 DATA sockfilt for passive data channel quit (pid 92478) 19:26:30.323713 =====> Closed passive DATA connection 19:26:30.323741 > "226 File transfer complete[CR][LF]" 19:26:30.372346 < "QUIT" 19:26:30.372403 > "221 bye bye baby[CR][LF]" 19:26:30.373493 MAIN sockfilt said DISC 19:26:30.373525 ====> Client disconnected 19:26:30.373615 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:29.889782 ====> Client connect 19:26:29.897321 Received DATA (on stdin) 19:26:29.897356 > 146 bytes data, server => client 19:26:29.897369 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:29.897380 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:29.897389 '220 \___|\___/|_| \_\_____|\r\n' 19:26:29.897498 < 16 bytes data, client => server 19:26:29.897515 'USER anonymous\r\n' 19:26:29.904720 Received DATA (on stdin) 19:26:29.904739 > 33 bytes data, server => client 19:26:29.904749 '331 We are happy you popped in!\r\n' 19:26:29.904870 < 22 bytes data, client => server 19:26:29.904885 'PASS ftp@example.com\r\n' 19:26:29.904997 Received DATA (on stdin) 19:26:29.905008 > 30 bytes data, server => client 19:26:29.905017 '230 Welcome you silly person\r\n' 19:26:29.905071 < 5 bytes data, client => server 19:26:29.905082 'PWD\r\n' 19:26:29.905202 Received DATA (on stdin) 19:26:29.905215 > 30 bytes data, server => client 19:26:29.905225 '257 "/" is current directory\r\n' 19:26:29.905290 < 6 bytes data, client => server 19:26:29.905302 'EPSV\r\n' 19:26:29.924434 Received DATA (on stdin) 19:26:29.924466 > 39 bytes data, server => client 19:26:29.924477 '229 Entering Passive Mode (|||40187|)\r\n' 19:26:29.924875 < 8 bytes data, client => server 19:26:29.924888 'TYPE I\r\n' 19:26:29.925073 Received DATA (on stdin) 19:26:29.925086 > 33 bytes data, server => client 19:26:29.925097 '200 I modify TYPE as you wanted\r\n' 19:26:29.925159 < 21 bytes data, client => server 19:26:29.925173 'SIZE verifiedserver\r\n' 19:26:29.925306 Received DATA (on stdin) 19:26:29.925319 > 8 bytes data, server => client 19:26:29.925329 '213 17\r\n' 19:26:29.925389 < 21 bytes data, client => server 19:26:29.925404 'RETR verifiedserver\r\n' 19:26:29.926185 Received DATA (on stdin) 19:26:29.926199 > 29 bytes data, server => client 19:26:29.926209 '150 Binary junk (17 bytes).\r\n' 19:26:29.926236 Received DATA (on stdin) 19:26:29.926248 > 28 bytes data, server => client 19:26:29.926258 '226 File transfer complete\r\n' 19:26:29.974599 < 6 bytes data, client => server 19:26:29.974636 'QUIT\r\n' 19:26:29.974858 Received DATA (on stdin) 19:26:29.974869 > 18 bytes data, server => client 19:26:29.974878 '221 bye bye baby\r\n' 19:26:29.975887 ====> Client disconnect 19:26:29.976075 Received ACKD (on stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind226 ../src/curl -q --output log/22/curl226.out --include --trace-ascii log/22/trace226 --trace-time ftp://127.0.0.1:33255/226%0d > log/22/stdout226 2> log/22/stderr226 din) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.913460 Running IPv4 version 19:26:30.913562 Listening on port 40187 19:26:30.913611 Wrote pid 92478 to log/5/server/ftp_sockdata.pid 19:26:30.921114 Received PING (on stdin) 19:26:30.921512 Received PORT (on stdin) 19:26:30.924725 ====> Client connect 19:26:30.925675 Received DATA (on stdin) 19:26:30.925688 > 17 bytes data, server => client 19:26:30.925698 'WE ROOLZ: 85245\r\n' 19:26:30.925729 Received DISC (on stdin) 19:26:30.925744 ====> Client forcibly disconnected 19:26:30.925846 Received QUIT (on stdin) 19:26:30.925859 quits 19:26:30.925937 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 228 === End of file server.cmd === Start of file valgrind228 ==92545== ==92545== Process terminating with default action of signal 4 (SIGILL) ==92545== Illegal opcode at address 0x492B75F ==92545== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92545== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92545== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92545== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92545== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92545== by 0x49908EB: curl_version_info (version.c:600) ==92545== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92545== by 0x4003269: main (tool_main.c:195) === End of file valgrind228 test 0226 [FTP %0d-code in URL's CWD part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind226 ../src/curl -q --output log/22/curl226.out --include --trace-ascii log/22/trace226 --trace-time ftp://127.0.0.1:33255/226%0d > log/22/stdout226 2> log/22/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/22/ directory after test 226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind226 ../src/curl -q --output log/22/curl226.out --include --trace-ascii log/22/trace226 --trace-time ftp://127.0.0.1:33255/226%0d > log/22/stdout226 2> log/22/stderr226 === End of file commands.log === Start of file ftp_server.log 19:26:30.113386 ====> Client connect 19:26:30.113630 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.113946 < "USER anonymous" 19:26:30.113988 > "331 We are happy you popped in![CR][LF]" 19:26:30.114182 < "PASS ftp@example.com" 19:26:30.114213 > "230 Welcome you silly person[CR][LF]" 19:26:30.114396 < "PWD" 19:26:30.114436 > "257 "/" is current directory[CR][LF]" 19:26:30.114628 < "EPSV" 19:26:30.114656 ====> Passive DATA channel requested by client 19:26:30.114672 DATA sockfilt for passive data channel starting... 19:26:30.122282 DATA sockfilt for passive data channel started (pid 92352) 19:26:30.122438 DATA sockfilt for passive data channel listens on port 41429 19:26:30.122490 > "229 Entering Passive Mode (|||41429|)[CR][LF]" 19:26:30.122507 Client has been notified that upcoming DATA connection is awaited on port 41429 19:26:30.122837 Client connects to port 41429 19:26:30.122867 ====> Client established passive DATA connection on port 41429 19:26:30.122960 < "TYPE I" 19:26:30.122992 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.123147 < "SIZE verifiedserver" 19:26:30.123182 > "213 17[CR][LF]" 19:26:30.123326 < "RETR verifiedserver" 19:26:30.123359 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.123446 =====> Closing passive DATA connection... 19:26:30.123462 Server disconnects passive DATA connection 19:26:30.123640 Server disconnected passive DATA connection 19:26:30.123663 DATA sockfilt for passive data channel quits (pid 92352) 19:26:30.124012 DATA sockfilt for passive data channel quit (pid 92352) 19:26:30.124043 =====> Closed passive DATA connection 19:26:30.124071 > "226 File transfer complete[CR][LF]" 19:26:30.173390 < "QUIT" 19:26:30.173446 > "221 bye bye baby[CR][LF]" 19:26:30.175083 MAIN sockfilt said DISC 19:26:30.175124 ====> Client disconnected 19:26:30.175205 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:30.715621 ====> Client connect 19:26:30.716038 Received DATA (on stdin) 19:26:30.716055 > 146 bytes data, server => client 19:26:30.716066 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:30.716076 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:30.716086 '220 \___|\___/|_| \_\_____|\r\n' 19:26:30.716168 < 16 bytes data, client => server 19:26:30.716184 'USER anonymous\r\n' 19:26:30.716383 Received DATA (on stdin) 19:26:30.716396 > 33 bytes data, server => client 19:26:30.716406 '331 We are happy you popped in!\r\n' 19:26:30.716467 < 22 bytes data, client => server 19:26:30.716482 'PASS ftp@example.com\r\n' 19:26:30.716604 Received DATA (on stdin) 19:26:30.716617 > 30 bytes data, server => client 19:26:30.716627 '230 Welcome you silly person\r\n' 19:26:30.716687 < 5 bytes data, client => server 19:26:30.716701 'PWD\r\n' 19:26:30.716829 Received DATA (on stdin) 19:26:30.716841 > 30 bytes data, server => client 19:26:30.716852 '257 "/" is current directory\r\n' 19:26:30.716921 < 6 bytes data, client => server 19:26:30.716936 'EPSV\r\n' 19:26:30.724909 Received DATA (on stdin) 19:26:30.724927 > 39 bytes data, server => client 19:26:30.724937 '229 Entering Passive Mode (|||41429|)\r\n' 19:26:30.725149 < 8 bytes data, client => server 19:26:30.725162 'TYPE I\r\n' 19:26:30.725382 Received DATA (on stdin) 19:26:30.725394 > 33 bytes data, server => client 19:26:30.725407 '200 I modify TYPE as you wanted\r\n' 19:26:30.725458 < 21 bytes data, client => server 19:26:30.725468 'SIZE verifiedserver\r\n' 19:26:30.725570 Received DATA (on stdin) 19:26:30.725580 > 8 bytes data, server => client 19:26:30.725589 '213 17\r\n' 19:26:30.725636 < 21 bytes data, client => server 19:26:30.725646 'RETR verifiedserver\r\n' 19:26:30.725852 Received DATA (on stdin) 19:26:30.725862 > 29 bytes data, server => client 19:26:30.725871 '150 Binary junk (17 bytes).\r\n' 19:26:30.726461 Received DATA (on stdin) 19:26:30.726473 > 28 bytes data, server => client 19:26:30.726483 '226 File transfer complete\r\n' 19:26:30.774881 < 6 bytes data, client => server 19:26:30.774909 'QUIT\r\n' 19:26:30.775851 Received DATA (on stdin) 19:26:30.775863 > 18 bytes data, server => client 19:26:30.775872 '221 bye bye baby\r\n' 19:26:30.776984 ====> Client disconnect 19:26:30.777605 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.722010 Running IPv4 version 19:26:30.722100 Listening on port 41429 19:26:30.722144 Wrote pid 92352 to log/22/server/ftp_sockdata.pid 19:26:30.724582 Received PING (on stdin) 19:26:30.724720 Received PORT (on stdin) 19:26:30.725181 ====> Client connect 19:26:30.725924 Received DATA (on stdin) 19:26:30.725936 > 17 bytes data, server => client 19:26:30.725945 'WE ROOLZ: 84714\r\n' 19:26:30.725971 Received DISC (on stdin) 19:26:30.725982 ====> Client forcibly disconnected 19:26:30.726105 Received QUIT (on stdin) 19:26:30.726117 quits 19:26:30.726197 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==92389== ==92389== Process terminating with default action of signal 4 (SIGILL) ==92389== Illegal opcode at address 0x492B75F ==92389== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92389== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92389== by 0x492B67B: curl_msnprintf (mpriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind227 ../src/curl -q --output log/10/curl227.out --include --trace-ascii log/10/trace227 --trace-time ftp://127.0.0.1:44817/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout227 2> log/10/stderr227 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind230 ../src/curl -q --output log/12/curl230.out --include --trace-ascii log/12/trace230 --trace-time http://127.0.0.1:40921/230 --compressed > log/12/stdout230 2> log/12/stderr230 ntf.c:1277) ==92389== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92389== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92389== by 0x49908EB: curl_version_info (version.c:600) ==92389== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92389== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92389== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92389== by 0x4003269: main (tool_main.c:195) === End of file valgrind226 test 0227 [FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind227 ../src/curl -q --output log/10/curl227.out --include --trace-ascii log/10/trace227 --trace-time ftp://127.0.0.1:44817/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout227 2> log/10/stderr227 227: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind227 ../src/curl -q --output log/10/curl227.out --include --trace-ascii log/10/trace227 --trace-time ftp://127.0.0.1:44817/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/10/stdout227 2> log/10/stderr227 === End of file commands.log === Start of file ftp_server.log 19:26:30.132161 ====> Client connect 19:26:30.132401 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.132731 < "USER anonymous" 19:26:30.132780 > "331 We are happy you popped in![CR][LF]" 19:26:30.132982 < "PASS ftp@example.com" 19:26:30.133015 > "230 Welcome you silly person[CR][LF]" 19:26:30.133193 < "PWD" 19:26:30.133229 > "257 "/" is current directory[CR][LF]" 19:26:30.133427 < "EPSV" 19:26:30.133456 ====> Passive DATA channel requested by client 19:26:30.133473 DATA sockfilt for passive data channel starting... 19:26:30.145385 DATA sockfilt for passive data channel started (pid 92358) 19:26:30.152129 DATA sockfilt for passive data channel listens on port 37473 19:26:30.152232 > "229 Entering Passive Mode (|||37473|)[CR][LF]" 19:26:30.152254 Client has been notified that upcoming DATA connection is awaited on port 37473 19:26:30.152572 Client connects to port 37473 19:26:30.152612 ====> Client established passive DATA connection on port 37473 19:26:30.152753 < "TYPE I" 19:26:30.152786 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.152985 < "SIZE verifiedserver" 19:26:30.153033 > "213 17[CR][LF]" 19:26:30.153212 < "RETR verifiedserver" 19:26:30.153254 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.153356 =====> Closing passive DATA connection... 19:26:30.153377 Server disconnects passive DATA connection 19:26:30.153635 Server disconnected passive DATA connection 19:26:30.153665 DATA sockfilt for passive data channel quits (pid 92358) 19:26:30.153977 DATA sockfilt for passive data channel quit (pid 92358) 19:26:30.154007 =====> Closed passive DATA connection 19:26:30.154039 > "226 File transfer complete[CR][LF]" 19:26:30.200425 < "QUIT" 19:26:30.200481 > "221 bye bye baby[CR][LF]" 19:26:30.202086 MAIN sockfilt said DISC 19:26:30.202126 ====> Client disconnected 19:26:30.203409 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:30.734412 ====> Client connect 19:26:30.734820 Received DATA (on stdin) 19:26:30.734837 > 146 bytes data, server => client 19:26:30.734849 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:30.734859 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:30.734869 '220 \___|\___/|_| \_\_____|\r\n' 19:26:30.734956 < 16 bytes data, client => server 19:26:30.734972 'USER anonymous\r\n' 19:26:30.735182 Received DATA (on stdin) 19:26:30.735193 > 33 bytes data, server => client 19:26:30.735203 '331 We are happy you popped in!\r\n' 19:26:30.735262 < 22 bytes data, client => server 19:26:30.735277 'PASS ftp@example.com\r\n' 19:26:30.735411 Received DATA (on stdin) 19:26:30.735423 > 30 bytes data, server => client 19:26:30.735432 '230 Welcome you silly person\r\n' 19:26:30.735489 < 5 bytes data, client => server 19:26:30.735502 'PWD\r\n' 19:26:30.735628 Received DATA (on stdin) 19:26:30.735641 > 30 bytes data, server => client 19:26:30.735651 '257 "/" is current directory\r\n' 19:26:30.735722 < 6 bytes data, client => server 19:26:30.735736 'EPSV\r\n' 19:26:30.754666 Received DATA (on stdin) 19:26:30.754689 > 39 bytes data, server => client 19:26:30.754700 '229 Entering Passive Mode (|||37473|)\r\n' 19:26:30.755034 < 8 bytes data, client => server 19:26:30.755047 'TYPE I\r\n' 19:26:30.755185 Received DATA (on stdin) 19:26:30.755197 > 33 bytes data, server => client 19:26:30.755207 '200 I modify TYPE as you wanted\r\n' 19:26:30.755275 < 21 bytes data, client => server 19:26:30.755291 'SIZE verifiedserver\r\n' 19:26:30.755433 Received DATA (on stdin) 19:26:30.755445 > 8 bytes data, server => client 19:26:30.755455 '213 17\r\n' 19:26:30.755515 < 21 bytes data, client => server 19:26:30.755529 'RETR verifiedserver\r\n' 19:26:30.755878 Received DATA (on stdin) 19:26:30.755892 > 29 bytes data, server => client 19:26:30.755902 '150 Binary junk (17 bytes).\r\n' 19:26:30.756438 Received DATA (on stdin) 19:26:30.756449 > 28 bytes data, server => client 19:26:30.756459 '226 File transfer complete\r\n' 19:26:30.802231 < 6 bytes data, client => server 19:26:30.802264 'QUIT\r\n' 19:26:30.802898 Received DATA (on stdin) 19:26:30.802913 > 18 bytes data, server => client 19:26:30.802922 '221 bye bye baby\r\n' 19:26:30.804436 ====> Client disconnect 19:26:30.804605 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.737508 Running IPv4 version 19:26:30.737599 Listening on port 37473 19:26:30.737635 Wrote pid 92358 to log/10/server/ftp_sockdata.pid 19:26:30.744407 Received PING (on stdin) 19:26:30.747864 Received PORT (on stdin) 19:26:30.754906 ====> Client connect 19:26:30.755779 Received DATA (on stdin) 19:26:30.755794 > 17 bytes data, server => client 19:26:30.755804 'WE ROOLZ: 85153\r\n' 19:26:30.755834 Received DISC (on stdin) 19:26:30.755848 ====> Client forcibly disconnected 19:26:30.756075 Received QUIT (on stdin) 19:26:30.756088 quits 19:26:30.756162 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 227 === End of file server.cmd === Start of file valgrind227 ==92407== ==92407== Process terminating with default action of signal 4 (SIGILL) ==92407== Illegal opcode at address 0x492B75F ==92407== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92407== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92407== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92407== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92407== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92407== by 0x49908EB: curl_version_info (version.c:600) ==92407== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92407== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92407== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92407== by 0x4003269: main (tool_main.c:195) === End of file valgrind227 test 0230 [HTTP GET multiply compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind230 ../src/curl -q --output log/12/curl230.out --include --trace-ascii log/12/trace230 --trace-time http://127.0.0.1:40921/230 --compressed > log/12/stdout230 2> log/12/stderr230 230: protocol FAILED!CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind231 ../src/curl -q --output log/3/curl231.out --trace-ascii log/3/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test231.txt -C 10 > log/3/stdout231 2> log/3/stderr231 There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind230 ../src/curl -q --output log/12/curl230.out --include --trace-ascii log/12/trace230 --trace-time http://127.0.0.1:40921/230 --compressed > log/12/stdout230 2> log/12/stderr230 === End of file commands.log === Start of file http_server.log 19:26:30.194572 ====> Client connect 19:26:30.194607 accept_connection 3 returned 4 19:26:30.194629 Read 93 bytes 19:26:30.194638 Process 93 bytes request 19:26:30.194650 Got request: GET /verifiedserver HTTP/1.1 19:26:30.194658 Are-we-friendly question received 19:26:30.194689 Wrote request (93 bytes) input to log/12/server.input 19:26:30.194712 Identifying ourselves as friends 19:26:30.194777 Response sent (56 bytes) and written to log/12/server.response 19:26:30.194786 special request received, no persistency 19:26:30.194794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind230 ==92690== ==92690== Process terminating with default action of signal 4 (SIGILL) ==92690== Illegal opcode at address 0x492B75F ==92690== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92690== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92690== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92690== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92690== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92690== by 0x49908EB: curl_version_info (version.c:600) ==92690== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92690== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92690== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92690== by 0x4003269: main (tool_main.c:195) === End of file valgrind230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind235 ../src/curl -q --output log/6/curl235.out --include --trace-ascii log/6/trace235 --trace-time ftp://127.0.0.1:33989/235 -T log/6/upload235 -C - > log/6/stdout235 2> log/6/stderr235 test 0231 [file:// with resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind231 ../src/curl -q --output log/3/curl231.out --trace-ascii log/3/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test231.txt -C 10 > log/3/stdout231 2> log/3/stderr231 231: data FAILED: --- log/3/check-expected 2026-10-15 19:26:33.082825327 +0000 +++ log/3/check-generated 2026-10-15 19:26:33.081768887 +0000 @@ -1,2 +0,0 @@ -B01234567[LF] -C01234567[LF] == Contents of files in the log/3/ directory after test 231 === Start of file check-expected B01234567[LF] C01234567[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind231 ../src/curl -q --output log/3/curl231.out --trace-ascii log/3/trace231 --trace-time file://localhost/startdir/src/build-curl/tests/log/3/test231.txt -C 10 > log/3/stdout231 2> log/3/stderr231 === End of file commands.log === Start of file server.cmd Testnum 231 === End of file server.cmd === Start of file test231.txt A01234567 B01234567 C01234567 === End of file test231.txt === Start of file valgrind231 ==92630== ==92630== Process terminating with default action of signal 4 (SIGILL) ==92630== Illegal opcode at address 0x492B75F ==92630== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92630== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92630== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92630== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92630== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92630== by 0x49908EB: curl_version_info (version.c:600) ==92630== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92630== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92630== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92630== by 0x4003269: main (tool_main.c:195) === End of file valgrind231 test 0235 [FTP resumed upload but no file present remotely] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind235 ../src/curl -q --output log/6/curl235.out --include --trace-ascii log/6/trace235 --trace-time ftp://127.0.0.1:33989/235 -T log/6/upload235 -C - > log/6/stdout235 2> log/6/stderr235 235: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 235 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind235 ../src/curl -q --output log/6/curl235.out --include --trace-ascii log/6/trace235 --trace-time ftp://127.0.0.1:33989/235 -T log/6/upload235 -C - > log/6/stdout235 2> log/6/stderr235 === End of file commands.log === Start of file ftp_server.log 19:26:30.949135 ====> Client connect 19:26:30.949346 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:30.949609 < "USER anonymous" 19:26:30.949638 > "331 We are happy you popped in![CR][LF]" 19:26:30.949777 < "PASS ftp@example.com" 19:26:30.949799 > "230 Welcome you silly person[CR][LF]" 19:26:30.949921 < "PWD" 19:26:30.949947 > "257 "/" is current directory[CR][LF]" 19:26:30.950075 < "EPSV" 19:26:30.950100 ====> Passive DATA channel requested by client 19:26:30.950112 DATA sockfilt for passive data channel starting... 19:26:30.953390 DATA sockfilt for passive data channel started (pid 92878) 19:26:30.953521 DATA sockfilt for passive data channel listens on port 39031 19:26:30.953573 > "229 Entering Passive Mode (|||39031|)[CR][LF]" 19:26:30.953597 Client has been notified that upcoming DATA connection is awaited on port 39031 19:26:30.953876 Client connects to port 39031 19:26:30.953911 ====> Client established passive DATA connection on port 39031 19:26:30.953996 < "TYPE I" 19:26:30.954031 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:30.954219 < "SIZE verifiedserver" 19:26:30.954264 > "213 17[CR][LF]" 19:26:30.954454 < "RETR verifiedserver" 19:26:30.954501 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:30.954601 =====> Closing passive DATA connection... 19:26:30.954623 Server disconnects passive DATA connection 19:26:30.954897 Server disconnected passive DATA connection 19:26:30.954929 DATA sockfilt for passive data channel quits (pid 92878) 19:26:30.956621 DATA sockfilt for passive data channel quit (pid 92878) 19:26:30.956653 =====> Closed passive DATA connection 19:26:30.956684 > "226 File transfer complete[CR][LF]" 19:26:31.002330 < "QUIT" 19:26:31.002386 > "221 bye bye baby[CR][LF]" 19:26:31.003551 MAIN sockfilt said DISC 19:26:31.003591 ====> Client disconnected 19:26:31.003677 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:31.551620 ====> Client connect 19:26:31.551944 Received DATA (on stdin) 19:26:31.551956 > 146 bytes data, server => client 19:26:31.551966 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:31.551975 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:31.551983 '220 \___|\___/|_| \_\_____|\r\n' 19:26:31.552057 < 16 bytes data, client => server 19:26:31.552066 'USER anonymous\r\n' 19:26:31.552226 Received DATA (on stdin) 19:26:31.552235 > 33 bytes data, server => client 19:26:31.552243 '331 We are happy you popped in!\r\n' 19:26:31.552288 < 22 bytes data, client => server 19:26:31.552297 'PASS ftp@example.com\r\n' 19:26:31.552383 Received DATA (on stdin) 19:26:31.552391 > 30 bytes data, server => client 19:26:31.552400 '230 Welcome you silly person\r\n' 19:26:31.552441 < 5 bytes data, client => server 19:26:31.552449 'PWD\r\n' 19:26:31.552532 Received DATA (on stdin) 19:26:31.552540 > 30 bytes data, server => client 19:26:31.552549 '257 "/" is current directory\r\n' 19:26:31.552596 < 6 bytes data, client => server 19:26:31.552604 'EPSV\r\n' 19:26:31.556196 Received DATA (on stdin) 19:26:31.556210 > 39 bytes data, server => client 19:26:31.556221 '229 Entering Passive Mode (|||39031|)\r\n' 19:26:31.556383 < 8 bytes data, client => server 19:26:31.556400 'TYPE I\r\n' 19:26:31.556626 Received DATA (on stdin) 19:26:31.556639 > 33 bytes data, server => client 19:26:31.556649 '200 I modify TYPE as you wanted\r\n' 19:26:31.556709 < 21 bytes data, client => server 19:26:31.556724 'SIZE verifiedserver\r\n' 19:26:31.556860 Received DATA (on stdin) 19:26:31.556873 > 8 bytes data, server => client 19:26:31.556883 '213 17\r\n' 19:26:31.556941 < 21 bytes data, client => server 19:26:31.556956 'RETR verifiedserver\r\n' 19:26:31.557217 Received DATA (on stdin) 19:26:31.557230 > 29 bytes data, server => client 19:26:31.557241 '150 Binary junk (17 bytes).\r\n' 19:26:31.566367 Received DATA (on stdin) 19:26:31.566414 > 28 bytes data, server => client 19:26:31.566428 '226 File transfer complete\r\n' 19:26:31.604726 < 6 bytes data, client => server 19:26:31.604768 'QUIT\r\n' 19:26:31.604991 Received DATA (on stdin) 19:26:31.605001 > 18 bytes data, server => client 19:26:31.605011 '221 bye bye baby\r\n' 19:26:31.606084 ====> Client disconnect 19:26:31.606279 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:30.555647 Running IPv4 version 19:26:30.555722 Listening on port 39031 19:26:30.555766 Wrote pid 92878 to log/6/server/ftp_sockdata.pid 19:26:30.555916 Received PING (on stdin) 19:26:30.556017 Received PORT (on stdin) 19:26:30.556419 ====> Client connect 19:26:30.557308 Received DATA (on stdin) 19:26:30.557325 > 17 bytes data, server => client 19:26:30.557336 'WE ROOLZ: 85558\r\n' 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind232 ../src/curl -q --output log/23/curl232.out --include --trace-ascii log/23/trace232 --trace-time http://127.0.0.1:44711/232 --compressed > log/23/stdout232 2> log/23/stderr232 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:39881 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind233 ../src/curl -q --output log/17/curl233.out --include --trace-ascii log/17/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:35993 --user iam:myself --proxy-user testing:this --location > log/17/stdout233 2> log/17/stderr233 6:30.557367 Received DISC (on stdin) 19:26:30.557382 ====> Client forcibly disconnected 19:26:30.557531 Received QUIT (on stdin) 19:26:30.557545 quits 19:26:30.557612 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 500 command not understood Testnum 235 === End of file server.cmd === Start of file upload235 this is the *****crap******** that we are gonna upload worx? === End of file upload235 === Start of file valgrind235 ==92926== ==92926== Process terminating with default action of signal 4 (SIGILL) ==92926== Illegal opcode at address 0x492B75F ==92926== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92926== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92926== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92926== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92926== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92926== by 0x49908EB: curl_version_info (version.c:600) ==92926== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92926== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92926== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92926== by 0x4003269: main (tool_main.c:195) === End of file valgrind235 test 0232 [HTTP GET deflate raw-compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind232 ../src/curl -q --output log/23/curl232.out --include --trace-ascii log/23/trace232 --trace-time http://127.0.0.1:44711/232 --compressed > log/23/stdout232 2> log/23/stderr232 232: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind232 ../src/curl -q --output log/23/curl232.out --include --trace-ascii log/23/trace232 --trace-time http://127.0.0.1:44711/232 --compressed > log/23/stdout232 2> log/23/stderr232 === End of file commands.log === Start of file http_server.log 19:26:30.424670 ====> Client connect 19:26:30.424714 accept_connection 3 returned 4 19:26:30.424739 Read 93 bytes 19:26:30.424749 Process 93 bytes request 19:26:30.424762 Got request: GET /verifiedserver HTTP/1.1 19:26:30.424770 Are-we-friendly question received 19:26:30.424796 Wrote request (93 bytes) input to log/23/server.input 19:26:30.424811 Identifying ourselves as friends 19:26:30.425009 Response sent (56 bytes) and written to log/23/server.response 19:26:30.425019 special request received, no persistency 19:26:30.425028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 39890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind232 ==92814== ==92814== Process terminating with default action of signal 4 (SIGILL) ==92814== Illegal opcode at address 0x492B75F ==92814== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92814== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92814== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92814== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92814== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92814== by 0x49908EB: curl_version_info (version.c:600) ==92814== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92814== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92814== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92814== by 0x4003269: main (tool_main.c:195) === End of file valgrind232 test 0234 [HTTP, proxy, site+proxy auth and Location: --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:39881 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 234: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind234 ../src/curl -q --output log/21/curl234.out --include --trace-ascii log/21/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:39881 --user iam:myself --proxy-user testing:this --location-trusted > log/21/stdout234 2> log/21/stderr234 === End of file commands.log === Start of file http_server.log 19:26:30.546500 ====> Client connect 19:26:30.546565 accept_connection 3 returned 4 19:26:30.546584 Read 93 bytes 19:26:30.546593 Process 93 bytes request 19:26:30.546604 Got request: GET /verifiedserver HTTP/1.1 19:26:30.546612 Are-we-friendly question received 19:26:30.546637 Wrote request (93 bytes) input to log/21/server.input 19:26:30.546653 Identifying ourselves as friends 19:26:30.546709 Response sent (56 bytes) and written to log/21/server.response 19:26:30.546718 special request received, no persistency 19:26:30.546727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 45452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 234 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind234 ==92894== ==92894== Process terminating with default action of signal 4 (SIGILL) ==92894== Illegal opcode at address 0x492B75F ==92894== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92894== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92894== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92894== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92894== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92894== by 0x49908EB: curl_version_info (version.c:600) ==92894== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92894== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92894== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92894== by 0x4003269: main (tool_main.c:195) === End of file valgrind234 test 0233 [HTTP, proxy, site+proxy auth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind233 ../src/curl -q --output log/17/curl233.out --include -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind236 ../src/curl -q --output log/15/curl236.out --include --trace-ascii log/15/trace236 --trace-time ftp://127.0.0.1:44883/236 -T log/15/file236.txt -C - > log/15/stdout236 2> log/15/stderr236 -trace-ascii log/17/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:35993 --user iam:myself --proxy-user testing:this --location > log/17/stdout233 2> log/17/stderr233 233: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind233 ../src/curl -q --output log/17/curl233.out --include --trace-ascii log/17/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:35993 --user iam:myself --proxy-user testing:this --location > log/17/stdout233 2> log/17/stderr233 === End of file commands.log === Start of file http_server.log 19:26:31.538201 ====> Client connect 19:26:31.538248 accept_connection 3 returned 4 19:26:31.538275 Read 93 bytes 19:26:31.538287 Process 93 bytes request 19:26:31.538300 Got request: GET /verifiedserver HTTP/1.1 19:26:31.538310 Are-we-friendly question received 19:26:31.538343 Wrote request (93 bytes) input to log/17/server.input 19:26:31.538363 Identifying ourselves as friends 19:26:31.538451 Response sent (56 bytes) and written to log/17/server.response 19:26:31.538465 special request received, no persistency 19:26:31.538474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 233 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind233 ==92889== ==92889== Process terminating with default action of signal 4 (SIGILL) ==92889== Illegal opcode at address 0x492B75F ==92889== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==92889== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==92889== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==92889== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==92889== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==92889== by 0x49908EB: curl_version_info (version.c:600) ==92889== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==92889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==92889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==92889== by 0x4003269: main (tool_main.c:195) === End of file valgrind233 test 0236 [FTP resume upload but denied access to remote file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind236 ../src/curl -q --output log/15/curl236.out --include --trace-ascii log/15/trace236 --trace-time ftp://127.0.0.1:44883/236 -T log/15/file236.txt -C - > log/15/stdout236 2> log/15/stderr236 236: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind236 ../src/curl -q --output log/15/curl236.out --include --trace-ascii log/15/trace236 --trace-time ftp://127.0.0.1:44883/236 -T log/15/file236.txt -C - > log/15/stdout236 2> log/15/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 19:26:31.077886 ====> Client connect 19:26:31.078145 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:31.079613 < "USER anonymous" 19:26:31.079664 > "331 We are happy you popped in![CR][LF]" 19:26:31.079869 < "PASS ftp@example.com" 19:26:31.079908 > "230 Welcome you silly person[CR][LF]" 19:26:31.094854 < "PWD" 19:26:31.094917 > "257 "/" is current directory[CR][LF]" 19:26:31.095507 < "EPSV" 19:26:31.095535 ====> Passive DATA channel requested by client 19:26:31.095550 DATA sockfilt for passive data channel starting... 19:26:31.100871 DATA sockfilt for passive data channel started (pid 93000) 19:26:31.101025 DATA sockfilt for passive data channel listens on port 41827 19:26:31.101080 > "229 Entering Passive Mode (|||41827|)[CR][LF]" 19:26:31.101099 Client has been notified that upcoming DATA connection is awaited on port 41827 19:26:31.101448 Client connects to port 41827 19:26:31.101486 ====> Client established passive DATA connection on port 41827 19:26:31.101591 < "TYPE I" 19:26:31.101763 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:31.101835 < "SIZE verifiedserver" 19:26:31.101988 > "213 17[CR][LF]" 19:26:31.102096 < "RETR verifiedserver" 19:26:31.102130 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:31.102223 =====> Closing passive DATA connection... 19:26:31.102240 Server disconnects passive DATA connection 19:26:31.102487 Server disconnected passive DATA connection 19:26:31.102514 DATA sockfilt for passive data channel quits (pid 93000) 19:26:31.102741 DATA sockfilt for passive data channel quit (pid 93000) 19:26:31.102764 =====> Closed passive DATA connection 19:26:31.102792 > "226 File transfer complete[CR][LF]" 19:26:31.155504 < "QUIT" 19:26:31.155564 > "221 bye bye baby[CR][LF]" 19:26:31.158127 MAIN sockfilt said DISC 19:26:31.158233 ====> Client disconnected 19:26:31.158321 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:30.680361 ====> Client connect 19:26:30.680795 Received DATA (on stdin) 19:26:30.680814 > 146 bytes data, server => client 19:26:30.680826 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:30.680837 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:30.680847 '220 \___|\___/|_| \_\_____|\r\n' 19:26:30.682058 < 16 bytes data, client => server 19:26:30.682077 'USER anonymous\r\n' 19:26:30.682291 Received DATA (on stdin) 19:26:30.682303 > 33 bytes data, server => client 19:26:30.682313 '331 We are happy you popped in!\r\n' 19:26:30.682378 < 22 bytes data, client => server 19:26:30.682390 'PASS ftp@example.com\r\n' 19:26:30.682531 Received DATA (on stdin) 19:26:30.682543 > 30 bytes data, server => client 19:26:30.682553 '230 Welcome you silly person\r\n' 19:26:30.691367 < 5 bytes data, client => server 19:26:30.691399 'PWD\r\n' 19:26:30.697552 Received DATA (on stdin) 19:26:30.697572 > 30 bytes data, server => client 19:26:30.697582 '257 "/" is current directory\r\n' 19:26:30.698027 < 6 bytes data, client => server 19:26:30.698043 'EPSV\r\n' 19:26:30.703734 Received DATA (on stdin) 19:26:30.703750 > 39 bytes data, server => client 19:26:30.703761 '229 Entering Passive Mode (|||41827|)\r\n' 19:26:30.703986 < 8 bytes data, client => server 19:26:30.704003 'TYPE I\r\n' 19:26:30.704232 Received DATA (on stdin) 19:26:30.704246 > 33 bytes data, server => client 19:26:30.704269 '200 I modify TYPE as you wanted\r\n' 19:26:30.704334 < 21 bytes data, client => server 19:26:30.704345 'SIZE verifiedserver\r\n' 19:26:30.704479 Received DATA (on stdin) 19:26:30.704490 > 8 bytes data, server => client 19:26:30.704506 '213 17\r\n' 19:26:30.704563 < 21 bytes data, client => server 19:26:30.704573 'RETR verifiedserver\r\n' 19:26:30.704865 Received DATA (on stdin) 19:26:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind245 ../src/curl -q --output log/20/curl245.out --include --trace-ascii log/20/trace245 --trace-time http://127.0.0.1:33897/245 -u auser:apasswd --digest -d "junkelijunk" > log/20/stdout245 2> log/20/stderr245 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind237 ../src/curl -q --output log/7/curl237.out --include --trace-ascii log/7/trace237 --trace-time ftp://127.0.0.1:44283/237 --disable-epsv > log/7/stdout237 2> log/7/stderr237 0.704877 > 29 bytes data, server => client 19:26:30.704887 '150 Binary junk (17 bytes).\r\n' 19:26:30.705417 Received DATA (on stdin) 19:26:30.705429 > 28 bytes data, server => client 19:26:30.705439 '226 File transfer complete\r\n' 19:26:30.754699 < 6 bytes data, client => server 19:26:30.754738 'QUIT\r\n' 19:26:30.758210 Received DATA (on stdin) 19:26:30.758226 > 18 bytes data, server => client 19:26:30.758236 '221 bye bye baby\r\n' 19:26:30.759416 ====> Client disconnect 19:26:30.760792 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:31.702275 Running IPv4 version 19:26:31.702397 Listening on port 41827 19:26:31.703404 Wrote pid 93000 to log/15/server/ftp_sockdata.pid 19:26:31.703430 Received PING (on stdin) 19:26:31.703542 Received PORT (on stdin) 19:26:31.704025 ====> Client connect 19:26:31.704949 Received DATA (on stdin) 19:26:31.704961 > 17 bytes data, server => client 19:26:31.704975 'WE ROOLZ: 84744\r\n' 19:26:31.705004 Received DISC (on stdin) 19:26:31.705015 ====> Client forcibly disconnected 19:26:31.705146 Received QUIT (on stdin) 19:26:31.705156 quits 19:26:31.705220 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 access to this file is very much denied REPLY APPE 550 I said: access to this file is very much denied REPLY STOR 550 I said: access to this file is very much denied REPLY SIZE 500 command not understood Testnum 236 === End of file server.cmd === Start of file valgrind236 ==93061== ==93061== Process terminating with default action of signal 4 (SIGILL) ==93061== Illegal opcode at address 0x492B75F ==93061== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93061== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93061== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93061== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93061== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93061== by 0x49908EB: curl_version_info (version.c:600) ==93061== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93061== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93061== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93061== by 0x4003269: main (tool_main.c:195) === End of file valgrind236 test 0245 [HTTP POST --digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind245 ../src/curl -q --output log/20/curl245.out --include --trace-ascii log/20/trace245 --trace-time http://127.0.0.1:33897/245 -u auser:apasswd --digest -d "junkelijunk" > log/20/stdout245 2> log/20/stderr245 245: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind245 ../src/curl -q --output log/20/curl245.out --include --trace-ascii log/20/trace245 --trace-time http://127.0.0.1:33897/245 -u auser:apasswd --digest -d "junkelijunk" > log/20/stdout245 2> log/20/stderr245 === End of file commands.log === Start of file http_server.log 19:26:31.344836 ====> Client connect 19:26:31.344874 accept_connection 3 returned 4 19:26:31.344897 Read 93 bytes 19:26:31.344906 Process 93 bytes request 19:26:31.344919 Got request: GET /verifiedserver HTTP/1.1 19:26:31.344927 Are-we-friendly question received 19:26:31.344954 Wrote request (93 bytes) input to log/20/server.input 19:26:31.344971 Identifying ourselves as friends 19:26:31.345036 Response sent (56 bytes) and written to log/20/server.response 19:26:31.345044 special request received, no persistency 19:26:31.345052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind245 ==93309== ==93309== Process terminating with default action of signal 4 (SIGILL) ==93309== Illegal opcode at address 0x492B75F ==93309== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93309== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93309== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93309== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93309== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93309== by 0x49908EB: curl_version_info (version.c:600) ==93309== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93309== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93309== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93309== by 0x4003269: main (tool_main.c:195) === End of file valgrind245 test 0237 [FTP getting bad host in 227-response to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind237 ../src/curl -q --output log/7/curl237.out --include --trace-ascii log/7/trace237 --trace-time ftp://127.0.0.1:44283/237 --disable-epsv > log/7/stdout237 2> log/7/stderr237 237: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind237 ../src/curl -q --output log/7/curl237.out --include --trace-ascii log/7/trace237 --trace-time ftp://127.0.0.1:44283/237 --disable-epsv > log/7/stdout237 2> log/7/stderr237 === End of file commands.log === Start of file ftp_server.log 19:26:31.303487 ====> Client connect 19:26:31.303674 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:31.303941 < "USER anonymous" 19:26:31.303974 > "331 We are happy you popped in![CR][LF]" 19:26:31.304135 < "PASS ftp@example.com" 19:26:31.304159 > "230 Welcome you silly person[CR][LF]" 19:26:31.304301 < "PWD" 19:26:31.304331 > "257 "/" is current directory[CR][LF]" 19:26:31.304483 < "EPSV" 19:26:31.304507 ====> Passive DATA channel requested by client 19:26:31.304520 DATA sockfilt for passive data channel starting... 19:26:31.308307 DATA sockfilt for passive data channel started (pid 93142) 19:26:31.308597 DATA sockfilt for passive data channel listens on port 46477 19:26:31.308643 > "229 Entering Passive Mode (|||46477|)[CR][LF]" 19:26:31.308659 Client has been notified that upcoming DATA connection is awaited on port 46477 19:26:31.312073 Client connects to port 46477 19:26:31.312111 ====> Client established passive DATA connection on port 46477 19:26:31.312209 < "TYPE I" 19:26:31.312250 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:31.313773 < "SIZE verifiedserver" 19:26:31.313817 > "213 17[CR][LF]" 19:26:31.313975 < "RETR verifiedserver" 19:26:31.314012 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:31.314097 =====> Closing passive DATA connection... 19:26:31.314115 Server disconnects passive DATA connection 19:26:31.318697 Server disconnected passiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:37735/238 > log/11/stdout238 2> log/11/stderr238 ve DATA connection 19:26:31.318744 DATA sockfilt for passive data channel quits (pid 93142) 19:26:31.319299 DATA sockfilt for passive data channel quit (pid 93142) 19:26:31.319329 =====> Closed passive DATA connection 19:26:31.319362 > "226 File transfer complete[CR][LF]" 19:26:31.358151 < "QUIT" 19:26:31.358209 > "221 bye bye baby[CR][LF]" 19:26:31.359470 MAIN sockfilt said DISC 19:26:31.359507 ====> Client disconnected 19:26:31.359583 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:31.906052 ====> Client connect 19:26:31.906356 Received DATA (on stdin) 19:26:31.906370 > 146 bytes data, server => client 19:26:31.906381 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:31.906390 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:31.906399 '220 \___|\___/|_| \_\_____|\r\n' 19:26:31.906480 < 16 bytes data, client => server 19:26:31.906491 'USER anonymous\r\n' 19:26:31.906648 Received DATA (on stdin) 19:26:31.906659 > 33 bytes data, server => client 19:26:31.906669 '331 We are happy you popped in!\r\n' 19:26:31.906725 < 22 bytes data, client => server 19:26:31.906735 'PASS ftp@example.com\r\n' 19:26:31.906830 Received DATA (on stdin) 19:26:31.906840 > 30 bytes data, server => client 19:26:31.906850 '230 Welcome you silly person\r\n' 19:26:31.906897 < 5 bytes data, client => server 19:26:31.906907 'PWD\r\n' 19:26:31.907002 Received DATA (on stdin) 19:26:31.907012 > 30 bytes data, server => client 19:26:31.907021 '257 "/" is current directory\r\n' 19:26:31.907078 < 6 bytes data, client => server 19:26:31.907088 'EPSV\r\n' 19:26:31.913759 Received DATA (on stdin) 19:26:31.913781 > 39 bytes data, server => client 19:26:31.913792 '229 Entering Passive Mode (|||46477|)\r\n' 19:26:31.913957 < 8 bytes data, client => server 19:26:31.913973 'TYPE I\r\n' 19:26:31.916261 Received DATA (on stdin) 19:26:31.916280 > 33 bytes data, server => client 19:26:31.916290 '200 I modify TYPE as you wanted\r\n' 19:26:31.916350 < 21 bytes data, client => server 19:26:31.916360 'SIZE verifiedserver\r\n' 19:26:31.916494 Received DATA (on stdin) 19:26:31.916505 > 8 bytes data, server => client 19:26:31.916514 '213 17\r\n' 19:26:31.916566 < 21 bytes data, client => server 19:26:31.916576 'RETR verifiedserver\r\n' 19:26:31.916793 Received DATA (on stdin) 19:26:31.916805 > 29 bytes data, server => client 19:26:31.916814 '150 Binary junk (17 bytes).\r\n' 19:26:31.922045 Received DATA (on stdin) 19:26:31.922060 > 28 bytes data, server => client 19:26:31.922070 '226 File transfer complete\r\n' 19:26:31.960630 < 6 bytes data, client => server 19:26:31.960664 'QUIT\r\n' 19:26:31.960899 Received DATA (on stdin) 19:26:31.960909 > 18 bytes data, server => client 19:26:31.960918 '221 bye bye baby\r\n' 19:26:31.961364 ====> Client disconnect 19:26:31.962267 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:31.909057 Running IPv4 version 19:26:31.909133 Listening on port 46477 19:26:31.909175 Wrote pid 93142 to log/7/server/ftp_sockdata.pid 19:26:31.910872 Received PING (on stdin) 19:26:31.911097 Received PORT (on stdin) 19:26:31.914689 ====> Client connect 19:26:31.918016 Received DATA (on stdin) 19:26:31.918035 > 17 bytes data, server => client 19:26:31.918045 'WE ROOLZ: 84721\r\n' 19:26:31.918078 Received DISC (on stdin) 19:26:31.918090 ====> Client forcibly disconnected 19:26:31.921439 Received QUIT (on stdin) 19:26:31.921452 quits 19:26:31.921522 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASV 227 Entering Passive Mode (1216,256,2,127,127,127) Testnum 237 === End of file server.cmd === Start of file valgrind237 ==93166== ==93166== Process terminating with default action of signal 4 (SIGILL) ==93166== Illegal opcode at address 0x492B75F ==93166== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93166== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93166== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93166== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93166== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93166== by 0x49908EB: curl_version_info (version.c:600) ==93166== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93166== by 0x4003269: main (tool_main.c:195) === End of file valgrind237 test 0238 [FTP getting bad port in response to EPSV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:37735/238 > log/11/stdout238 2> log/11/stderr238 238: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind238 ../src/curl -q --output log/11/curl238.out --include --trace-ascii log/11/trace238 --trace-time ftp://127.0.0.1:37735/238 > log/11/stdout238 2> log/11/stderr238 === End of file commands.log === Start of file ftp_server.log 19:26:31.288808 ====> Client connect 19:26:31.289039 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:31.289362 < "USER anonymous" 19:26:31.289400 > "331 We are happy you popped in![CR][LF]" 19:26:31.289574 < "PASS ftp@example.com" 19:26:31.289604 > "230 Welcome you silly person[CR][LF]" 19:26:31.289772 < "PWD" 19:26:31.289808 > "257 "/" is current directory[CR][LF]" 19:26:31.289993 < "EPSV" 19:26:31.290021 ====> Passive DATA channel requested by client 19:26:31.290037 DATA sockfilt for passive data channel starting... 19:26:31.296728 DATA sockfilt for passive data channel started (pid 93137) 19:26:31.296896 DATA sockfilt for passive data channel listens on port 40881 19:26:31.296959 > "229 Entering Passive Mode (|||40881|)[CR][LF]" 19:26:31.296986 Client has been notified that upcoming DATA connection is awaited on port 40881 19:26:31.312084 Client connects to port 40881 19:26:31.312138 ====> Client established passive DATA connection on port 40881 19:26:31.312255 < "TYPE I" 19:26:31.312299 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:31.312505 < "SIZE verifiedserver" 19:26:31.312545 > "213 17[CR][LF]" 19:26:31.312707 < "RETR verifiedserver" 19:26:31.312742 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:31.312837 =====> Closing passive DATA connection... 19:26:31.312856 Server disconnects passive DATA connection 19:26:31.313080 Server disconnected passive DATA connection 19:26:31.313111 DATA sockfilt for passive data channel quits (pid 93137) 19:26:31.313375 DATA sockfilt for passive data channel quit (pid 93137) 19:26:31.313402 =====> Closed passive DATA connection 19:26:31.313430 > "226 File transfer complete[CR][LF]" 19:26:31.365570 < "QUIT" 19:26:31.365648 > "221 bye bye baby[CR][LF]" 19:26:31.375371 MAIN sockfilt said DISC 19:26:31.375445 ====> Client disconnected 19:26:31.375521 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:30.891344 ====> Client connect 19:26:30.891727 Received DATA (on stdin) 19:26:30.891743 > 146 bytes data, server => client 19:26:30.891754 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:30.891764 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:30.891774 '220 \___|\___/|_| \_\_____|\r\n' 19:26:30.891865 < 16 bytes data, client => server 19:26:30.891881 'USER anonymous\r\n' 19:26:30.892076 Received DATA (on stdin) 19:26:30.892089 > 33 byCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind246 ../src/curl -q --output log/24/curl246.out --include --trace-ascii log/24/trace246 --trace-time http://127.0.0.1:38895/246 -u auser:apasswd --digest -d "junkelijunk" > log/24/stdout246 2> log/24/stderr246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind249 ../src/curl -q --output log/2/curl249.out --include --trace-ascii log/2/trace249 --trace-time http://127.0.0.1:34531/249 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout249 2> log/2/stderr249 tes data, server => client 19:26:30.892099 '331 We are happy you popped in!\r\n' 19:26:30.892155 < 22 bytes data, client => server 19:26:30.892166 'PASS ftp@example.com\r\n' 19:26:30.892276 Received DATA (on stdin) 19:26:30.892287 > 30 bytes data, server => client 19:26:30.892296 '230 Welcome you silly person\r\n' 19:26:30.892351 < 5 bytes data, client => server 19:26:30.892364 'PWD\r\n' 19:26:30.892479 Received DATA (on stdin) 19:26:30.892490 > 30 bytes data, server => client 19:26:30.892500 '257 "/" is current directory\r\n' 19:26:30.892567 < 6 bytes data, client => server 19:26:30.892580 'EPSV\r\n' 19:26:30.899675 Received DATA (on stdin) 19:26:30.899694 > 39 bytes data, server => client 19:26:30.899705 '229 Entering Passive Mode (|||40881|)\r\n' 19:26:30.904810 < 8 bytes data, client => server 19:26:30.904835 'TYPE I\r\n' 19:26:30.914982 Received DATA (on stdin) 19:26:30.915001 > 33 bytes data, server => client 19:26:30.915011 '200 I modify TYPE as you wanted\r\n' 19:26:30.915091 < 21 bytes data, client => server 19:26:30.915103 'SIZE verifiedserver\r\n' 19:26:30.915222 Received DATA (on stdin) 19:26:30.915233 > 8 bytes data, server => client 19:26:30.915242 '213 17\r\n' 19:26:30.915296 < 21 bytes data, client => server 19:26:30.915308 'RETR verifiedserver\r\n' 19:26:30.915618 Received DATA (on stdin) 19:26:30.915629 > 29 bytes data, server => client 19:26:30.915639 '150 Binary junk (17 bytes).\r\n' 19:26:30.916106 Received DATA (on stdin) 19:26:30.916117 > 28 bytes data, server => client 19:26:30.916127 '226 File transfer complete\r\n' 19:26:30.968050 < 6 bytes data, client => server 19:26:30.968097 'QUIT\r\n' 19:26:30.968344 Received DATA (on stdin) 19:26:30.968356 > 18 bytes data, server => client 19:26:30.968366 '221 bye bye baby\r\n' 19:26:30.974703 ====> Client disconnect 19:26:30.978220 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:31.894340 Running IPv4 version 19:26:31.894413 Listening on port 40881 19:26:31.894462 Wrote pid 93137 to log/11/server/ftp_sockdata.pid 19:26:31.899305 Received PING (on stdin) 19:26:31.899456 Received PORT (on stdin) 19:26:31.914685 ====> Client connect 19:26:31.915534 Received DATA (on stdin) 19:26:31.915545 > 17 bytes data, server => client 19:26:31.915555 'WE ROOLZ: 84823\r\n' 19:26:31.915583 Received DISC (on stdin) 19:26:31.915594 ====> Client forcibly disconnected 19:26:31.915795 Received QUIT (on stdin) 19:26:31.915806 quits 19:26:31.915874 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 229 Entering Passive Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==93200== ==93200== Process terminating with default action of signal 4 (SIGILL) ==93200== Illegal opcode at address 0x492B75F ==93200== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93200== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93200== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93200== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93200== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93200== by 0x49908EB: curl_version_info (version.c:600) ==93200== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93200== by 0x4003269: main (tool_main.c:195) === End of file valgrind238 test 0246 [HTTP POST --digest with server doing a 100 before 401 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind246 ../src/curl -q --output log/24/curl246.out --include --trace-ascii log/24/trace246 --trace-time http://127.0.0.1:38895/246 -u auser:apasswd --digest -d "junkelijunk" > log/24/stdout246 2> log/24/stderr246 246: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind246 ../src/curl -q --output log/24/curl246.out --include --trace-ascii log/24/trace246 --trace-time http://127.0.0.1:38895/246 -u auser:apasswd --digest -d "junkelijunk" > log/24/stdout246 2> log/24/stderr246 === End of file commands.log === Start of file http_server.log 19:26:31.860829 ====> Client connect 19:26:31.860863 accept_connection 3 returned 4 19:26:31.860884 Read 93 bytes 19:26:31.860893 Process 93 bytes request 19:26:31.860906 Got request: GET /verifiedserver HTTP/1.1 19:26:31.860915 Are-we-friendly question received 19:26:31.860940 Wrote request (93 bytes) input to log/24/server.input 19:26:31.860955 Identifying ourselves as friends 19:26:31.861013 Response sent (56 bytes) and written to log/24/server.response 19:26:31.861022 special request received, no persistency 19:26:31.861030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 47306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind246 ==93399== ==93399== Process terminating with default action of signal 4 (SIGILL) ==93399== Illegal opcode at address 0x492B75F ==93399== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93399== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93399== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93399== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93399== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93399== by 0x49908EB: curl_version_info (version.c:600) ==93399== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93399== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93399== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93399== by 0x4003269: main (tool_main.c:195) === End of file valgrind246 test 0249 [HTTP 304 response with "illegal" Content-Length: header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind249 ../src/curl -q --output log/2/curl249.out --include --trace-ascii log/2/trace249 --trace-time http://127.0.0.1:34531/249 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout249 2> log/2/stderr249 249: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind249 ../src/curl -q --output log/2/curl249.out --include --trace-ascii log/2/trace249 --trace-time http://127.0.0.1:34531/249 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout249 2> log/2/stderr249 === End of file commands.log === Start of file http_server.log 19:26:33.002278 ====> Client connect 19:26:33.002322 accept_connection 3 returned 4 19:26:33.002349 Read 93 bytes 19:26:33.002360 Process 93 bytes request 19:26:33.002374 Got request: GET /verifiedserver HTTP/1.1 19:26:33.002383 Are-we-friendly question recCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind240 ../src/curl -q --output log/18/curl240.out --include --trace-ascii log/18/trace240 --trace-time -g "http://[::1]:34495/240" > log/18/stdout240 2> log/18/stderr240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind244 ../src/curl -q --output log/13/curl244.out --include --trace-ascii log/13/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:33695/fir%23t/th%69rd/244/ > log/13/stdout244 2> log/13/stderr244 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind251 ../src/curl -q --output log/16/curl251.out --include --trace-ascii log/16/trace251 --trace-time ftp://127.0.0.1:40031/ -P 127.0.0.1 > log/16/stdout251 2> log/16/stderr251 eived 19:26:33.002418 Wrote request (93 bytes) input to log/2/server.input 19:26:33.002438 Identifying ourselves as friends 19:26:33.002514 Response sent (56 bytes) and written to log/2/server.response 19:26:33.002528 special request received, no persistency 19:26:33.002537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 51494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind249 ==93487== ==93487== Process terminating with default action of signal 4 (SIGILL) ==93487== Illegal opcode at address 0x492B75F ==93487== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93487== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93487== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93487== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93487== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93487== by 0x49908EB: curl_version_info (version.c:600) ==93487== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93487== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93487== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93487== by 0x4003269: main (tool_main.c:195) === End of file valgrind249 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/18/server/http_ipv6_server.pid" --logfile "log/18/http_ipv6_server.log" --logdir "log/18" --portfile log/18/server/http_ipv6_server.port --config log/18/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 93140 port 34495 * pid http-ipv6 => 93140 93140 test 0240 [HTTP-IPv6 GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind240 ../src/curl -q --output log/18/curl240.out --include --trace-ascii log/18/trace240 --trace-time -g "http://[::1]:34495/240" > log/18/stdout240 2> log/18/stderr240 240: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind240 ../src/curl -q --output log/18/curl240.out --include --trace-ascii log/18/trace240 --trace-time -g "http://[::1]:34495/240" > log/18/stdout240 2> log/18/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 19:26:31.930077 Running HTTP IPv6 version on port 34495 19:26:31.930198 Wrote pid 93140 to log/18/server/http_ipv6_server.pid 19:26:31.930236 Wrote port 34495 to log/18/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 240 === End of file server.cmd === Start of file valgrind240 ==93420== ==93420== Process terminating with default action of signal 4 (SIGILL) ==93420== Illegal opcode at address 0x492B75F ==93420== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93420== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93420== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93420== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93420== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93420== by 0x49908EB: curl_version_info (version.c:600) ==93420== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93420== by 0x4003269: main (tool_main.c:195) === End of file valgrind240 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33695 (log/13/server/ftp_server.port) RUN: FTP server is PID 93286 port 33695 * pid ftp => 93286 93286 test 0244 [FTP dir listing with nocwd and URL encoded path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind244 ../src/curl -q --output log/13/curl244.out --include --trace-ascii log/13/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:33695/fir%23t/th%69rd/244/ > log/13/stdout244 2> log/13/stderr244 244: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 244 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind244 ../src/curl -q --output log/13/curl244.out --include --trace-ascii log/13/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:33695/fir%23t/th%69rd/244/ > log/13/stdout244 2> log/13/stderr244 === End of file commands.log === Start of file ftp_server.log 19:26:31.690417 FTP server listens on port IPv4/33695 19:26:31.690520 logged pid 93286 in log/13/server/ftp_server.pid 19:26:31.690550 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:31.292737 Running IPv4 version 19:26:31.292838 Listening on port 33695 19:26:31.292877 Wrote pid 93294 to log/13/server/ftp_sockctrl.pid 19:26:31.292909 Wrote port 33695 to log/13/server/ftp_server.port 19:26:31.293082 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==93796== ==93796== Process terminating with default action of signal 4 (SIGILL) ==93796== Illegal opcode at address 0x492B75F ==93796== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93796== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93796== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93796== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93796== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93796== by 0x49908EB: curl_version_info (version.c:600) ==93796== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93796== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93796== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93796== by 0x4003269: main (tool_main.c:195) === End of file valgrind244 test 0251 [FTP dir list, PORT with specified IP and slow response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind251 ../src/curl -q --output log/16/curl251.out --include --trace-ascii log/16/trace251 --trace-time ftp://127.0.0.1:40031/ -P 127.0.0.1 > log/16/stdout251 2> log/16/stderr251 251: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind247 ../src/curl -q --output log/1/curl247.out --include --trace-ascii log/1/trace247 --trace-time ftp://127.0.0.1:40221/247 -T log/1/test247.txt -z "apr 1 2005 08:00:00" > log/1/stdout247 2> log/1/stderr247 6 --log-file=log/16/valgrind251 ../src/curl -q --output log/16/curl251.out --include --trace-ascii log/16/trace251 --trace-time ftp://127.0.0.1:40031/ -P 127.0.0.1 > log/16/stdout251 2> log/16/stderr251 === End of file commands.log === Start of file ftp_server.log 19:26:32.579593 ====> Client connect 19:26:32.579802 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:32.582236 < "USER anonymous" 19:26:32.582395 > "331 We are happy you popped in![CR][LF]" 19:26:32.582461 < "PASS ftp@example.com" 19:26:32.582599 > "230 Welcome you silly person[CR][LF]" 19:26:32.582657 < "PWD" 19:26:32.582814 > "257 "/" is current directory[CR][LF]" 19:26:32.582871 < "EPSV" 19:26:32.582899 ====> Passive DATA channel requested by client 19:26:32.582914 DATA sockfilt for passive data channel starting... 19:26:32.595551 DATA sockfilt for passive data channel started (pid 93678) 19:26:32.595736 DATA sockfilt for passive data channel listens on port 42121 19:26:32.595798 > "229 Entering Passive Mode (|||42121|)[CR][LF]" 19:26:32.595818 Client has been notified that upcoming DATA connection is awaited on port 42121 19:26:32.597038 Client connects to port 42121 19:26:32.597076 ====> Client established passive DATA connection on port 42121 19:26:32.597182 < "TYPE I" 19:26:32.597218 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:32.597386 < "SIZE verifiedserver" 19:26:32.597425 > "213 17[CR][LF]" 19:26:32.597564 < "RETR verifiedserver" 19:26:32.597596 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:32.597686 =====> Closing passive DATA connection... 19:26:32.597701 Server disconnects passive DATA connection 19:26:32.597932 Server disconnected passive DATA connection 19:26:32.597956 DATA sockfilt for passive data channel quits (pid 93678) 19:26:32.598192 DATA sockfilt for passive data channel quit (pid 93678) 19:26:32.598213 =====> Closed passive DATA connection 19:26:32.598248 > "226 File transfer complete[CR][LF]" 19:26:32.645554 < "QUIT" 19:26:32.645613 > "221 bye bye baby[CR][LF]" 19:26:32.647333 MAIN sockfilt said DISC 19:26:32.647375 ====> Client disconnected 19:26:32.647453 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:32.182457 ====> Client connect 19:26:32.182795 Received DATA (on stdin) 19:26:32.182811 > 146 bytes data, server => client 19:26:32.182822 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:32.182832 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:32.182840 '220 \___|\___/|_| \_\_____|\r\n' 19:26:32.185050 < 16 bytes data, client => server 19:26:32.185068 'USER anonymous\r\n' 19:26:32.185232 Received DATA (on stdin) 19:26:32.185245 > 33 bytes data, server => client 19:26:32.185263 '331 We are happy you popped in!\r\n' 19:26:32.185318 < 22 bytes data, client => server 19:26:32.185331 'PASS ftp@example.com\r\n' 19:26:32.185445 Received DATA (on stdin) 19:26:32.185456 > 30 bytes data, server => client 19:26:32.185473 '230 Welcome you silly person\r\n' 19:26:32.185525 < 5 bytes data, client => server 19:26:32.185537 'PWD\r\n' 19:26:32.185647 Received DATA (on stdin) 19:26:32.185659 > 30 bytes data, server => client 19:26:32.185676 '257 "/" is current directory\r\n' 19:26:32.185738 < 6 bytes data, client => server 19:26:32.185750 'EPSV\r\n' 19:26:32.198809 Received DATA (on stdin) 19:26:32.198827 > 39 bytes data, server => client 19:26:32.198838 '229 Entering Passive Mode (|||42121|)\r\n' 19:26:32.199048 < 8 bytes data, client => server 19:26:32.199065 'TYPE I\r\n' 19:26:32.200199 Received DATA (on stdin) 19:26:32.200211 > 33 bytes data, server => client 19:26:32.200222 '200 I modify TYPE as you wanted\r\n' 19:26:32.200285 < 21 bytes data, client => server 19:26:32.200295 'SIZE verifiedserver\r\n' 19:26:32.200404 Received DATA (on stdin) 19:26:32.200414 > 8 bytes data, server => client 19:26:32.200424 '213 17\r\n' 19:26:32.200470 < 21 bytes data, client => server 19:26:32.200479 'RETR verifiedserver\r\n' 19:26:32.200684 Received DATA (on stdin) 19:26:32.200694 > 29 bytes data, server => client 19:26:32.200704 '150 Binary junk (17 bytes).\r\n' 19:26:32.201231 Received DATA (on stdin) 19:26:32.201242 > 28 bytes data, server => client 19:26:32.201252 '226 File transfer complete\r\n' 19:26:32.248349 < 6 bytes data, client => server 19:26:32.248379 'QUIT\r\n' 19:26:32.248609 Received DATA (on stdin) 19:26:32.248620 > 18 bytes data, server => client 19:26:32.248630 '221 bye bye baby\r\n' 19:26:32.250066 ====> Client disconnect 19:26:32.250446 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:32.188911 Running IPv4 version 19:26:32.188980 Listening on port 42121 19:26:32.189022 Wrote pid 93678 to log/16/server/ftp_sockdata.pid 19:26:32.191277 Received PING (on stdin) 19:26:32.198597 Received PORT (on stdin) 19:26:32.199960 ====> Client connect 19:26:32.200761 Received DATA (on stdin) 19:26:32.200775 > 17 bytes data, server => client 19:26:32.200784 'WE ROOLZ: 84702\r\n' 19:26:32.200810 Received DISC (on stdin) 19:26:32.200820 ====> Client forcibly disconnected 19:26:32.200943 Received QUIT (on stdin) 19:26:32.200953 quits 19:26:32.201025 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 251 === End of file server.cmd === Start of file valgrind251 ==93845== ==93845== Process terminating with default action of signal 4 (SIGILL) ==93845== Illegal opcode at address 0x492B75F ==93845== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93845== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93845== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93845== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93845== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93845== by 0x49908EB: curl_version_info (version.c:600) ==93845== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93845== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93845== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93845== by 0x4003269: main (tool_main.c:195) === End of file valgrind251 test 0247 [FTP upload time condition evaluates TRUE => skip upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind247 ../src/curl -q --output log/1/curl247.out --include --trace-ascii log/1/trace247 --trace-time ftp://127.0.0.1:40221/247 -T log/1/test247.txt -z "apr 1 2005 08:00:00" > log/1/stdout247 2> log/1/stderr247 247: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind247 ../src/curl -q --output log/1/curl247.out --include --trace-ascii log/1/trace247 --trace-time ftp://127.0.0.1:40221/247 -T log/1/test247.txt -z "apr 1 2005 08:00:00" > log/1/stdout247 2> log/1/stderr247 === End of file commands.log === Start of file ftp_server.log 19:26:32.417788 ====> Client connect 19:26:32.418023 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:32.418358 < "USER anonymous" 19:26:32.418399 > "331 We are happy you popped in![CR][LF]" 19:26:32.418595 < "PASS ftp@example.com" 19:26:32.418632 > "230 Welcome you silly person[CR][LF]" 19:26:32.423919 < "PWD" 19:26:32.423973 > "257 "/" is current directory[CR][LF]" 19:26:32.424173 < "EPSV" 19:26:32.424199 ====> Passive DATA channel requested by client 19:26:32.424213 DATA sockfilt for passive data channel starting... 19:26:32.428964 DATA sockfilt for passive data chaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind241 ../src/curl -q --output log/19/curl241.out --include --trace-ascii log/19/trace241 --trace-time -g "http://ip6-localhost:44065/241" > log/19/stdout241 2> log/19/stderr241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind250 ../src/curl -q --output log/8/curl250.out --include --trace log/8/trace250 --trace-time ftp://127.0.0.1:41879/ > log/8/stdout250 2> log/8/stderr250 nnel started (pid 93489) 19:26:32.429199 DATA sockfilt for passive data channel listens on port 40559 19:26:32.429249 > "229 Entering Passive Mode (|||40559|)[CR][LF]" 19:26:32.429268 Client has been notified that upcoming DATA connection is awaited on port 40559 19:26:32.435414 Client connects to port 40559 19:26:32.435469 ====> Client established passive DATA connection on port 40559 19:26:32.435573 < "TYPE I" 19:26:32.435616 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:32.452136 < "SIZE verifiedserver" 19:26:32.452429 > "213 17[CR][LF]" 19:26:32.452527 < "RETR verifiedserver" 19:26:32.452692 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:32.452812 =====> Closing passive DATA connection... 19:26:32.452834 Server disconnects passive DATA connection 19:26:32.453061 Server disconnected passive DATA connection 19:26:32.453091 DATA sockfilt for passive data channel quits (pid 93489) 19:26:32.459228 DATA sockfilt for passive data channel quit (pid 93489) 19:26:32.459273 =====> Closed passive DATA connection 19:26:32.459379 > "226 File transfer complete[CR][LF]" 19:26:32.505493 < "QUIT" 19:26:32.505551 > "221 bye bye baby[CR][LF]" 19:26:32.507308 MAIN sockfilt said DISC 19:26:32.507355 ====> Client disconnected 19:26:32.507427 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:33.020605 ====> Client connect 19:26:33.020980 Received DATA (on stdin) 19:26:33.020996 > 146 bytes data, server => client 19:26:33.021007 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:33.021017 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:33.021026 '220 \___|\___/|_| \_\_____|\r\n' 19:26:33.021113 < 16 bytes data, client => server 19:26:33.021127 'USER anonymous\r\n' 19:26:33.021343 Received DATA (on stdin) 19:26:33.021355 > 33 bytes data, server => client 19:26:33.021365 '331 We are happy you popped in!\r\n' 19:26:33.021424 < 22 bytes data, client => server 19:26:33.021435 'PASS ftp@example.com\r\n' 19:26:33.021571 Received DATA (on stdin) 19:26:33.021610 > 30 bytes data, server => client 19:26:33.021620 '230 Welcome you silly person\r\n' 19:26:33.024958 < 5 bytes data, client => server 19:26:33.024979 'PWD\r\n' 19:26:33.026916 Received DATA (on stdin) 19:26:33.026929 > 30 bytes data, server => client 19:26:33.026940 '257 "/" is current directory\r\n' 19:26:33.027027 < 6 bytes data, client => server 19:26:33.027039 'EPSV\r\n' 19:26:33.033376 Received DATA (on stdin) 19:26:33.033399 > 39 bytes data, server => client 19:26:33.033412 '229 Entering Passive Mode (|||40559|)\r\n' 19:26:33.033886 < 8 bytes data, client => server 19:26:33.033904 'TYPE I\r\n' 19:26:33.041615 Received DATA (on stdin) 19:26:33.041642 > 33 bytes data, server => client 19:26:33.041654 '200 I modify TYPE as you wanted\r\n' 19:26:33.048386 < 21 bytes data, client => server 19:26:33.048420 'SIZE verifiedserver\r\n' 19:26:33.055144 Received DATA (on stdin) 19:26:33.055168 > 8 bytes data, server => client 19:26:33.055191 '213 17\r\n' 19:26:33.055308 < 21 bytes data, client => server 19:26:33.055326 'RETR verifiedserver\r\n' 19:26:33.055502 Received DATA (on stdin) 19:26:33.055517 > 29 bytes data, server => client 19:26:33.055538 '150 Binary junk (17 bytes).\r\n' 19:26:33.062242 Received DATA (on stdin) 19:26:33.062260 > 28 bytes data, server => client 19:26:33.062278 '226 File transfer complete\r\n' 19:26:33.102094 < 6 bytes data, client => server 19:26:33.102119 'QUIT\r\n' 19:26:33.108519 Received DATA (on stdin) 19:26:33.108534 > 18 bytes data, server => client 19:26:33.108544 '221 bye bye baby\r\n' 19:26:33.109726 ====> Client disconnect 19:26:33.110388 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:32.031486 Running IPv4 version 19:26:32.031572 Listening on port 40559 19:26:32.031626 Wrote pid 93489 to log/1/server/ftp_sockdata.pid 19:26:32.031769 Received PING (on stdin) 19:26:32.032047 Received PORT (on stdin) 19:26:32.038280 ====> Client connect 19:26:32.055790 Received DATA (on stdin) 19:26:32.055808 > 17 bytes data, server => client 19:26:32.055818 'WE ROOLZ: 84935\r\n' 19:26:32.055912 Received DISC (on stdin) 19:26:32.055932 ====> Client forcibly disconnected 19:26:32.056053 Received QUIT (on stdin) 19:26:32.056066 quits 19:26:32.056144 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 247 === End of file server.cmd === Start of file test247.txt data to see that FTP works so does it? === End of file test247.txt === Start of file valgrind247 ==93680== ==93680== Process terminating with default action of signal 4 (SIGILL) ==93680== Illegal opcode at address 0x492B75F ==93680== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93680== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93680== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93680== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93680== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93680== by 0x49908EB: curl_version_info (version.c:600) ==93680== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93680== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93680== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93680== by 0x4003269: main (tool_main.c:195) === End of file valgrind247 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_ipv6_server.pid" --logfile "log/19/http_ipv6_server.log" --logdir "log/19" --portfile log/19/server/http_ipv6_server.port --config log/19/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 93199 port 44065 * pid http-ipv6 => 93199 93199 prechecked ./server/servers resolve --ipv6 ip6-localhost test 0241 [HTTP-IPv6 GET (using ip6-localhost)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind241 ../src/curl -q --output log/19/curl241.out --include --trace-ascii log/19/trace241 --trace-time -g "http://ip6-localhost:44065/241" > log/19/stdout241 2> log/19/stderr241 241: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 241 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind241 ../src/curl -q --output log/19/curl241.out --include --trace-ascii log/19/trace241 --trace-time -g "http://ip6-localhost:44065/241" > log/19/stdout241 2> log/19/stderr241 === End of file commands.log === Start of file http_ipv6_server.log 19:26:31.072252 Running HTTP IPv6 version on port 44065 19:26:31.072439 Wrote pid 93199 to log/19/server/http_ipv6_server.pid 19:26:31.072484 Wrote port 44065 to log/19/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 241 === End of file server.cmd === Start of file valgrind241 ==93536== ==93536== Process terminating with default action of signal 4 (SIGILL) ==93536== Illegal opcode at address 0x492B75F ==93536== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93536== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93536== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93536== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93536== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93536== by 0x49908EB: curl_version_info (version.c:600) ==93536== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93536== by 0x4003269: main (tool_main.c:195) === End of file valgrind241 test 0250 [FTP dir list PASV with slow response] ../libtool --mode=execute /usr/bin/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind242 ../src/curl -q --output log/14/curl242.out --include --trace-ascii log/14/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42263/242" > log/14/stdout242 2> log/14/stderr242 ind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind250 ../src/curl -q --output log/8/curl250.out --include --trace log/8/trace250 --trace-time ftp://127.0.0.1:41879/ > log/8/stdout250 2> log/8/stderr250 250: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind250 ../src/curl -q --output log/8/curl250.out --include --trace log/8/trace250 --trace-time ftp://127.0.0.1:41879/ > log/8/stdout250 2> log/8/stderr250 === End of file commands.log === Start of file ftp_server.log 19:26:32.540417 ====> Client connect 19:26:32.540607 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:32.540908 < "USER anonymous" 19:26:32.540950 > "331 We are happy you popped in![CR][LF]" 19:26:32.541138 < "PASS ftp@example.com" 19:26:32.541170 > "230 Welcome you silly person[CR][LF]" 19:26:32.541332 < "PWD" 19:26:32.541366 > "257 "/" is current directory[CR][LF]" 19:26:32.541542 < "EPSV" 19:26:32.541570 ====> Passive DATA channel requested by client 19:26:32.541584 DATA sockfilt for passive data channel starting... 19:26:32.554110 DATA sockfilt for passive data channel started (pid 93639) 19:26:32.556215 DATA sockfilt for passive data channel listens on port 38345 19:26:32.556275 > "229 Entering Passive Mode (|||38345|)[CR][LF]" 19:26:32.556291 Client has been notified that upcoming DATA connection is awaited on port 38345 19:26:32.556551 Client connects to port 38345 19:26:32.556598 ====> Client established passive DATA connection on port 38345 19:26:32.556817 < "TYPE I" 19:26:32.556864 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:32.557044 < "SIZE verifiedserver" 19:26:32.557088 > "213 17[CR][LF]" 19:26:32.557254 < "RETR verifiedserver" 19:26:32.557295 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:32.557396 =====> Closing passive DATA connection... 19:26:32.557415 Server disconnects passive DATA connection 19:26:32.557537 Server disconnected passive DATA connection 19:26:32.557561 DATA sockfilt for passive data channel quits (pid 93639) 19:26:32.557834 DATA sockfilt for passive data channel quit (pid 93639) 19:26:32.557860 =====> Closed passive DATA connection 19:26:32.557889 > "226 File transfer complete[CR][LF]" 19:26:32.606468 < "QUIT" 19:26:32.606523 > "221 bye bye baby[CR][LF]" 19:26:32.607695 MAIN sockfilt said DISC 19:26:32.607728 ====> Client disconnected 19:26:32.607809 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:32.143273 ====> Client connect 19:26:32.143595 Received DATA (on stdin) 19:26:32.143612 > 146 bytes data, server => client 19:26:32.143624 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:32.143634 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:32.143643 '220 \___|\___/|_| \_\_____|\r\n' 19:26:32.143728 < 16 bytes data, client => server 19:26:32.143742 'USER anonymous\r\n' 19:26:32.143922 Received DATA (on stdin) 19:26:32.143934 > 33 bytes data, server => client 19:26:32.143944 '331 We are happy you popped in!\r\n' 19:26:32.144003 < 22 bytes data, client => server 19:26:32.144015 'PASS ftp@example.com\r\n' 19:26:32.144138 Received DATA (on stdin) 19:26:32.144150 > 30 bytes data, server => client 19:26:32.144160 '230 Welcome you silly person\r\n' 19:26:32.144213 < 5 bytes data, client => server 19:26:32.144223 'PWD\r\n' 19:26:32.144335 Received DATA (on stdin) 19:26:32.144346 > 30 bytes data, server => client 19:26:32.144356 '257 "/" is current directory\r\n' 19:26:32.144419 < 6 bytes data, client => server 19:26:32.144432 'EPSV\r\n' 19:26:32.159231 Received DATA (on stdin) 19:26:32.159261 > 39 bytes data, server => client 19:26:32.159272 '229 Entering Passive Mode (|||38345|)\r\n' 19:26:32.159645 < 8 bytes data, client => server 19:26:32.159661 'TYPE I\r\n' 19:26:32.159843 Received DATA (on stdin) 19:26:32.159855 > 33 bytes data, server => client 19:26:32.159866 '200 I modify TYPE as you wanted\r\n' 19:26:32.159916 < 21 bytes data, client => server 19:26:32.159928 'SIZE verifiedserver\r\n' 19:26:32.160061 Received DATA (on stdin) 19:26:32.160073 > 8 bytes data, server => client 19:26:32.160082 '213 17\r\n' 19:26:32.160137 < 21 bytes data, client => server 19:26:32.160147 'RETR verifiedserver\r\n' 19:26:32.160864 Received DATA (on stdin) 19:26:32.160875 > 29 bytes data, server => client 19:26:32.160885 '150 Binary junk (17 bytes).\r\n' 19:26:32.160906 Received DATA (on stdin) 19:26:32.160915 > 28 bytes data, server => client 19:26:32.160925 '226 File transfer complete\r\n' 19:26:32.209242 < 6 bytes data, client => server 19:26:32.209270 'QUIT\r\n' 19:26:32.209509 Received DATA (on stdin) 19:26:32.209520 > 18 bytes data, server => client 19:26:32.209530 '221 bye bye baby\r\n' 19:26:32.210625 ====> Client disconnect 19:26:32.210791 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:32.149445 Running IPv4 version 19:26:32.152019 Listening on port 38345 19:26:32.152057 Wrote pid 93639 to log/8/server/ftp_sockdata.pid 19:26:32.152079 Received PING (on stdin) 19:26:32.159051 Received PORT (on stdin) 19:26:32.159456 ====> Client connect 19:26:32.160392 Received DATA (on stdin) 19:26:32.160407 > 17 bytes data, server => client 19:26:32.160417 'WE ROOLZ: 84824\r\n' 19:26:32.160445 Received DISC (on stdin) 19:26:32.160458 ====> Client forcibly disconnected 19:26:32.160541 Received QUIT (on stdin) 19:26:32.160552 quits 19:26:32.160624 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWN Testnum 250 === End of file server.cmd === Start of file valgrind250 ==93749== ==93749== Process terminating with default action of signal 4 (SIGILL) ==93749== Illegal opcode at address 0x492B75F ==93749== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93749== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93749== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93749== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93749== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93749== by 0x49908EB: curl_version_info (version.c:600) ==93749== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93749== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93749== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93749== by 0x4003269: main (tool_main.c:195) === End of file valgrind250 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/14/server/http_ipv6_server.pid" --logfile "log/14/http_ipv6_server.log" --logdir "log/14" --portfile log/14/server/http_ipv6_server.port --config log/14/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 93258 port 42263 * pid http-ipv6 => 93258 93258 test 0242 [HTTP-IPv6 GET with username+password in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind242 ../src/curl -q --output log/14/curl242.out --include --trace-ascii log/14/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42263/242" > log/14/stdout242 2> log/14/stderr242 242: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:39739/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 -num-callers=16 --log-file=log/14/valgrind242 ../src/curl -q --output log/14/curl242.out --include --trace-ascii log/14/trace242 --trace-time -g "http://foobar:barfoo@[::1]:42263/242" > log/14/stdout242 2> log/14/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 19:26:31.218123 Running HTTP IPv6 version on port 42263 19:26:31.218251 Wrote pid 93258 to log/14/server/http_ipv6_server.pid 19:26:31.218283 Wrote port 42263 to log/14/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 242 === End of file server.cmd === Start of file valgrind242 ==93688== ==93688== Process terminating with default action of signal 4 (SIGILL) ==93688== Illegal opcode at address 0x492B75F ==93688== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93688== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==93688== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93688== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93688== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93688== by 0x49908EB: curl_version_info (version.c:600) ==93688== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93688== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93688== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93688== by 0x4003269: main (tool_main.c:195) === End of file valgrind242 test 0248 [FTP upload time condition evaluates FALSE => upload anyway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:39739/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 248: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind248 ../src/curl -q --output log/4/curl248.out --include --trace-ascii log/4/trace248 --trace-time ftp://127.0.0.1:39739/248 -T log/4/test248.txt -z "apr 1 2005 08:00:00" > log/4/stdout248 2> log/4/stderr248 === End of file commands.log === Start of file ftp_server.log 19:26:32.365379 ====> Client connect 19:26:32.365611 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:32.365964 < "USER anonymous" 19:26:32.366009 > "331 We are happy you popped in![CR][LF]" 19:26:32.366298 < "PASS ftp@example.com" 19:26:32.366335 > "230 Welcome you silly person[CR][LF]" 19:26:32.366529 < "PWD" 19:26:32.366567 > "257 "/" is current directory[CR][LF]" 19:26:32.366750 < "EPSV" 19:26:32.366781 ====> Passive DATA channel requested by client 19:26:32.366802 DATA sockfilt for passive data channel starting... 19:26:32.382115 DATA sockfilt for passive data channel started (pid 93472) 19:26:32.382270 DATA sockfilt for passive data channel listens on port 46457 19:26:32.382318 > "229 Entering Passive Mode (|||46457|)[CR][LF]" 19:26:32.382335 Client has been notified that upcoming DATA connection is awaited on port 46457 19:26:32.382644 Client connects to port 46457 19:26:32.382673 ====> Client established passive DATA connection on port 46457 19:26:32.382770 < "TYPE I" 19:26:32.382802 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:32.382956 < "SIZE verifiedserver" 19:26:32.382993 > "213 17[CR][LF]" 19:26:32.383153 < "RETR verifiedserver" 19:26:32.383188 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:32.383285 =====> Closing passive DATA connection... 19:26:32.383302 Server disconnects passive DATA connection 19:26:32.383518 Server disconnected passive DATA connection 19:26:32.383545 DATA sockfilt for passive data channel quits (pid 93472) 19:26:32.383812 DATA sockfilt for passive data channel quit (pid 93472) 19:26:32.383836 =====> Closed passive DATA connection 19:26:32.383864 > "226 File transfer complete[CR][LF]" 19:26:32.428961 < "QUIT" 19:26:32.429013 > "221 bye bye baby[CR][LF]" 19:26:32.430153 MAIN sockfilt said DISC 19:26:32.430195 ====> Client disconnected 19:26:32.430269 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:31.968163 ====> Client connect 19:26:31.968562 Received DATA (on stdin) 19:26:31.968580 > 146 bytes data, server => client 19:26:31.968592 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:31.968602 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:31.968611 '220 \___|\___/|_| \_\_____|\r\n' 19:26:31.968694 < 16 bytes data, client => server 19:26:31.968708 'USER anonymous\r\n' 19:26:31.968943 Received DATA (on stdin) 19:26:31.968955 > 33 bytes data, server => client 19:26:31.969046 '331 We are happy you popped in!\r\n' 19:26:31.969106 < 22 bytes data, client => server 19:26:31.969121 'PASS ftp@example.com\r\n' 19:26:31.969269 Received DATA (on stdin) 19:26:31.969282 > 30 bytes data, server => client 19:26:31.969292 '230 Welcome you silly person\r\n' 19:26:31.969352 < 5 bytes data, client => server 19:26:31.969366 'PWD\r\n' 19:26:31.969495 Received DATA (on stdin) 19:26:31.969507 > 30 bytes data, server => client 19:26:31.969516 '257 "/" is current directory\r\n' 19:26:31.969582 < 6 bytes data, client => server 19:26:31.969595 'EPSV\r\n' 19:26:31.985273 Received DATA (on stdin) 19:26:31.985290 > 39 bytes data, server => client 19:26:31.985299 '229 Entering Passive Mode (|||46457|)\r\n' 19:26:31.985492 < 8 bytes data, client => server 19:26:31.985506 'TYPE I\r\n' 19:26:31.985732 Received DATA (on stdin) 19:26:31.985743 > 33 bytes data, server => client 19:26:31.985752 '200 I modify TYPE as you wanted\r\n' 19:26:31.985804 < 21 bytes data, client => server 19:26:31.985814 'SIZE verifiedserver\r\n' 19:26:31.985924 Received DATA (on stdin) 19:26:31.985935 > 8 bytes data, server => client 19:26:31.985944 '213 17\r\n' 19:26:31.985997 < 21 bytes data, client => server 19:26:31.986008 'RETR verifiedserver\r\n' 19:26:31.986232 Received DATA (on stdin) 19:26:31.986242 > 29 bytes data, server => client 19:26:31.986251 '150 Binary junk (17 bytes).\r\n' 19:26:31.986794 Received DATA (on stdin) 19:26:31.986806 > 28 bytes data, server => client 19:26:31.986815 '226 File transfer complete\r\n' 19:26:32.031746 < 6 bytes data, client => server 19:26:32.031769 'QUIT\r\n' 19:26:32.031958 Received DATA (on stdin) 19:26:32.031970 > 18 bytes data, server => client 19:26:32.031979 '221 bye bye baby\r\n' 19:26:32.033037 ====> Client disconnect 19:26:32.033212 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:32.972824 Running IPv4 version 19:26:32.972924 Listening on port 46457 19:26:32.972972 Wrote pid 93472 to log/4/server/ftp_sockdata.pid 19:26:32.984945 Received PING (on stdin) 19:26:32.985099 Received PORT (on stdin) 19:26:32.985527 ====> Client connect 19:26:32.986277 Received DATA (on stdin) 19:26:32.986288 > 17 bytes data, server => client 19:26:32.986297 'WE ROOLZ: 85249\r\n' 19:26:32.986322 Received DISC (on stdin) 19:26:32.986332 ====> Client forcibly disconnected 19:26:32.986482 Received QUIT (on stdin) 19:26:32.986493 quits 19:26:32.986575 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 248 === End of file server.cmd === Start of file test248.txt data to see that FTP works so does it? === End of file test248.txt === Start of file valgrind248 ==93525== ==93525== Process terminating with default action of signal 4 (SIGILL) ==93525== Illegal opcode at address 0x492B75F ==93525== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==93525== by 0x492C53A: curl_mvsnprintf (mprintf.c:125CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind259 ../src/curl -q --output log/23/curl259.out --include --trace-ascii log/23/trace259 --trace-time -x http://127.0.0.1:44711 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/23/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/23/stdout259 2> log/23/stderr259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind258 ../src/curl -q --output log/6/curl258.out --include --trace-ascii log/6/trace258 --trace-time -x http://127.0.0.1:33935 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/6/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/6/stdout258 2> log/6/stderr258 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind256 ../src/curl -q --include --trace-ascii log/12/trace256 --trace-time -x http://127.0.0.1:40921 http://127.0.0.1:40921/want/256 -C - --no-include -o log/12/fewl256.txt -U daniel:stenberg > log/12/stdout256 2> log/12/stderr256 7) ==93525== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==93525== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==93525== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==93525== by 0x49908EB: curl_version_info (version.c:600) ==93525== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==93525== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==93525== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==93525== by 0x4003269: main (tool_main.c:195) === End of file valgrind248 test 0259 [HTTP POST multipart with Expect: header using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind259 ../src/curl -q --output log/23/curl259.out --include --trace-ascii log/23/trace259 --trace-time -x http://127.0.0.1:44711 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/23/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/23/stdout259 2> log/23/stderr259 259: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind259 ../src/curl -q --output log/23/curl259.out --include --trace-ascii log/23/trace259 --trace-time -x http://127.0.0.1:44711 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/23/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/23/stdout259 2> log/23/stderr259 === End of file commands.log === Start of file http_server.log 19:26:32.980413 ====> Client connect 19:26:32.980444 accept_connection 3 returned 4 19:26:32.980465 Read 93 bytes 19:26:32.980474 Process 93 bytes request 19:26:32.980487 Got request: GET /verifiedserver HTTP/1.1 19:26:32.980495 Are-we-friendly question received 19:26:32.980520 Wrote request (93 bytes) input to log/23/server.input 19:26:32.980535 Identifying ourselves as friends 19:26:32.980591 Response sent (56 bytes) and written to log/23/server.response 19:26:32.980600 special request received, no persistency 19:26:32.980608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 36306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file test259.txt foo- This is a moo- bar === End of file test259.txt === Start of file valgrind259 ==94193== ==94193== Process terminating with default action of signal 4 (SIGILL) ==94193== Illegal opcode at address 0x492B75F ==94193== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94193== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94193== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94193== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94193== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94193== by 0x49908EB: curl_version_info (version.c:600) ==94193== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94193== by 0x4003269: main (tool_main.c:195) === End of file valgrind259 test 0258 [HTTP multipart POST without Expect: using proxy anyauth (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind258 ../src/curl -q --output log/6/curl258.out --include --trace-ascii log/6/trace258 --trace-time -x http://127.0.0.1:33935 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/6/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/6/stdout258 2> log/6/stderr258 258: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind258 ../src/curl -q --output log/6/curl258.out --include --trace-ascii log/6/trace258 --trace-time -x http://127.0.0.1:33935 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/6/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/6/stdout258 2> log/6/stderr258 === End of file commands.log === Start of file http_server.log 19:26:32.897373 ====> Client connect 19:26:32.897406 accept_connection 3 returned 4 19:26:32.897428 Read 93 bytes 19:26:32.897437 Process 93 bytes request 19:26:32.897451 Got request: GET /verifiedserver HTTP/1.1 19:26:32.897460 Are-we-friendly question received 19:26:32.897489 Wrote request (93 bytes) input to log/6/server.input 19:26:32.897506 Identifying ourselves as friends 19:26:32.897567 Response sent (56 bytes) and written to log/6/server.response 19:26:32.897577 special request received, no persistency 19:26:32.897586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 37242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file test258.txt foo- This is a moo- bar === End of file test258.txt === Start of file valgrind258 ==94135== ==94135== Process terminating with default action of signal 4 (SIGILL) ==94135== Illegal opcode at address 0x492B75F ==94135== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94135== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94135== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94135== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94135== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94135== by 0x49908EB: curl_version_info (version.c:600) ==94135== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94135== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94135== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94135== by 0x4003269: main (tool_main.c:195) === End of file valgrind258 test 0256 [HTTP resume request over proxy with auth without server supporting it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind256 ../src/curl -q --include --trace-ascii log/12/trace256 --trace-time -x http://127.0.0.1:40921 http://127.0.0.1:40921/want/256 -C - --no-include -o log/12/fewl256.txt -U daniel:stenberg > log/12/stdout256 2> log/12/stderr256 256: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind257 ../src/curl -q --output log/3/curl257.out --include --trace-ascii log/3/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36161 --netrc-optional --netrc-file log/3/netrc257 > log/3/stdout257 2> log/3/stderr257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-time -g "ftp://[::1]:36385/" -P - > log/5/stdout253 2> log/5/stderr253 protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind256 ../src/curl -q --include --trace-ascii log/12/trace256 --trace-time -x http://127.0.0.1:40921 http://127.0.0.1:40921/want/256 -C - --no-include -o log/12/fewl256.txt -U daniel:stenberg > log/12/stdout256 2> log/12/stderr256 === End of file commands.log === Start of file fewl256.txt This text is here to simulate a partly downloaded file to resume download on. === End of file fewl256.txt === Start of file http_server.log 19:26:32.636547 ====> Client connect 19:26:32.636583 accept_connection 3 returned 4 19:26:32.648495 Read 93 bytes 19:26:32.648522 Process 93 bytes request 19:26:32.648534 Got request: GET /verifiedserver HTTP/1.1 19:26:32.648542 Are-we-friendly question received 19:26:32.648589 Wrote request (93 bytes) input to log/12/server.input 19:26:32.648607 Identifying ourselves as friends 19:26:32.648670 Response sent (56 bytes) and written to log/12/server.response 19:26:32.648678 special request received, no persistency 19:26:32.648684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 40990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind256 ==94017== ==94017== Process terminating with default action of signal 4 (SIGILL) ==94017== Illegal opcode at address 0x492B75F ==94017== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94017== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94017== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94017== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94017== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94017== by 0x49908EB: curl_version_info (version.c:600) ==94017== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94017== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94017== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94017== by 0x4003269: main (tool_main.c:195) === End of file valgrind256 test 0257 [HTTP Location: following with --netrc-optional] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind257 ../src/curl -q --output log/3/curl257.out --include --trace-ascii log/3/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36161 --netrc-optional --netrc-file log/3/netrc257 > log/3/stdout257 2> log/3/stderr257 257: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind257 ../src/curl -q --output log/3/curl257.out --include --trace-ascii log/3/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36161 --netrc-optional --netrc-file log/3/netrc257 > log/3/stdout257 2> log/3/stderr257 === End of file commands.log === Start of file http_server.log 19:26:33.775083 ====> Client connect 19:26:33.775297 accept_connection 3 returned 4 19:26:33.775322 Read 93 bytes 19:26:33.775331 Process 93 bytes request 19:26:33.775343 Got request: GET /verifiedserver HTTP/1.1 19:26:33.775351 Are-we-friendly question received 19:26:33.775378 Wrote request (93 bytes) input to log/3/server.input 19:26:33.775394 Identifying ourselves as friends 19:26:33.775456 Response sent (56 bytes) and written to log/3/server.response 19:26:33.775465 special request received, no persistency 19:26:33.775473 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 43464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file netrc257 machine supersite.com login user1 password passwd1 machine anotherone.com login user2 password passwd2 === End of file netrc257 === Start of file server.cmd Testnum 257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind257 ==94084== ==94084== Process terminating with default action of signal 4 (SIGILL) ==94084== Illegal opcode at address 0x492B75F ==94084== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94084== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94084== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94084== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94084== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94084== by 0x49908EB: curl_version_info (version.c:600) ==94084== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94084== by 0x4003269: main (tool_main.c:195) === End of file valgrind257 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/ftp_ipv6_server.pid" --logfile "log/5/ftp_ipv6_server.log" --logdir "log/5" --portfile "log/5/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36385 (log/5/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 93651 port 36385 * pid ftp-ipv6 => 93651 93651 test 0253 [FTP IPv6 dir list with EPRT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-time -g "ftp://[::1]:36385/" -P - > log/5/stdout253 2> log/5/stderr253 253: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind253 ../src/curl -q --output log/5/curl253.out --include --trace-ascii log/5/trace253 --trace-time -g "ftp://[::1]:36385/" -P - > log/5/stdout253 2> log/5/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 19:26:32.652422 FTP server listens on port IPv6/36385 19:26:32.652569 logged pid 93651 in log/5/server/ftp_ipv6_server.pid 19:26:32.652612 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:26:32.25CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:41913/" > log/9/stdout252 2> log/9/stderr252 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind260 ../src/curl -q --output log/21/curl260.out --include --trace-ascii log/21/trace260 --trace-time "http://127.0.0.1:39881?260" > log/21/stdout260 2> log/21/stderr260 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind261 ../src/curl -q --output log/17/curl261.out --include --trace-ascii log/17/trace261 --trace-time ftp://127.0.0.1:46137/261 > log/17/stdout261 2> log/17/stderr261 3103 Running IPv6 version 19:26:32.253228 Listening on port 36385 19:26:32.253278 Wrote pid 93754 to log/5/server/ftp_ipv6_sockctrl.pid 19:26:32.253314 Wrote port 36385 to log/5/server/ftp_ipv6_server.port 19:26:32.255148 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 253 === End of file server.cmd === Start of file valgrind253 ==94336== ==94336== Process terminating with default action of signal 4 (SIGILL) ==94336== Illegal opcode at address 0x492B75F ==94336== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94336== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94336== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94336== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94336== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94336== by 0x49908EB: curl_version_info (version.c:600) ==94336== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94336== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94336== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94336== by 0x4003269: main (tool_main.c:195) === End of file valgrind253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/ftp_ipv6_server.pid" --logfile "log/9/ftp_ipv6_server.log" --logdir "log/9" --portfile "log/9/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 41913 (log/9/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 93636 port 41913 * pid ftp-ipv6 => 93636 93636 test 0252 [FTP IPv6 dir list PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:41913/" > log/9/stdout252 2> log/9/stderr252 252: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind252 ../src/curl -q --output log/9/curl252.out --include --trace-ascii log/9/trace252 --trace-time -g "ftp://[::1]:41913/" > log/9/stdout252 2> log/9/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 19:26:32.635677 FTP server listens on port IPv6/41913 19:26:32.635834 logged pid 93636 in log/9/server/ftp_ipv6_server.pid 19:26:32.635879 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:26:32.236213 Running IPv6 version 19:26:32.236314 Listening on port 41913 19:26:32.236361 Wrote pid 93728 to log/9/server/ftp_ipv6_sockctrl.pid 19:26:32.236427 Wrote port 41913 to log/9/server/ftp_ipv6_server.port 19:26:32.238519 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 252 === End of file server.cmd === Start of file valgrind252 ==94324== ==94324== Process terminating with default action of signal 4 (SIGILL) ==94324== Illegal opcode at address 0x492B75F ==94324== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94324== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94324== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94324== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94324== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94324== by 0x49908EB: curl_version_info (version.c:600) ==94324== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94324== by 0x4003269: main (tool_main.c:195) === End of file valgrind252 test 0260 [HTTP GET URL without slash but with question mark] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind260 ../src/curl -q --output log/21/curl260.out --include --trace-ascii log/21/trace260 --trace-time "http://127.0.0.1:39881?260" > log/21/stdout260 2> log/21/stderr260 260: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind260 ../src/curl -q --output log/21/curl260.out --include --trace-ascii log/21/trace260 --trace-time "http://127.0.0.1:39881?260" > log/21/stdout260 2> log/21/stderr260 === End of file commands.log === Start of file http_server.log 19:26:33.081929 ====> Client connect 19:26:33.081975 accept_connection 3 returned 4 19:26:33.081998 Read 93 bytes 19:26:33.082008 Process 93 bytes request 19:26:33.082021 Got request: GET /verifiedserver HTTP/1.1 19:26:33.082029 Are-we-friendly question received 19:26:33.082054 Wrote request (93 bytes) input to log/21/server.input 19:26:33.082070 Identifying ourselves as friends 19:26:33.082143 Response sent (56 bytes) and written to log/21/server.response 19:26:33.082152 special request received, no persistency 19:26:33.082160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 56470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 260 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind260 ==94267== ==94267== Process terminating with default action of signal 4 (SIGILL) ==94267== Illegal opcode at address 0x492B75F ==94267== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94267== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94267== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94267== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94267== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94267== by 0x49908EB: curl_version_info (version.c:600) ==94267== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94267== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94267== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94267== by 0x4003269: main (tool_main.c:195) === End of file valgrind260 test 0261 [FTP RETR with 226 response code to TYPE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind261 ../src/curl -q --output log/17/curl261.out --include --trace-ascii log/17/trace261 --trace-time ftp://127.0.0.1:46137/261 > log/17/stdout261 2> log/17/stderr261 261: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 261 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind261 ../src/curl -q --output log/17/curl261.out --include --trace-ascii log/17/trace261 --trace-time ftp://127.0.0.1:46137/261 > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind255 ../src/curl -q --output log/10/curl255.out --include --trace-ascii log/10/trace255 --trace-time -g "ftp://[::1]:36903/" -P - --disable-eprt > log/10/stdout255 2> log/10/stderr255 log/17/stdout261 2> log/17/stderr261 === End of file commands.log === Start of file ftp_server.log 19:26:33.625377 ====> Client connect 19:26:33.625634 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:33.626464 < "USER anonymous" 19:26:33.626516 > "331 We are happy you popped in![CR][LF]" 19:26:33.632137 < "PASS ftp@example.com" 19:26:33.632196 > "230 Welcome you silly person[CR][LF]" 19:26:33.642184 < "PWD" 19:26:33.642252 > "257 "/" is current directory[CR][LF]" 19:26:33.642513 < "EPSV" 19:26:33.642549 ====> Passive DATA channel requested by client 19:26:33.642565 DATA sockfilt for passive data channel starting... 19:26:33.655590 DATA sockfilt for passive data channel started (pid 94396) 19:26:33.655727 DATA sockfilt for passive data channel listens on port 38477 19:26:33.655771 > "229 Entering Passive Mode (|||38477|)[CR][LF]" 19:26:33.655788 Client has been notified that upcoming DATA connection is awaited on port 38477 19:26:33.656066 Client connects to port 38477 19:26:33.656100 ====> Client established passive DATA connection on port 38477 19:26:33.656237 < "TYPE I" 19:26:33.656273 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:33.656460 < "SIZE verifiedserver" 19:26:33.656507 > "213 17[CR][LF]" 19:26:33.656683 < "RETR verifiedserver" 19:26:33.656718 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:33.656815 =====> Closing passive DATA connection... 19:26:33.656833 Server disconnects passive DATA connection 19:26:33.657075 Server disconnected passive DATA connection 19:26:33.657105 DATA sockfilt for passive data channel quits (pid 94396) 19:26:33.657389 DATA sockfilt for passive data channel quit (pid 94396) 19:26:33.657415 =====> Closed passive DATA connection 19:26:33.657474 > "226 File transfer complete[CR][LF]" 19:26:33.702393 < "QUIT" 19:26:33.702446 > "221 bye bye baby[CR][LF]" 19:26:33.703757 MAIN sockfilt said DISC 19:26:33.703803 ====> Client disconnected 19:26:33.703893 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:33.227491 ====> Client connect 19:26:33.229137 Received DATA (on stdin) 19:26:33.229180 > 146 bytes data, server => client 19:26:33.229193 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:33.229204 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:33.229213 '220 \___|\___/|_| \_\_____|\r\n' 19:26:33.229299 < 16 bytes data, client => server 19:26:33.229313 'USER anonymous\r\n' 19:26:33.231894 Received DATA (on stdin) 19:26:33.231919 > 33 bytes data, server => client 19:26:33.231930 '331 We are happy you popped in!\r\n' 19:26:33.232000 < 22 bytes data, client => server 19:26:33.232012 'PASS ftp@example.com\r\n' 19:26:33.238575 Received DATA (on stdin) 19:26:33.238606 > 30 bytes data, server => client 19:26:33.238617 '230 Welcome you silly person\r\n' 19:26:33.238718 < 5 bytes data, client => server 19:26:33.238731 'PWD\r\n' 19:26:33.245493 Received DATA (on stdin) 19:26:33.245512 > 30 bytes data, server => client 19:26:33.245523 '257 "/" is current directory\r\n' 19:26:33.245630 < 6 bytes data, client => server 19:26:33.245644 'EPSV\r\n' 19:26:33.259027 Received DATA (on stdin) 19:26:33.259044 > 39 bytes data, server => client 19:26:33.259054 '229 Entering Passive Mode (|||38477|)\r\n' 19:26:33.259352 < 8 bytes data, client => server 19:26:33.259364 'TYPE I\r\n' 19:26:33.259507 Received DATA (on stdin) 19:26:33.259518 > 33 bytes data, server => client 19:26:33.259528 '200 I modify TYPE as you wanted\r\n' 19:26:33.259594 < 21 bytes data, client => server 19:26:33.259606 'SIZE verifiedserver\r\n' 19:26:33.259744 Received DATA (on stdin) 19:26:33.259755 > 8 bytes data, server => client 19:26:33.259764 '213 17\r\n' 19:26:33.259823 < 21 bytes data, client => server 19:26:33.259835 'RETR verifiedserver\r\n' 19:26:33.260160 Received DATA (on stdin) 19:26:33.260172 > 29 bytes data, server => client 19:26:33.260182 '150 Binary junk (17 bytes).\r\n' 19:26:33.260655 Received DATA (on stdin) 19:26:33.260667 > 28 bytes data, server => client 19:26:33.260706 '226 File transfer complete\r\n' 19:26:33.305444 < 6 bytes data, client => server 19:26:33.305479 'QUIT\r\n' 19:26:33.305697 Received DATA (on stdin) 19:26:33.305709 > 18 bytes data, server => client 19:26:33.305719 '221 bye bye baby\r\n' 19:26:33.306936 ====> Client disconnect 19:26:33.307143 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:33.256177 Running IPv4 version 19:26:33.256291 Listening on port 38477 19:26:33.256330 Wrote pid 94396 to log/17/server/ftp_sockdata.pid 19:26:33.258740 Received PING (on stdin) 19:26:33.258864 Received PORT (on stdin) 19:26:33.259245 ====> Client connect 19:26:33.260070 Received DATA (on stdin) 19:26:33.260082 > 17 bytes data, server => client 19:26:33.260092 'WE ROOLZ: 84749\r\n' 19:26:33.260122 Received DISC (on stdin) 19:26:33.260133 ====> Client forcibly disconnected 19:26:33.260349 Received QUIT (on stdin) 19:26:33.260360 quits 19:26:33.260431 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY TYPE 226 Kind of on the positive side Testnum 261 === End of file server.cmd === Start of file valgrind261 ==94464== ==94464== Process terminating with default action of signal 4 (SIGILL) ==94464== Illegal opcode at address 0x492B75F ==94464== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94464== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94464== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94464== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94464== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94464== by 0x49908EB: curl_version_info (version.c:600) ==94464== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94464== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94464== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94464== by 0x4003269: main (tool_main.c:195) === End of file valgrind261 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/ftp_ipv6_server.pid" --logfile "log/10/ftp_ipv6_server.log" --logdir "log/10" --portfile "log/10/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36903 (log/10/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 93908 port 36903 * pid ftp-ipv6 => 93908 93908 test 0255 [FTP IPv6 dir list with EPRT and --disable-eprt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind255 ../src/curl -q --output log/10/curl255.out --include --trace-ascii log/10/trace255 --trace-time -g "ftp://[::1]:36903/" -P - --disable-eprt > log/10/stdout255 2> log/10/stderr255 255: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind255 ../src/curl -q --output log/10/curl255.out --include --trace-ascii log/10/trace255 --trace-time -g "ftp://[::1]:36903/" -P - --disable-eprt > log/10/stdout255 2> log/10/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 19:26:32.858834 FTP server listens on port IPv6/36903 19:26:32.859000 logged pid 93908 in log/10/server/ftp_ipv6_server.pid 19:26:32.859040 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:26:32.456414 Running IPv6 version 19:26:32.456516 Listening on port 36903 19:26:32.456557 Wrote pid 93964 to log/10/server/ftp_ipv6_sockctrl.pid 19:26:32.456587 Wrote port 36903 to log/10/server/ftp_ipCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind254 ../src/curl -q --output log/22/curl254.out --include --trace-ascii log/22/trace254 --trace-time -g "ftp://[::1]:36459/" --disable-epsv > log/22/stdout254 2> log/22/stderr254 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind262 ../src/curl -q --output log/15/curl262.out --include --trace-ascii log/15/trace262 --trace-time http://127.0.0.1:40321/262 > log/15/stdout262 2> log/15/stderr262 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind264 ../src/curl -q --output log/7/curl264.out --include --trace-ascii log/7/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:40859 > log/7/stdout264 2> log/7/stderr264 v6_server.port 19:26:32.456608 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 255 === End of file server.cmd === Start of file valgrind255 ==94510== ==94510== Process terminating with default action of signal 4 (SIGILL) ==94510== Illegal opcode at address 0x492B75F ==94510== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94510== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94510== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94510== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94510== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94510== by 0x49908EB: curl_version_info (version.c:600) ==94510== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94510== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94510== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94510== by 0x4003269: main (tool_main.c:195) === End of file valgrind255 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/ftp_ipv6_server.pid" --logfile "log/22/ftp_ipv6_server.log" --logdir "log/22" --portfile "log/22/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36459 (log/22/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 93790 port 36459 * pid ftp-ipv6 => 93790 93790 test 0254 [FTP IPv6 dir list PASV and --disable-epsv] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind254 ../src/curl -q --output log/22/curl254.out --include --trace-ascii log/22/trace254 --trace-time -g "ftp://[::1]:36459/" --disable-epsv > log/22/stdout254 2> log/22/stderr254 254: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind254 ../src/curl -q --output log/22/curl254.out --include --trace-ascii log/22/trace254 --trace-time -g "ftp://[::1]:36459/" --disable-epsv > log/22/stdout254 2> log/22/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 19:26:32.762125 FTP server listens on port IPv6/36459 19:26:32.762409 logged pid 93790 in log/22/server/ftp_ipv6_server.pid 19:26:32.762457 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:26:32.356231 Running IPv6 version 19:26:32.356326 Listening on port 36459 19:26:32.356363 Wrote pid 93885 to log/22/server/ftp_ipv6_sockctrl.pid 19:26:32.356393 Wrote port 36459 to log/22/server/ftp_ipv6_server.port 19:26:32.361765 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 254 === End of file server.cmd === Start of file valgrind254 ==94436== ==94436== Process terminating with default action of signal 4 (SIGILL) ==94436== Illegal opcode at address 0x492B75F ==94436== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94436== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94436== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94436== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94436== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94436== by 0x49908EB: curl_version_info (version.c:600) ==94436== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94436== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94436== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94436== by 0x4003269: main (tool_main.c:195) === End of file valgrind254 test 0262 [Reject HTTP response with binary zero in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind262 ../src/curl -q --output log/15/curl262.out --include --trace-ascii log/15/trace262 --trace-time http://127.0.0.1:40321/262 > log/15/stdout262 2> log/15/stderr262 262: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind262 ../src/curl -q --output log/15/curl262.out --include --trace-ascii log/15/trace262 --trace-time http://127.0.0.1:40321/262 > log/15/stdout262 2> log/15/stderr262 === End of file commands.log === Start of file http_server.log 19:26:34.482016 ====> Client connect 19:26:34.482065 accept_connection 3 returned 4 19:26:34.482088 Read 93 bytes 19:26:34.482098 Process 93 bytes request 19:26:34.482113 Got request: GET /verifiedserver HTTP/1.1 19:26:34.482122 Are-we-friendly question received 19:26:34.482155 Wrote request (93 bytes) input to log/15/server.input 19:26:34.482178 Identifying ourselves as friends 19:26:34.482278 Response sent (56 bytes) and written to log/15/server.response 19:26:34.482294 special request received, no persistency 19:26:34.482303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 52236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 262 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind262 ==94637== ==94637== Process terminating with default action of signal 4 (SIGILL) ==94637== Illegal opcode at address 0x492B75F ==94637== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94637== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94637== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94637== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94637== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94637== by 0x49908EB: curl_version_info (version.c:600) ==94637== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94637== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94637== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94637== by 0x4003269: main (tool_main.c:195) === End of file valgrind262 test 0264 [HTTP with proxy string including http:// and user+password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind264 ../src/curl -q --output log/7/curl264.out --include --trace-ascii log/7/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:40859 > log/7/stdout264 2> log/7/stderr264 264: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind264 ../src/curl -q --output log/7/curl264.out --include --trace-ascii log/7/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:40859 > log/7/stdout264 2> log/7/stderr2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:40989/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind269 ../src/curl -q --output log/2/curl269.out --include --trace-ascii log/2/trace269 --trace-time http://127.0.0.1:34531/269 --ignore-content-length > log/2/stdout269 2> log/2/stderr269 64 === End of file commands.log === Start of file http_server.log 19:26:33.772101 ====> Client connect 19:26:33.772151 accept_connection 3 returned 4 19:26:33.772181 Read 93 bytes 19:26:33.772192 Process 93 bytes request 19:26:33.772206 Got request: GET /verifiedserver HTTP/1.1 19:26:33.772215 Are-we-friendly question received 19:26:33.772249 Wrote request (93 bytes) input to log/7/server.input 19:26:33.772270 Identifying ourselves as friends 19:26:33.772369 Response sent (56 bytes) and written to log/7/server.response 19:26:33.772384 special request received, no persistency 19:26:33.772392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 58964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 264 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind264 ==94723== ==94723== Process terminating with default action of signal 4 (SIGILL) ==94723== Illegal opcode at address 0x492B75F ==94723== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94723== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94723== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94723== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94723== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94723== by 0x49908EB: curl_version_info (version.c:600) ==94723== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94723== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94723== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94723== by 0x4003269: main (tool_main.c:195) === End of file valgrind264 test 0266 [HTTP GET with chunked Transfer-Encoding and chunked trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:40989/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 266: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind266 ../src/curl -q --output log/11/curl266.out --include --trace-ascii log/11/trace266 --trace-time http://127.0.0.1:40989/266 -D log/11/heads266 > log/11/stdout266 2> log/11/stderr266 === End of file commands.log === Start of file http_server.log 19:26:33.756500 ====> Client connect 19:26:33.756534 accept_connection 3 returned 4 19:26:33.756554 Read 93 bytes 19:26:33.756563 Process 93 bytes request 19:26:33.756576 Got request: GET /verifiedserver HTTP/1.1 19:26:33.756584 Are-we-friendly question received 19:26:33.756609 Wrote request (93 bytes) input to log/11/server.input 19:26:33.756625 Identifying ourselves as friends 19:26:33.756682 Response sent (56 bytes) and written to log/11/server.response 19:26:33.756691 special request received, no persistency 19:26:33.756700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 38490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind266 ==94712== ==94712== Process terminating with default action of signal 4 (SIGILL) ==94712== Illegal opcode at address 0x492B75F ==94712== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94712== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94712== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94712== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94712== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94712== by 0x49908EB: curl_version_info (version.c:600) ==94712== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94712== by 0x4003269: main (tool_main.c:195) === End of file valgrind266 test 0269 [HTTP --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind269 ../src/curl -q --output log/2/curl269.out --include --trace-ascii log/2/trace269 --trace-time http://127.0.0.1:34531/269 --ignore-content-length > log/2/stdout269 2> log/2/stderr269 269: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind269 ../src/curl -q --output log/2/curl269.out --include --trace-ascii log/2/trace269 --trace-time http://127.0.0.1:34531/269 --ignore-content-length > log/2/stdout269 2> log/2/stderr269 === End of file commands.log === Start of file http_server.log 19:26:35.237325 ====> Client connect 19:26:35.237360 accept_connection 3 returned 4 19:26:35.237381 Read 93 bytes 19:26:35.237390 Process 93 bytes request 19:26:35.237402 Got request: GET /verifiedserver HTTP/1.1 19:26:35.237411 Are-we-friendly question received 19:26:35.237439 Wrote request (93 bytes) input to log/2/server.input 19:26:35.237455 Identifying ourselves as friends 19:26:35.237521 Response sent (56 bytes) and written to log/2/server.response 19:26:35.237530 special request received, no persistency 19:26:35.237539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 51510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 269 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind269 ==94876== ==94876== Process terminating with default action of signal 4 (SIGILL) ==94876== Illegal opcode at address 0x492B75F ==94876== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94876== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94876== by 0x492B67B: curl_msnprintf (mCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind270 ../src/curl -q --output log/18/curl270.out --include --trace-ascii log/18/trace270 --trace-time ftp://127.0.0.1:36115/270 --ftp-skip-pasv-ip --disable-epsv > log/18/stdout270 2> log/18/stderr270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind268 ../src/curl -q --output log/24/curl268.out --include --trace-ascii log/24/trace268 --trace-time http://127.0.0.1:38895/268 --variable hello@log/24/junk --expand-data {{hello:json}} > log/24/stdout268 2> log/24/stderr268 printf.c:1277) ==94876== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94876== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94876== by 0x49908EB: curl_version_info (version.c:600) ==94876== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94876== by 0x4003269: main (tool_main.c:195) === End of file valgrind269 test 0270 [FTP RETR PASV --ftp-skip-pasv-ip] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind270 ../src/curl -q --output log/18/curl270.out --include --trace-ascii log/18/trace270 --trace-time ftp://127.0.0.1:36115/270 --ftp-skip-pasv-ip --disable-epsv > log/18/stdout270 2> log/18/stderr270 270: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 270 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind270 ../src/curl -q --output log/18/curl270.out --include --trace-ascii log/18/trace270 --trace-time ftp://127.0.0.1:36115/270 --ftp-skip-pasv-ip --disable-epsv > log/18/stdout270 2> log/18/stderr270 === End of file commands.log === Start of file ftp_server.log 19:26:34.755656 ====> Client connect 19:26:34.755928 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:34.759033 < "USER anonymous" 19:26:34.759085 > "331 We are happy you popped in![CR][LF]" 19:26:34.762214 < "PASS ftp@example.com" 19:26:34.762257 > "230 Welcome you silly person[CR][LF]" 19:26:34.762384 < "PWD" 19:26:34.762421 > "257 "/" is current directory[CR][LF]" 19:26:34.762565 < "EPSV" 19:26:34.762598 ====> Passive DATA channel requested by client 19:26:34.762616 DATA sockfilt for passive data channel starting... 19:26:34.764529 DATA sockfilt for passive data channel started (pid 94961) 19:26:34.764659 DATA sockfilt for passive data channel listens on port 46837 19:26:34.764712 > "229 Entering Passive Mode (|||46837|)[CR][LF]" 19:26:34.764730 Client has been notified that upcoming DATA connection is awaited on port 46837 19:26:34.765062 Client connects to port 46837 19:26:34.765096 ====> Client established passive DATA connection on port 46837 19:26:34.765184 < "TYPE I" 19:26:34.765221 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:34.765410 < "SIZE verifiedserver" 19:26:34.765456 > "213 17[CR][LF]" 19:26:34.766144 < "RETR verifiedserver" 19:26:34.766185 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:34.766269 =====> Closing passive DATA connection... 19:26:34.766284 Server disconnects passive DATA connection 19:26:34.766514 Server disconnected passive DATA connection 19:26:34.766538 DATA sockfilt for passive data channel quits (pid 94961) 19:26:34.766752 DATA sockfilt for passive data channel quit (pid 94961) 19:26:34.766773 =====> Closed passive DATA connection 19:26:34.766799 > "226 File transfer complete[CR][LF]" 19:26:34.809158 < "QUIT" 19:26:34.809229 > "221 bye bye baby[CR][LF]" 19:26:34.810595 MAIN sockfilt said DISC 19:26:34.810639 ====> Client disconnected 19:26:34.810738 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:34.355879 ====> Client connect 19:26:34.362164 Received DATA (on stdin) 19:26:34.362203 > 146 bytes data, server => client 19:26:34.362215 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:34.362225 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:34.362234 '220 \___|\___/|_| \_\_____|\r\n' 19:26:34.362335 < 16 bytes data, client => server 19:26:34.362346 'USER anonymous\r\n' 19:26:34.365488 Received DATA (on stdin) 19:26:34.365507 > 33 bytes data, server => client 19:26:34.365518 '331 We are happy you popped in!\r\n' 19:26:34.365586 < 22 bytes data, client => server 19:26:34.365597 'PASS ftp@example.com\r\n' 19:26:34.365730 Received DATA (on stdin) 19:26:34.365743 > 30 bytes data, server => client 19:26:34.365754 '230 Welcome you silly person\r\n' 19:26:34.365805 < 5 bytes data, client => server 19:26:34.365816 'PWD\r\n' 19:26:34.365896 Received DATA (on stdin) 19:26:34.365910 > 30 bytes data, server => client 19:26:34.365920 '257 "/" is current directory\r\n' 19:26:34.365982 < 6 bytes data, client => server 19:26:34.365992 'EPSV\r\n' 19:26:34.368235 Received DATA (on stdin) 19:26:34.368253 > 39 bytes data, server => client 19:26:34.368264 '229 Entering Passive Mode (|||46837|)\r\n' 19:26:34.368466 < 8 bytes data, client => server 19:26:34.368483 'TYPE I\r\n' 19:26:34.368721 Received DATA (on stdin) 19:26:34.368733 > 33 bytes data, server => client 19:26:34.368744 '200 I modify TYPE as you wanted\r\n' 19:26:34.368812 < 21 bytes data, client => server 19:26:34.368826 'SIZE verifiedserver\r\n' 19:26:34.368957 Received DATA (on stdin) 19:26:34.368968 > 8 bytes data, server => client 19:26:34.368977 '213 17\r\n' 19:26:34.369030 < 21 bytes data, client => server 19:26:34.369041 'RETR verifiedserver\r\n' 19:26:34.369777 Received DATA (on stdin) 19:26:34.369788 > 29 bytes data, server => client 19:26:34.369797 '150 Binary junk (17 bytes).\r\n' 19:26:34.370292 Received DATA (on stdin) 19:26:34.370303 > 28 bytes data, server => client 19:26:34.370312 '226 File transfer complete\r\n' 19:26:34.412411 < 6 bytes data, client => server 19:26:34.412449 'QUIT\r\n' 19:26:34.412750 Received DATA (on stdin) 19:26:34.412767 > 18 bytes data, server => client 19:26:34.412778 '221 bye bye baby\r\n' 19:26:34.414029 ====> Client disconnect 19:26:34.414257 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:34.367664 Running IPv4 version 19:26:34.367753 Listening on port 46837 19:26:34.367803 Wrote pid 94961 to log/18/server/ftp_sockdata.pid 19:26:34.367959 Received PING (on stdin) 19:26:34.368055 Received PORT (on stdin) 19:26:34.368507 ====> Client connect 19:26:34.369855 Received DATA (on stdin) 19:26:34.369867 > 17 bytes data, server => client 19:26:34.369876 'WE ROOLZ: 85350\r\n' 19:26:34.369901 Received DISC (on stdin) 19:26:34.369911 ====> Client forcibly disconnected 19:26:34.370037 Received QUIT (on stdin) 19:26:34.370046 quits 19:26:34.370107 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd PASVBADIP Testnum 270 === End of file server.cmd === Start of file valgrind270 ==95020== ==95020== Process terminating with default action of signal 4 (SIGILL) ==95020== Illegal opcode at address 0x492B75F ==95020== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95020== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95020== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95020== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95020== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95020== by 0x49908EB: curl_version_info (version.c:600) ==95020== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95020== by 0x4003269: main (tool_main.c:195) === End of file valgrind270 test 0268 [JSON encoding of Unicode string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind268 ../src/curl -q --output log/24/curl268.out --include --trace-ascii log/24/trace268 --trace-time http://127.0.0.1:38895/268 --variable hello@log/24/junk --expand-data {{hello:json}} > log/24/stdout268 2> log/24/stderr268 268: protocol FAILED! There was no content at all in the file log/24/server.input. Server gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-time http://127.0.0.1:38815/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:40031/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/stderr272 litch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 268 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind268 ../src/curl -q --output log/24/curl268.out --include --trace-ascii log/24/trace268 --trace-time http://127.0.0.1:38895/268 --variable hello@log/24/junk --expand-data {{hello:json}} > log/24/stdout268 2> log/24/stderr268 === End of file commands.log === Start of file http_server.log 19:26:34.244355 ====> Client connect 19:26:34.244390 accept_connection 3 returned 4 19:26:34.244414 Read 93 bytes 19:26:34.244425 Process 93 bytes request 19:26:34.244437 Got request: GET /verifiedserver HTTP/1.1 19:26:34.244447 Are-we-friendly question received 19:26:34.244475 Wrote request (93 bytes) input to log/24/server.input 19:26:34.244494 Identifying ourselves as friends 19:26:34.244563 Response sent (56 bytes) and written to log/24/server.response 19:26:34.244576 special request received, no persistency 19:26:34.244584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 47314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file junk “ === End of file junk === Start of file server.cmd Testnum 268 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind268 ==94895== ==94895== Process terminating with default action of signal 4 (SIGILL) ==94895== Illegal opcode at address 0x492B75F ==94895== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==94895== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==94895== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==94895== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==94895== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==94895== by 0x49908EB: curl_version_info (version.c:600) ==94895== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==94895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==94895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==94895== by 0x4003269: main (tool_main.c:195) === End of file valgrind268 test 0273 [HTTP with two Digest authorization headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-time http://127.0.0.1:38815/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 273: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind273 ../src/curl -q --output log/1/curl273.out --include --trace-ascii log/1/trace273 --trace-time http://127.0.0.1:38815/273 -u testuser:testpass --digest > log/1/stdout273 2> log/1/stderr273 === End of file commands.log === Start of file http_server.log 19:26:35.446917 ====> Client connect 19:26:35.446960 accept_connection 3 returned 4 19:26:35.446984 Read 93 bytes 19:26:35.446993 Process 93 bytes request 19:26:35.447006 Got request: GET /verifiedserver HTTP/1.1 19:26:35.447014 Are-we-friendly question received 19:26:35.447038 Wrote request (93 bytes) input to log/1/server.input 19:26:35.447053 Identifying ourselves as friends 19:26:35.447141 Response sent (56 bytes) and written to log/1/server.response 19:26:35.447149 special request received, no persistency 19:26:35.447157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 52204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind273 ==95048== ==95048== Process terminating with default action of signal 4 (SIGILL) ==95048== Illegal opcode at address 0x492B75F ==95048== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95048== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95048== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95048== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95048== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95048== by 0x49908EB: curl_version_info (version.c:600) ==95048== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95048== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95048== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95048== by 0x4003269: main (tool_main.c:195) === End of file valgrind273 test 0272 [FTP timed conditioned get file with identical time stamp] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:40031/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/stderr272 272: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 272 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind272 ../src/curl -q --output log/16/curl272.out --include --trace-ascii log/16/trace272 --trace-time ftp://127.0.0.1:40031/272 -z "2004 jan 1 12:12:12 UTC" > log/16/stdout272 2> log/16/stderr272 === End of file commands.log === Start of file ftp_server.log 19:26:34.872132 ====> Client connect 19:26:34.872357 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:34.882260 < "USER anonymous" 19:26:34.882314 > "331 We are happy you popped in![CR][LF]" 19:26:34.888862 < "PASS ftp@example.com" 19:26:34.888911 > "230 Welcome you silly person[CR][LF]" 19:26:34.889110 < "PWD" 19:26:34.889142 > "257 "/" is current directory[CR][LF]" 19:26:34.889299 < "EPSV" 19:26:34.889324 ====> Passive DATA channel requested by client 19:26:34.889338 DATA sockfilt for passive data channel starting... 19:26:34.902041 DATA sockfilt for passive data channel started (pid 95051) 19:26:34.902540 DATA sockfilt for passive data channel listens on port 38559 19:26:34.902599 > "229 Entering Passive Mode (|||38559|)[CR][LF]" 19:26:34.902620 Client has been notified that upcoming DATA connection is awaited on port 38559 19:26:34.902971 Client connects to port 38559 19:26:34.9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:46497/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 03003 ====> Client established passive DATA connection on port 38559 19:26:34.903106 < "TYPE I" 19:26:34.903143 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:34.903330 < "SIZE verifiedserver" 19:26:34.903373 > "213 17[CR][LF]" 19:26:34.903552 < "RETR verifiedserver" 19:26:34.903590 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:34.903689 =====> Closing passive DATA connection... 19:26:34.903709 Server disconnects passive DATA connection 19:26:34.903970 Server disconnected passive DATA connection 19:26:34.903999 DATA sockfilt for passive data channel quits (pid 95051) 19:26:34.904291 DATA sockfilt for passive data channel quit (pid 95051) 19:26:34.904317 =====> Closed passive DATA connection 19:26:34.904348 > "226 File transfer complete[CR][LF]" 19:26:34.952652 < "QUIT" 19:26:34.952714 > "221 bye bye baby[CR][LF]" 19:26:34.954093 MAIN sockfilt said DISC 19:26:34.954134 ====> Client disconnected 19:26:34.954227 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:34.475524 ====> Client connect 19:26:34.475894 Received DATA (on stdin) 19:26:34.475908 > 146 bytes data, server => client 19:26:34.475919 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:34.475928 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:34.475937 '220 \___|\___/|_| \_\_____|\r\n' 19:26:34.485535 < 16 bytes data, client => server 19:26:34.485570 'USER anonymous\r\n' 19:26:34.485839 Received DATA (on stdin) 19:26:34.485849 > 33 bytes data, server => client 19:26:34.485858 '331 We are happy you popped in!\r\n' 19:26:34.492204 < 22 bytes data, client => server 19:26:34.492234 'PASS ftp@example.com\r\n' 19:26:34.492436 Received DATA (on stdin) 19:26:34.492447 > 30 bytes data, server => client 19:26:34.492456 '230 Welcome you silly person\r\n' 19:26:34.492551 < 5 bytes data, client => server 19:26:34.492563 'PWD\r\n' 19:26:34.492661 Received DATA (on stdin) 19:26:34.492671 > 30 bytes data, server => client 19:26:34.492680 '257 "/" is current directory\r\n' 19:26:34.492739 < 6 bytes data, client => server 19:26:34.492749 'EPSV\r\n' 19:26:34.506157 Received DATA (on stdin) 19:26:34.506175 > 39 bytes data, server => client 19:26:34.506186 '229 Entering Passive Mode (|||38559|)\r\n' 19:26:34.506405 < 8 bytes data, client => server 19:26:34.506422 'TYPE I\r\n' 19:26:34.506672 Received DATA (on stdin) 19:26:34.506685 > 33 bytes data, server => client 19:26:34.506696 '200 I modify TYPE as you wanted\r\n' 19:26:34.506759 < 21 bytes data, client => server 19:26:34.506772 'SIZE verifiedserver\r\n' 19:26:34.506901 Received DATA (on stdin) 19:26:34.506913 > 8 bytes data, server => client 19:26:34.506923 '213 17\r\n' 19:26:34.506983 < 21 bytes data, client => server 19:26:34.506996 'RETR verifiedserver\r\n' 19:26:34.507240 Received DATA (on stdin) 19:26:34.507252 > 29 bytes data, server => client 19:26:34.507263 '150 Binary junk (17 bytes).\r\n' 19:26:34.507877 Received DATA (on stdin) 19:26:34.507889 > 28 bytes data, server => client 19:26:34.507900 '226 File transfer complete\r\n' 19:26:34.555562 < 6 bytes data, client => server 19:26:34.555608 'QUIT\r\n' 19:26:34.556262 Received DATA (on stdin) 19:26:34.556279 > 18 bytes data, server => client 19:26:34.556289 '221 bye bye baby\r\n' 19:26:34.557565 ====> Client disconnect 19:26:34.557771 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:34.496717 Running IPv4 version 19:26:34.496808 Listening on port 38559 19:26:34.496852 Wrote pid 95051 to log/16/server/ftp_sockdata.pid 19:26:34.502198 Received PING (on stdin) 19:26:34.505941 Received PORT (on stdin) 19:26:34.506446 ====> Client connect 19:26:34.507326 Received DATA (on stdin) 19:26:34.507342 > 17 bytes data, server => client 19:26:34.507352 'WE ROOLZ: 84702\r\n' 19:26:34.507385 Received DISC (on stdin) 19:26:34.507396 ====> Client forcibly disconnected 19:26:34.507533 Received QUIT (on stdin) 19:26:34.507545 quits 19:26:34.507630 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==95121== ==95121== Process terminating with default action of signal 4 (SIGILL) ==95121== Illegal opcode at address 0x492B75F ==95121== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95121== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95121== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95121== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95121== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95121== by 0x49908EB: curl_version_info (version.c:600) ==95121== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95121== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95121== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95121== by 0x4003269: main (tool_main.c:195) === End of file valgrind272 test 0274 [HTTP Location: following with --max-redirs 0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:46497/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 274: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind274 ../src/curl -q --output log/19/curl274.out --include --trace-ascii log/19/trace274 --trace-time http://127.0.0.1:46497/want/274 -L --max-redirs 0 > log/19/stdout274 2> log/19/stderr274 === End of file commands.log === Start of file http_server.log 19:26:34.534423 ====> Client connect 19:26:34.534457 accept_connection 3 returned 4 19:26:34.534610 Read 93 bytes 19:26:34.534623 Process 93 bytes request 19:26:34.534639 Got request: GET /verifiedserver HTTP/1.1 19:26:34.534648 Are-we-friendly question received 19:26:34.534678 Wrote request (93 bytes) input to log/19/server.input 19:26:34.534695 Identifying ourselves as friends 19:26:34.534759 Response sent (56 bytes) and written to log/19/server.response 19:26:34.534768 special request received, no persistency 19:26:34.534777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 47108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind274 ==95096== ==95096== Process terminating with default action of signal 4 (SIGILL) ==95096== Illegal opcode at address 0x492B75F ==95096== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95096== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95096== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95096== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95096== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95096== by 0x49908EB: curl_version_info (version.c:600) ==95096== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95096== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95096== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95096== by 0x4003269: maCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind263 ../src/curl -q --output log/20/curl263.out --include --trace-ascii log/20/trace263 --trace-time -g -x "http://[::1]:32913" http://veryveryremotesite.com/263 > log/20/stdout263 2> log/20/stderr263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind276 ../src/curl -q --output log/14/curl276.out --include --trace-ascii log/14/trace276 --trace-time "http://127.0.0.1:45467/want?uri=http://anything/276?secondq/276" -L > log/14/stdout276 2> log/14/stderr276 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:35735/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 in (tool_main.c:195) === End of file valgrind274 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_ipv6_server.pid" --logfile "log/20/http_ipv6_server.log" --logdir "log/20" --portfile log/20/server/http_ipv6_server.port --config log/20/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 94590 port 32913 * pid http-ipv6 => 94590 94590 test 0263 [HTTP-IPv6 GET with proxy specified using IPv6-numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind263 ../src/curl -q --output log/20/curl263.out --include --trace-ascii log/20/trace263 --trace-time -g -x "http://[::1]:32913" http://veryveryremotesite.com/263 > log/20/stdout263 2> log/20/stderr263 263: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind263 ../src/curl -q --output log/20/curl263.out --include --trace-ascii log/20/trace263 --trace-time -g -x "http://[::1]:32913" http://veryveryremotesite.com/263 > log/20/stdout263 2> log/20/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 19:26:33.522859 Running HTTP IPv6 version on port 32913 19:26:33.578690 Wrote pid 94590 to log/20/server/http_ipv6_server.pid 19:26:33.612050 Wrote port 32913 to log/20/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 263 === End of file server.cmd === Start of file valgrind263 ==95084== ==95084== Process terminating with default action of signal 4 (SIGILL) ==95084== Illegal opcode at address 0x492B75F ==95084== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95084== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95084== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95084== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95084== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95084== by 0x49908EB: curl_version_info (version.c:600) ==95084== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95084== by 0x4003269: main (tool_main.c:195) === End of file valgrind263 test 0276 [HTTP Location: following with multiple question marks in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind276 ../src/curl -q --output log/14/curl276.out --include --trace-ascii log/14/trace276 --trace-time "http://127.0.0.1:45467/want?uri=http://anything/276?secondq/276" -L > log/14/stdout276 2> log/14/stderr276 276: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 276 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind276 ../src/curl -q --output log/14/curl276.out --include --trace-ascii log/14/trace276 --trace-time "http://127.0.0.1:45467/want?uri=http://anything/276?secondq/276" -L > log/14/stdout276 2> log/14/stderr276 === End of file commands.log === Start of file http_server.log 19:26:34.875184 ====> Client connect 19:26:34.875222 accept_connection 3 returned 4 19:26:34.875246 Read 93 bytes 19:26:34.875257 Process 93 bytes request 19:26:34.875272 Got request: GET /verifiedserver HTTP/1.1 19:26:34.875281 Are-we-friendly question received 19:26:34.875313 Wrote request (93 bytes) input to log/14/server.input 19:26:34.875332 Identifying ourselves as friends 19:26:34.875404 Response sent (56 bytes) and written to log/14/server.response 19:26:34.875416 special request received, no persistency 19:26:34.875425 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 52984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 276 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind276 ==95358== ==95358== Process terminating with default action of signal 4 (SIGILL) ==95358== Illegal opcode at address 0x492B75F ==95358== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95358== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95358== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95358== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95358== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95358== by 0x49908EB: curl_version_info (version.c:600) ==95358== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95358== by 0x4003269: main (tool_main.c:195) === End of file valgrind276 test 0277 [HTTP RFC1867-type formposting with custom Content-Type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:35735/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 277: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind277 ../src/curl -q --output log/4/curl277.out --include --trace-ascii log/4/trace277 --trace-time http://127.0.0.1:35735/want/277 -F name=daniel -H "Content-Type: text/info" > log/4/stdout277 2> log/4/stderr277 === End of file commands.log === Start of file http_server.log 19:26:35.937969 ====> Client connect 19:26:35.938004 accept_connection 3 returned 4 19:26:35.938026 Read 93 bytes 19:26:35.938035 Process 93 bytes request 19:26:35.938048 Got request: GET /verifiedserver HTTP/1.1 19:26:35.938056 Are-we-friendly question received 19:26:35.938081 Wrote request (93 bytes) input to log/4/server.input 19:26:35.938096 Identifying ourselves as friends 19:26:35.938161 Response sent (56 bytes) and written to log/4/server.response 19:26:35.938170 special request received, no persistency 19:26:35.938178 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 52934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === EndCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind281 ../src/curl -q --output log/3/curl281.out --include --trace-ascii log/3/trace281 --trace-time http://127.0.0.1:36161/we/want/281 -f -T log/3/test281.txt > log/3/stdout281 2> log/3/stderr281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind271 ../src/curl -q --output log/13/curl271.out --include --trace-ascii log/13/trace271 --trace-time tftp://127.0.0.1:52808//271 > log/13/stdout271 2> log/13/stderr271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:33935 > log/6/stdout279 2> log/6/stderr279 of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind277 ==95376== ==95376== Process terminating with default action of signal 4 (SIGILL) ==95376== Illegal opcode at address 0x492B75F ==95376== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95376== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95376== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95376== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95376== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95376== by 0x49908EB: curl_version_info (version.c:600) ==95376== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95376== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95376== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95376== by 0x4003269: main (tool_main.c:195) === End of file valgrind277 test 0281 [HTTP PUT from file with 100 + 401 responses and -f without auth given] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind281 ../src/curl -q --output log/3/curl281.out --include --trace-ascii log/3/trace281 --trace-time http://127.0.0.1:36161/we/want/281 -f -T log/3/test281.txt > log/3/stdout281 2> log/3/stderr281 281: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind281 ../src/curl -q --output log/3/curl281.out --include --trace-ascii log/3/trace281 --trace-time http://127.0.0.1:36161/we/want/281 -f -T log/3/test281.txt > log/3/stdout281 2> log/3/stderr281 === End of file commands.log === Start of file http_server.log 19:26:36.432465 ====> Client connect 19:26:36.432502 accept_connection 3 returned 4 19:26:36.432523 Read 93 bytes 19:26:36.432532 Process 93 bytes request 19:26:36.432544 Got request: GET /verifiedserver HTTP/1.1 19:26:36.432552 Are-we-friendly question received 19:26:36.432577 Wrote request (93 bytes) input to log/3/server.input 19:26:36.432592 Identifying ourselves as friends 19:26:36.432654 Response sent (56 bytes) and written to log/3/server.response 19:26:36.432663 special request received, no persistency 19:26:36.432671 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 43466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 281 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==95718== ==95718== Process terminating with default action of signal 4 (SIGILL) ==95718== Illegal opcode at address 0x492B75F ==95718== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95718== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95718== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95718== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95718== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95718== by 0x49908EB: curl_version_info (version.c:600) ==95718== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95718== by 0x4003269: main (tool_main.c:195) === End of file valgrind281 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/13/server/tftp_server.pid" --portfile "log/13/server/tftp_server.port" --logfile "log/13/tftp_server.log" --logdir "log/13" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 94937 port 52808 * pid tftp => 94937 94937 test 0271 [TFTP retrieve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind271 ../src/curl -q --output log/13/curl271.out --include --trace-ascii log/13/trace271 --trace-time tftp://127.0.0.1:52808//271 > log/13/stdout271 2> log/13/stderr271 271: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind271 ../src/curl -q --output log/13/curl271.out --include --trace-ascii log/13/trace271 --trace-time tftp://127.0.0.1:52808//271 > log/13/stdout271 2> log/13/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 19:26:34.386214 Wrote pid 94937 to log/13/server/tftp_server.pid 19:26:34.386290 Wrote port 52808 to log/13/server/tftp_server.port 19:26:34.386304 Running IPv4 version on port UDP/52808 === End of file tftp_server.log === Start of file valgrind271 ==95599== ==95599== Process terminating with default action of signal 4 (SIGILL) ==95599== Illegal opcode at address 0x492B75F ==95599== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95599== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95599== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95599== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95599== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95599== by 0x49908EB: curl_version_info (version.c:600) ==95599== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95599== by 0x4003269: main (tool_main.c:195) === End of file valgrind271 test 0279 [HTTP with proxy string including http:// and user only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:33935 > log/6/stdout279 2> log/6/stderr279 279: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 279 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind279 ../src/curl -q --output log/6/curl279.out --include --trace-ascii log/6/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:33935 > log/6/stdout279 2> log/6/stderr279 === End of file commands.log === Start of file http_server.log 19:26:35.199108 ====> Client connCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind280 ../src/curl -q --output log/12/curl280.out --include --trace-ascii log/12/trace280 --trace-time ftp://127.0.0.1:40417/280/ --ftp-alternative-to-user "USER replacement" > log/12/stdout280 2> log/12/stderr280 ect 19:26:35.199156 accept_connection 3 returned 4 19:26:35.199184 Read 93 bytes 19:26:35.199194 Process 93 bytes request 19:26:35.199207 Got request: GET /verifiedserver HTTP/1.1 19:26:35.199215 Are-we-friendly question received 19:26:35.199244 Wrote request (93 bytes) input to log/6/server.input 19:26:35.199260 Identifying ourselves as friends 19:26:35.199355 Response sent (56 bytes) and written to log/6/server.response 19:26:35.199366 special request received, no persistency 19:26:35.199374 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 37248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 279 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind279 ==95555== ==95555== Process terminating with default action of signal 4 (SIGILL) ==95555== Illegal opcode at address 0x492B75F ==95555== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95555== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95555== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95555== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95555== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95555== by 0x49908EB: curl_version_info (version.c:600) ==95555== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95555== by 0x4003269: main (tool_main.c:195) === End of file valgrind279 test 0280 [FTP --ftp-alternative-to-user on USER failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind280 ../src/curl -q --output log/12/curl280.out --include --trace-ascii log/12/trace280 --trace-time ftp://127.0.0.1:40417/280/ --ftp-alternative-to-user "USER replacement" > log/12/stdout280 2> log/12/stderr280 280: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind280 ../src/curl -q --output log/12/curl280.out --include --trace-ascii log/12/trace280 --trace-time ftp://127.0.0.1:40417/280/ --ftp-alternative-to-user "USER replacement" > log/12/stdout280 2> log/12/stderr280 === End of file commands.log === Start of file ftp_server.log 19:26:35.582042 ====> Client connect 19:26:35.582291 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:35.582647 < "USER anonymous" 19:26:35.582682 > "331 We are happy you popped in![CR][LF]" 19:26:35.582854 < "PASS ftp@example.com" 19:26:35.582881 > "230 Welcome you silly person[CR][LF]" 19:26:35.583037 < "PWD" 19:26:35.583072 > "257 "/" is current directory[CR][LF]" 19:26:35.583245 < "EPSV" 19:26:35.583270 ====> Passive DATA channel requested by client 19:26:35.583284 DATA sockfilt for passive data channel starting... 19:26:35.586730 DATA sockfilt for passive data channel started (pid 95551) 19:26:35.586843 DATA sockfilt for passive data channel listens on port 46637 19:26:35.586886 > "229 Entering Passive Mode (|||46637|)[CR][LF]" 19:26:35.586902 Client has been notified that upcoming DATA connection is awaited on port 46637 19:26:35.587139 Client connects to port 46637 19:26:35.587167 ====> Client established passive DATA connection on port 46637 19:26:35.587249 < "TYPE I" 19:26:35.587277 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:35.587424 < "SIZE verifiedserver" 19:26:35.587458 > "213 17[CR][LF]" 19:26:35.587604 < "RETR verifiedserver" 19:26:35.587636 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:35.587716 =====> Closing passive DATA connection... 19:26:35.587733 Server disconnects passive DATA connection 19:26:35.587933 Server disconnected passive DATA connection 19:26:35.587957 DATA sockfilt for passive data channel quits (pid 95551) 19:26:35.588174 DATA sockfilt for passive data channel quit (pid 95551) 19:26:35.588195 =====> Closed passive DATA connection 19:26:35.588220 > "226 File transfer complete[CR][LF]" 19:26:35.632286 < "QUIT" 19:26:35.633517 > "221 bye bye baby[CR][LF]" 19:26:35.633555 MAIN sockfilt said DISC 19:26:35.633622 ====> Client disconnected 19:26:35.633719 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.182598 ====> Client connect 19:26:36.185998 Received DATA (on stdin) 19:26:36.186019 > 146 bytes data, server => client 19:26:36.186030 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.186040 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:36.186049 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.186179 < 16 bytes data, client => server 19:26:36.186193 'USER anonymous\r\n' 19:26:36.186371 Received DATA (on stdin) 19:26:36.186382 > 33 bytes data, server => client 19:26:36.186392 '331 We are happy you popped in!\r\n' 19:26:36.186448 < 22 bytes data, client => server 19:26:36.186461 'PASS ftp@example.com\r\n' 19:26:36.186567 Received DATA (on stdin) 19:26:36.186577 > 30 bytes data, server => client 19:26:36.186587 '230 Welcome you silly person\r\n' 19:26:36.186637 < 5 bytes data, client => server 19:26:36.186648 'PWD\r\n' 19:26:36.186757 Received DATA (on stdin) 19:26:36.186768 > 30 bytes data, server => client 19:26:36.186778 '257 "/" is current directory\r\n' 19:26:36.186843 < 6 bytes data, client => server 19:26:36.186855 'EPSV\r\n' 19:26:36.190593 Received DATA (on stdin) 19:26:36.190608 > 39 bytes data, server => client 19:26:36.190618 '229 Entering Passive Mode (|||46637|)\r\n' 19:26:36.190751 < 8 bytes data, client => server 19:26:36.190763 'TYPE I\r\n' 19:26:36.190963 Received DATA (on stdin) 19:26:36.190973 > 33 bytes data, server => client 19:26:36.190982 '200 I modify TYPE as you wanted\r\n' 19:26:36.191033 < 21 bytes data, client => server 19:26:36.191042 'SIZE verifiedserver\r\n' 19:26:36.191142 Received DATA (on stdin) 19:26:36.191152 > 8 bytes data, server => client 19:26:36.191161 '213 17\r\n' 19:26:36.191211 < 21 bytes data, client => server 19:26:36.191223 'RETR verifiedserver\r\n' 19:26:36.191419 Received DATA (on stdin) 19:26:36.191429 > 29 bytes data, server => client 19:26:36.191439 '150 Binary junk (17 bytes).\r\n' 19:26:36.191905 Received DATA (on stdin) 19:26:36.191916 > 28 bytes data, server => client 19:26:36.191926 '226 File transfer complete\r\n' 19:26:36.235804 < 6 bytes data, client => server 19:26:36.235833 'QUIT\r\n' 19:26:36.236011 Received DATA (on stdin) 19:26:36.236022 > 18 bytes data, server => client 19:26:36.236039 '221 bye bye baby\r\n' 19:26:36.237157 ====> Client disconnect 19:26:36.237251 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:35.190080 Running IPv4 version 19:26:35.190179 Listening on port 46637 19:26:35.190214 Wrote pid 95551 to log/12/server/ftp_sockdata.pid 19:26:35.190362 Received PING (on stdin) 19:26:35.190442 Received PORT (on stdin) 19:26:35.190780 ====> Client connect 19:26:35.191463 Received DATA (on stdin) 19:26:35.191474 > 17 bytes data, server => client 19:26:35.191483 'WE ROOLZ: 85158\r\n' 19:26:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:44711 > log/23/stdout278 2> log/23/stderr278 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind282 ../src/curl -q --output log/5/curl282.out --include --trace-ascii log/5/trace282 --trace-time http://127.0.0.1:37089/282 > log/5/stdout282 2> log/5/stderr282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind287 ../src/curl -q --include --trace-ascii log/22/trace287 --trace-time http://test.remote.example.com.287:35989/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:35989 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/22/stdout287 2> log/22/stderr287 5.191503 Received DISC (on stdin) 19:26:35.191513 ====> Client forcibly disconnected 19:26:35.191651 Received QUIT (on stdin) 19:26:35.191661 quits 19:26:35.191724 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 530 We don't like USER commands COUNT USER 1 Testnum 280 === End of file server.cmd === Start of file valgrind280 ==95559== ==95559== Process terminating with default action of signal 4 (SIGILL) ==95559== Illegal opcode at address 0x492B75F ==95559== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95559== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95559== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95559== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95559== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95559== by 0x49908EB: curl_version_info (version.c:600) ==95559== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95559== by 0x4003269: main (tool_main.c:195) === End of file valgrind280 test 0278 [HTTP with proxy string including http:// and user+empty password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:44711 > log/23/stdout278 2> log/23/stderr278 278: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 278 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind278 ../src/curl -q --output log/23/curl278.out --include --trace-ascii log/23/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:44711 > log/23/stdout278 2> log/23/stderr278 === End of file commands.log === Start of file http_server.log 19:26:34.971533 ====> Client connect 19:26:34.971571 accept_connection 3 returned 4 19:26:34.971594 Read 93 bytes 19:26:34.971605 Process 93 bytes request 19:26:34.971618 Got request: GET /verifiedserver HTTP/1.1 19:26:34.971627 Are-we-friendly question received 19:26:34.971655 Wrote request (93 bytes) input to log/23/server.input 19:26:34.971672 Identifying ourselves as friends 19:26:34.971740 Response sent (56 bytes) and written to log/23/server.response 19:26:34.971751 special request received, no persistency 19:26:34.971760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 36310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind278 ==95400== ==95400== Process terminating with default action of signal 4 (SIGILL) ==95400== Illegal opcode at address 0x492B75F ==95400== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95400== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95400== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95400== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95400== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95400== by 0x49908EB: curl_version_info (version.c:600) ==95400== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95400== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95400== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95400== by 0x4003269: main (tool_main.c:195) === End of file valgrind278 test 0282 [HTTP GET with no response body or headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind282 ../src/curl -q --output log/5/curl282.out --include --trace-ascii log/5/trace282 --trace-time http://127.0.0.1:37089/282 > log/5/stdout282 2> log/5/stderr282 282: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind282 ../src/curl -q --output log/5/curl282.out --include --trace-ascii log/5/trace282 --trace-time http://127.0.0.1:37089/282 > log/5/stdout282 2> log/5/stderr282 === End of file commands.log === Start of file http_server.log 19:26:35.442176 ====> Client connect 19:26:35.442213 accept_connection 3 returned 4 19:26:35.442236 Read 93 bytes 19:26:35.442246 Process 93 bytes request 19:26:35.442259 Got request: GET /verifiedserver HTTP/1.1 19:26:35.442267 Are-we-friendly question received 19:26:35.442293 Wrote request (93 bytes) input to log/5/server.input 19:26:35.442310 Identifying ourselves as friends 19:26:35.442376 Response sent (56 bytes) and written to log/5/server.response 19:26:35.442387 special request received, no persistency 19:26:35.442404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 39816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 282 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind282 ==95742== ==95742== Process terminating with default action of signal 4 (SIGILL) ==95742== Illegal opcode at address 0x492B75F ==95742== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95742== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95742== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95742== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95742== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95742== by 0x49908EB: curl_version_info (version.c:600) ==95742== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95742== by 0x4003269: main (tool_main.c:195) === End of file valgrind282 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind291 ../src/curl -q --output log/2/curl291.out --include --trace-ascii log/2/trace291 --trace-time ftp://127.0.0.1:38033/291 --max-filesize 100 > log/2/stdout291 2> log/2/stderr291 test 0287 [HTTP proxy CONNECT with custom User-Agent header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind287 ../src/curl -q --include --trace-ascii log/22/trace287 --trace-time http://test.remote.example.com.287:35989/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:35989 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/22/stdout287 2> log/22/stderr287 287: stdout FAILED: --- log/22/check-expected 2026-10-15 19:26:38.625472912 +0000 +++ log/22/check-generated 2026-10-15 19:26:38.623805716 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/22/ directory after test 287 === Start of file check-expected HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind287 ../src/curl -q --include --trace-ascii log/22/trace287 --trace-time http://test.remote.example.com.287:35989/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:35989 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/22/stdout287 2> log/22/stderr287 === End of file commands.log === Start of file http_server.log 19:26:36.039321 ====> Client connect 19:26:36.039362 accept_connection 3 returned 4 19:26:36.039385 Read 93 bytes 19:26:36.039393 Process 93 bytes request 19:26:36.039406 Got request: GET /verifiedserver HTTP/1.1 19:26:36.039415 Are-we-friendly question received 19:26:36.039445 Wrote request (93 bytes) input to log/22/server.input 19:26:36.039462 Identifying ourselves as friends 19:26:36.039538 Response sent (56 bytes) and written to log/22/server.response 19:26:36.039551 special request received, no persistency 19:26:36.039559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 40870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind287 ==95942== ==95942== Process terminating with default action of signal 4 (SIGILL) ==95942== Illegal opcode at address 0x492B75F ==95942== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95942== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95942== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95942== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95942== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95942== by 0x49908EB: curl_version_info (version.c:600) ==95942== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95942== by 0x4003269: main (tool_main.c:195) === End of file valgrind287 test 0291 [FTP download maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind291 ../src/curl -q --output log/2/curl291.out --include --trace-ascii log/2/trace291 --trace-time ftp://127.0.0.1:38033/291 --max-filesize 100 > log/2/stdout291 2> log/2/stderr291 291: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind291 ../src/curl -q --output log/2/curl291.out --include --trace-ascii log/2/trace291 --trace-time ftp://127.0.0.1:38033/291 --max-filesize 100 > log/2/stdout291 2> log/2/stderr291 === End of file commands.log === Start of file ftp_server.log 19:26:36.859817 ====> Client connect 19:26:36.860023 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:36.860305 < "USER anonymous" 19:26:36.860340 > "331 We are happy you popped in![CR][LF]" 19:26:36.860514 < "PASS ftp@example.com" 19:26:36.860541 > "230 Welcome you silly person[CR][LF]" 19:26:36.860704 < "PWD" 19:26:36.860739 > "257 "/" is current directory[CR][LF]" 19:26:36.860911 < "EPSV" 19:26:36.860936 ====> Passive DATA channel requested by client 19:26:36.860951 DATA sockfilt for passive data channel starting... 19:26:36.868747 DATA sockfilt for passive data channel started (pid 96140) 19:26:36.868882 DATA sockfilt for passive data channel listens on port 33619 19:26:36.868925 > "229 Entering Passive Mode (|||33619|)[CR][LF]" 19:26:36.868943 Client has been notified that upcoming DATA connection is awaited on port 33619 19:26:36.869192 Client connects to port 33619 19:26:36.869224 ====> Client established passive DATA connection on port 33619 19:26:36.869344 < "TYPE I" 19:26:36.869382 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:36.869541 < "SIZE verifiedserver" 19:26:36.869575 > "213 17[CR][LF]" 19:26:36.869721 < "RETR verifiedserver" 19:26:36.869754 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:36.869841 =====> Closing passive DATA connection... 19:26:36.869856 Server disconnects passive DATA connection 19:26:36.869964 Server disconnected passive DATA connection 19:26:36.869983 DATA sockfilt for passive data channel quits (pid 96140) 19:26:36.870207 DATA sockfilt for passive data channel quit (pid 96140) 19:26:36.870231 =====> Closed passive DATA connection 19:26:36.870255 > "226 File transfer complete[CR][LF]" 19:26:36.922171 < "QUIT" 19:26:36.922238 > "221 bye bye baby[CR][LF]" 19:26:36.923630 MAIN sockfilt said DISC 19:26:36.923664 ====> Client disconnected 19:26:36.923741 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.463668 ====> Client connect 19:26:36.464024 Received DATA (on stdin) 19:26:36.464039 > 146 bytes data, server => client 19:26:36.464050 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.464060 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:36.464069 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.464143 < 16 bytes data, client => server 19:26:36.464156 'USER anonymous\r\n' 19:26:36.464328 Received DATA (on stdin) 19:26:36.464339 > 33 bytes data, server => client 19:26:36.464349 '331 We are happy you popped in!\r\n' 19:26:36.464406 < 22 bytes data, client => server 19:26:36.464418 'PASS ftp@example.com\r\n' 19:26:36.464525 Received DATA (on stdin) 19:26:36.464536 > 30 bytes data, server => client 19:26:36.464546 '230 Welcome you silly person\r\n' 19:26:36.464599 < 5 bytes data, client => server 19:26:36.464611 'PWD\r\n' 19:26:36.464723 Received DATA (on stdin) 19:26:36.464735 > 30 bytes data, server => client 19:26:36.464746 '257 "/" is current directory\r\n' 19:26:36.464809 < 6 bytes data, client => server 19:26:36.464821 'EPSV\r\n' 19:26:36.472935 Received DATA (on stdin) 19:26:36.472951 > 39 bytes data, server => client 19:26:36.472961 '229 Entering Passive Mode (|||33619|)\r\n' 19:26:36.473226 < 8 bytes data, client => server 19:26:36.473236 'TYPE I\r\n' 19:26:36.473367 Received DATA (on stdin) 19:26:36.473377 > 33 byteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind275 ../src/curl -q --output log/8/curl275.out --include --trace-ascii log/8/trace275 --trace-time http://remotesite.com.275:44467/we/want/that/page/275 -p -x 127.0.0.1:33431 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:44467/we/want/that/page/275 > log/8/stdout275 2> log/8/stderr275 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind283 ../src/curl -q --output log/9/curl283.out --include --trace-ascii log/9/trace283 --trace-time tftp://127.0.0.1:38065//invalid-file --tftp-blksize 1024 > log/9/stdout283 2> log/9/stderr283 s data, server => client 19:26:36.473387 '200 I modify TYPE as you wanted\r\n' 19:26:36.473441 < 21 bytes data, client => server 19:26:36.473452 'SIZE verifiedserver\r\n' 19:26:36.473560 Received DATA (on stdin) 19:26:36.473570 > 8 bytes data, server => client 19:26:36.473579 '213 17\r\n' 19:26:36.473628 < 21 bytes data, client => server 19:26:36.473638 'RETR verifiedserver\r\n' 19:26:36.474241 Received DATA (on stdin) 19:26:36.474252 > 29 bytes data, server => client 19:26:36.474262 '150 Binary junk (17 bytes).\r\n' 19:26:36.474283 Received DATA (on stdin) 19:26:36.474291 > 28 bytes data, server => client 19:26:36.474300 '226 File transfer complete\r\n' 19:26:36.522827 < 6 bytes data, client => server 19:26:36.522855 'QUIT\r\n' 19:26:36.526267 Received DATA (on stdin) 19:26:36.526291 > 18 bytes data, server => client 19:26:36.526302 '221 bye bye baby\r\n' 19:26:36.527571 ====> Client disconnect 19:26:36.527740 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:36.466543 Running IPv4 version 19:26:36.466615 Listening on port 33619 19:26:36.466652 Wrote pid 96140 to log/2/server/ftp_sockdata.pid 19:26:36.472658 Received PING (on stdin) 19:26:36.472774 Received PORT (on stdin) 19:26:36.473130 ====> Client connect 19:26:36.473841 Received DATA (on stdin) 19:26:36.473853 > 17 bytes data, server => client 19:26:36.473862 'WE ROOLZ: 85208\r\n' 19:26:36.473887 Received DISC (on stdin) 19:26:36.473899 ====> Client forcibly disconnected 19:26:36.473973 Received QUIT (on stdin) 19:26:36.473983 quits 19:26:36.474044 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==96187== ==96187== Process terminating with default action of signal 4 (SIGILL) ==96187== Illegal opcode at address 0x492B75F ==96187== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96187== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96187== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96187== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96187== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96187== by 0x49908EB: curl_version_info (version.c:600) ==96187== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96187== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96187== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96187== by 0x4003269: main (tool_main.c:195) === End of file valgrind291 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/8/server/http2_server.pid" --logfile "log/8/http2_server.log" --logdir "log/8" --portfile log/8/server/http2_server.port --config log/8/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 95309 port 33431 * pid http-proxy => 95309 95309 test 0275 [HTTP CONNECT with proxytunnel getting two URLs from the same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind275 ../src/curl -q --output log/8/curl275.out --include --trace-ascii log/8/trace275 --trace-time http://remotesite.com.275:44467/we/want/that/page/275 -p -x 127.0.0.1:33431 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:44467/we/want/that/page/275 > log/8/stdout275 2> log/8/stderr275 275: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 275 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind275 ../src/curl -q --output log/8/curl275.out --include --trace-ascii log/8/trace275 --trace-time http://remotesite.com.275:44467/we/want/that/page/275 -p -x 127.0.0.1:33431 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:44467/we/want/that/page/275 > log/8/stdout275 2> log/8/stderr275 === End of file commands.log === Start of file http2_server.log 19:26:35.839503 Run as proxy, CONNECT to host 127.0.0.1 19:26:35.839636 Running HTTP IPv4 version on port 33431 19:26:35.839681 Wrote pid 95309 to log/8/server/http2_server.pid 19:26:35.839713 Wrote port 33431 to log/8/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:26:34.768982 ====> Client connect 19:26:34.769027 accept_connection 3 returned 4 19:26:34.769052 Read 93 bytes 19:26:34.769061 Process 93 bytes request 19:26:34.769074 Got request: GET /verifiedserver HTTP/1.1 19:26:34.769083 Are-we-friendly question received 19:26:34.769108 Wrote request (93 bytes) input to log/8/server.input 19:26:34.769124 Identifying ourselves as friends 19:26:34.769211 Response sent (56 bytes) and written to log/8/server.response 19:26:34.769221 special request received, no persistency 19:26:34.769229 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 49500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 275 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind275 ==95856== ==95856== Process terminating with default action of signal 4 (SIGILL) ==95856== Illegal opcode at address 0x492B75F ==95856== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95856== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95856== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95856== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95856== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95856== by 0x49908EB: curl_version_info (version.c:600) ==95856== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95856== by 0x4003269: main (tool_main.c:195) === End of file valgrind275 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/9/server/tftp_server.pid" --portfile "log/9/server/tftp_server.port" --logfile "log/9/tftp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 95851 port 38065 * pid tftp => 95851 95851 test 0283 [TFTP retrieve on invalid file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind283 ../src/curl -q --output log/9/curl283.out --include --trace-ascii log/9/trace283 --trace-time tftp://127.0.0.1:38065//invalid-file --tftp-blksize 1024 > log/9/stdout283 2> log/9/stderr283 283: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind283 ../src/curl -q --output log/9/curl283.out --include --trace-ascii log/9/trace283 --trace-time tftp://127.0.0.1:38065//invalid-file --tftp-blksize 1024 > log/9/stdout283 2> log/9/stderr283 === End of file commands.log === SCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind288 ../src/curl -q --output log/15/curl288.out --trace-ascii log/15/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test288.txt > log/15/stdout288 2> log/15/stderr288 tart of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 19:26:36.834569 Wrote pid 95851 to log/9/server/tftp_server.pid 19:26:36.834730 Wrote port 38065 to log/9/server/tftp_server.port 19:26:36.834742 Running IPv4 version on port UDP/38065 === End of file tftp_server.log === Start of file valgrind283 ==96425== ==96425== Process terminating with default action of signal 4 (SIGILL) ==96425== Illegal opcode at address 0x492B75F ==96425== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96425== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96425== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96425== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96425== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96425== by 0x49908EB: curl_version_info (version.c:600) ==96425== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96425== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96425== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96425== by 0x4003269: main (tool_main.c:195) === End of file valgrind283 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind284 ../src/curl -q --output log/21/curl284.out --include --trace-ascii log/21/trace284 --trace-time tftp://127.0.0.1:56512//284 > log/21/stdout284 2> log/21/stderr284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind295 ../src/curl -q --output log/16/curl295.out --include --trace-ascii log/16/trace295 --trace-time ftp://127.0.0.1:40031/295/ > log/16/stdout295 2> log/16/stderr295 setenv all_proxy = http://fake:user@127.0.0.1:47/ test 0288 [file:// with (unsupported) proxy, authentication and range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind288 ../src/curl -q --output log/15/curl288.out --trace-ascii log/15/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test288.txt > log/15/stdout288 2> log/15/stderr288 288: data FAILED: --- log/15/check-expected 2026-10-15 19:26:39.172830015 +0000 +++ log/15/check-generated 2026-10-15 19:26:39.170346287 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/15/ directory after test 288 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind288 ../src/curl -q --output log/15/curl288.out --trace-ascii log/15/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/15/test288.txt > log/15/stdout288 2> log/15/stderr288 === End of file commands.log === Start of file server.cmd Testnum 288 === End of file server.cmd === Start of file test288.txt foo bar bar foo moo === End of file test288.txt === Start of file valgrind288 ==95909== ==95909== Process terminating with default action of signal 4 (SIGILL) ==95909== Illegal opcode at address 0x492B75F ==95909== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==95909== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==95909== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==95909== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==95909== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==95909== by 0x49908EB: curl_version_info (version.c:600) ==95909== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==95909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==95909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==95909== by 0x4003269: main (tool_main.c:195) === End of file valgrind288 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/21/server/tftp_server.pid" --portfile "log/21/server/tftp_server.port" --logfile "log/21/tftp_server.log" --logdir "log/21" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 95850 port 56512 * pid tftp => 95850 95850 test 0284 [TFTP retrieve of boundary case 512-byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind284 ../src/curl -q --output log/21/curl284.out --include --trace-ascii log/21/trace284 --trace-time tftp://127.0.0.1:56512//284 > log/21/stdout284 2> log/21/stderr284 284: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind284 ../src/curl -q --output log/21/curl284.out --include --trace-ascii log/21/trace284 --trace-time tftp://127.0.0.1:56512//284 > log/21/stdout284 2> log/21/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 19:26:36.828749 Wrote pid 95850 to log/21/server/tftp_server.pid 19:26:36.828909 Wrote port 56512 to log/21/server/tftp_server.port 19:26:36.828922 Running IPv4 version on port UDP/56512 === End of file tftp_server.log === Start of file valgrind284 ==96422== ==96422== Process terminating with default action of signal 4 (SIGILL) ==96422== Illegal opcode at address 0x492B75F ==96422== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96422== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96422== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96422== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96422== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96422== by 0x49908EB: curl_version_info (version.c:600) ==96422== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96422== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96422== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96422== by 0x4003269: main (tool_main.c:195) === End of file valgrind284 test 0295 [FTP ACCT request without --ftp-account] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind295 ../src/curl -q --output log/16/curl295.out --include --trace-ascii log/16/trace295 --trace-time ftp://127.0.0.1:40031/295/ > log/16/stdout295 2> log/16/stderr295 295: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 295 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind295 ../src/curl -q --output log/16/curl295.out --include --trace-ascii log/16/trace295 --trace-time ftp://127.0.0.1:40031/295/ > log/16/stdout295 2> log/16/stderr295 === End of file commands.log === Start of file ftp_server.log 19:26:37.108810 ====> Client connect 19:26:37.109033 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:37.118927 < "USER anonymous" 19:26:37.118990 > "331 We are happy you popped in![CR][LF]" 19:26:37.119279 < "PASS ftp@example.com" 19:26:37.119322 > "230 Welcome you silly person[CR][LF]" 19:26:37.119529 < "PWD" 19:26:37.119573 > "257 "/" is current directory[CR][LF]" 19:26:37.119782 < "EPSV" 19:26:37.119816 ====> Passive DATA channel requested by client 19:26:37.119832 DATA sockfilt for passive data channel starting... 19:26:37.132657 DATA sockfilt for passive data channel started (pid 96330) 19:26:37.132854 DATA sockfilt for passive data channel listens on port 36669 19:26:37.132920 > "229 Entering Passive Mode (|||36669|)[CR][LF]" 19:26:37.132947 Client has been notified that upcoming DATA connection is awaited on port 36669 19:26:37.133287 Client connects to port 36669 19:26:37.133322 ====> Client established passive DATA connection on port 36669 19:26:37.133478 < "TYPE I" 19:26:37.133518 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:37.133707 < "SIZE verifiedserver" 19:26:37.133754 > "213 17[CR][LF]" 19:26:37.133939 < "RETR verifiedserver" 19:26:37.133980 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:37.134091 =====> Closing passive DATA connection... 19:26:37.134116 Server disconnects passive DATA connection 19:26:37.134246 Server disconnected passive DATA connection 19:26:37.134275 DATA sockfilt for passive data channel quits (pid 96330) 19:26:37.134650 DATA sockfilt for passive data channel quit (pid 96330) 19:26:37.134677 =====> Closed passive DATA connection 19:26:37.134711 > "226 File transfer complete[CR][LF]" 19:26:37.178978 < "QUIT" 19:26:37.179047 > "221 bye bye baby[CR][LF]" 19:26:37.180311 MAIN sockfilt said DISC 19:26:37.180343 ====> Client disconnected 19:26:37.180423 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.712727 ====> Client connect 19:26:36.713106 Received DATA (on stdin) 19:26:36.713127 > 146 bytes data, server => client 19:26:36.713140 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.713150 '0- / __| | | | |_) | |\r\n220- | (__| |_| |CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind290 ../src/curl -q --output log/11/curl290.out --include --trace-ascii log/11/trace290 --trace-time ftp://127.0.0.1:37735/290 --max-filesize 30 > log/11/stdout290 2> log/11/stderr290 _ {| |___\r\n' 19:26:36.713159 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.722725 < 16 bytes data, client => server 19:26:36.722759 'USER anonymous\r\n' 19:26:36.723048 Received DATA (on stdin) 19:26:36.723065 > 33 bytes data, server => client 19:26:36.723075 '331 We are happy you popped in!\r\n' 19:26:36.723188 < 22 bytes data, client => server 19:26:36.723206 'PASS ftp@example.com\r\n' 19:26:36.723373 Received DATA (on stdin) 19:26:36.723386 > 30 bytes data, server => client 19:26:36.723397 '230 Welcome you silly person\r\n' 19:26:36.723465 < 5 bytes data, client => server 19:26:36.723479 'PWD\r\n' 19:26:36.723622 Received DATA (on stdin) 19:26:36.723635 > 30 bytes data, server => client 19:26:36.723645 '257 "/" is current directory\r\n' 19:26:36.723722 < 6 bytes data, client => server 19:26:36.723738 'EPSV\r\n' 19:26:36.737012 Received DATA (on stdin) 19:26:36.737032 > 39 bytes data, server => client 19:26:36.737043 '229 Entering Passive Mode (|||36669|)\r\n' 19:26:36.737396 < 8 bytes data, client => server 19:26:36.737410 'TYPE I\r\n' 19:26:36.737574 Received DATA (on stdin) 19:26:36.737587 > 33 bytes data, server => client 19:26:36.737598 '200 I modify TYPE as you wanted\r\n' 19:26:36.737658 < 21 bytes data, client => server 19:26:36.737672 'SIZE verifiedserver\r\n' 19:26:36.737806 Received DATA (on stdin) 19:26:36.737819 > 8 bytes data, server => client 19:26:36.737829 '213 17\r\n' 19:26:36.737888 < 21 bytes data, client => server 19:26:36.737903 'RETR verifiedserver\r\n' 19:26:36.738609 Received DATA (on stdin) 19:26:36.738626 > 29 bytes data, server => client 19:26:36.738638 '150 Binary junk (17 bytes).\r\n' 19:26:36.738764 Received DATA (on stdin) 19:26:36.738781 > 28 bytes data, server => client 19:26:36.738791 '226 File transfer complete\r\n' 19:26:36.782852 < 6 bytes data, client => server 19:26:36.782880 'QUIT\r\n' 19:26:36.783110 Received DATA (on stdin) 19:26:36.783122 > 18 bytes data, server => client 19:26:36.783132 '221 bye bye baby\r\n' 19:26:36.784313 ====> Client disconnect 19:26:36.784481 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:37.726405 Running IPv4 version 19:26:37.726490 Listening on port 36669 19:26:37.726538 Wrote pid 96330 to log/16/server/ftp_sockdata.pid 19:26:37.736593 Received PING (on stdin) 19:26:37.736777 Received PORT (on stdin) 19:26:37.737278 ====> Client connect 19:26:37.738171 Received DATA (on stdin) 19:26:37.738184 > 17 bytes data, server => client 19:26:37.738195 'WE ROOLZ: 84702\r\n' 19:26:37.738224 Received DISC (on stdin) 19:26:37.738239 ====> Client forcibly disconnected 19:26:37.738333 Received QUIT (on stdin) 19:26:37.738345 quits 19:26:37.738432 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY PWD 530 No ACCT, go away Testnum 295 === End of file server.cmd === Start of file valgrind295 ==96399== ==96399== Process terminating with default action of signal 4 (SIGILL) ==96399== Illegal opcode at address 0x492B75F ==96399== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96399== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96399== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96399== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96399== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96399== by 0x49908EB: curl_version_info (version.c:600) ==96399== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96399== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96399== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96399== by 0x4003269: main (tool_main.c:195) === End of file valgrind295 test 0290 [FTP download maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind290 ../src/curl -q --output log/11/curl290.out --include --trace-ascii log/11/trace290 --trace-time ftp://127.0.0.1:37735/290 --max-filesize 30 > log/11/stdout290 2> log/11/stderr290 290: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind290 ../src/curl -q --output log/11/curl290.out --include --trace-ascii log/11/trace290 --trace-time ftp://127.0.0.1:37735/290 --max-filesize 30 > log/11/stdout290 2> log/11/stderr290 === End of file commands.log === Start of file ftp_server.log 19:26:36.785014 ====> Client connect 19:26:36.785287 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:36.791131 < "USER anonymous" 19:26:36.791190 > "331 We are happy you popped in![CR][LF]" 19:26:36.792295 < "PASS ftp@example.com" 19:26:36.792349 > "230 Welcome you silly person[CR][LF]" 19:26:36.792547 < "PWD" 19:26:36.792591 > "257 "/" is current directory[CR][LF]" 19:26:36.792779 < "EPSV" 19:26:36.792809 ====> Passive DATA channel requested by client 19:26:36.792824 DATA sockfilt for passive data channel starting... 19:26:36.797045 DATA sockfilt for passive data channel started (pid 96118) 19:26:36.805441 DATA sockfilt for passive data channel listens on port 44635 19:26:36.805515 > "229 Entering Passive Mode (|||44635|)[CR][LF]" 19:26:36.805536 Client has been notified that upcoming DATA connection is awaited on port 44635 19:26:36.805808 Client connects to port 44635 19:26:36.805841 ====> Client established passive DATA connection on port 44635 19:26:36.805931 < "TYPE I" 19:26:36.805962 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:36.806123 < "SIZE verifiedserver" 19:26:36.806160 > "213 17[CR][LF]" 19:26:36.806293 < "RETR verifiedserver" 19:26:36.806322 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:36.806408 =====> Closing passive DATA connection... 19:26:36.806423 Server disconnects passive DATA connection 19:26:36.806622 Server disconnected passive DATA connection 19:26:36.806646 DATA sockfilt for passive data channel quits (pid 96118) 19:26:36.806908 DATA sockfilt for passive data channel quit (pid 96118) 19:26:36.806928 =====> Closed passive DATA connection 19:26:36.806954 > "226 File transfer complete[CR][LF]" 19:26:36.852184 < "QUIT" 19:26:36.852249 > "221 bye bye baby[CR][LF]" 19:26:36.853320 MAIN sockfilt said DISC 19:26:36.853362 ====> Client disconnected 19:26:36.853455 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.388842 ====> Client connect 19:26:36.392642 Received DATA (on stdin) 19:26:36.392679 > 146 bytes data, server => client 19:26:36.392691 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.392702 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:36.392712 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.392804 < 16 bytes data, client => server 19:26:36.392817 'USER anonymous\r\n' 19:26:36.395985 Received DATA (on stdin) 19:26:36.396007 > 33 bytes data, server => client 19:26:36.396018 '331 We are happy you popped in!\r\n' 19:26:36.396089 < 22 bytes data, client => server 19:26:36.396102 'PASS ftp@example.com\r\n' 19:26:36.396324 Received DATA (on stdin) 19:26:36.396337 > 30 bytes data, server => client 19:26:36.396347 '230 Welcome you silly person\r\n' 19:26:36.396405 < 5 bytes data, client => server 19:26:36.396418 'PWD\r\n' 19:26:36.396563 Received DATA (on stdin) 19:26:36.396574 > 30 bytes data, server => client 19:26:36.396585 '257 "/" is current directory\r\n' 19:26:36.396650 < 6 bytes data, client => server 19:26:36.396663 'EPSV\r\n' 19:26:36.409519 Received DATA (on stdin) 19:26:36.409537 > 39 bytes data, server => client 19:26:36.409547 '229 Entering Passive Mode (|||44635CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind297 ../src/curl -q --output log/20/curl297.out --include --trace-ascii log/20/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41549/first/second/third/297 > log/20/stdout297 2> log/20/stderr297 |)\r\n' 19:26:36.409750 < 8 bytes data, client => server 19:26:36.409767 'TYPE I\r\n' 19:26:36.409933 Received DATA (on stdin) 19:26:36.409945 > 33 bytes data, server => client 19:26:36.409954 '200 I modify TYPE as you wanted\r\n' 19:26:36.410013 < 21 bytes data, client => server 19:26:36.410022 'SIZE verifiedserver\r\n' 19:26:36.410127 Received DATA (on stdin) 19:26:36.410136 > 8 bytes data, server => client 19:26:36.410143 '213 17\r\n' 19:26:36.410187 < 21 bytes data, client => server 19:26:36.410196 'RETR verifiedserver\r\n' 19:26:36.410392 Received DATA (on stdin) 19:26:36.410401 > 29 bytes data, server => client 19:26:36.410410 '150 Binary junk (17 bytes).\r\n' 19:26:36.410923 Received DATA (on stdin) 19:26:36.410934 > 28 bytes data, server => client 19:26:36.410943 '226 File transfer complete\r\n' 19:26:36.452839 < 6 bytes data, client => server 19:26:36.452874 'QUIT\r\n' 19:26:36.456241 Received DATA (on stdin) 19:26:36.456258 > 18 bytes data, server => client 19:26:36.456268 '221 bye bye baby\r\n' 19:26:36.457237 ====> Client disconnect 19:26:36.457439 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:36.400690 Running IPv4 version 19:26:36.400772 Listening on port 44635 19:26:36.400812 Wrote pid 96118 to log/11/server/ftp_sockdata.pid 19:26:36.400835 Received PING (on stdin) 19:26:36.405967 Received PORT (on stdin) 19:26:36.409720 ====> Client connect 19:26:36.410433 Received DATA (on stdin) 19:26:36.410444 > 17 bytes data, server => client 19:26:36.410452 'WE ROOLZ: 84823\r\n' 19:26:36.410474 Received DISC (on stdin) 19:26:36.410483 ====> Client forcibly disconnected 19:26:36.410625 Received QUIT (on stdin) 19:26:36.410634 quits 19:26:36.410698 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==96143== ==96143== Process terminating with default action of signal 4 (SIGILL) ==96143== Illegal opcode at address 0x492B75F ==96143== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96143== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96143== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96143== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96143== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96143== by 0x49908EB: curl_version_info (version.c:600) ==96143== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96143== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96143== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96143== by 0x4003269: main (tool_main.c:195) === End of file valgrind290 test 0297 [FTP CWD with --ftp-method singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind297 ../src/curl -q --output log/20/curl297.out --include --trace-ascii log/20/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41549/first/second/third/297 > log/20/stdout297 2> log/20/stderr297 297: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind297 ../src/curl -q --output log/20/curl297.out --include --trace-ascii log/20/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41549/first/second/third/297 > log/20/stdout297 2> log/20/stderr297 === End of file commands.log === Start of file ftp_server.log 19:26:37.305481 ====> Client connect 19:26:37.305688 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:37.312261 < "USER anonymous" 19:26:37.312315 > "331 We are happy you popped in![CR][LF]" 19:26:37.318887 < "PASS ftp@example.com" 19:26:37.318940 > "230 Welcome you silly person[CR][LF]" 19:26:37.322795 < "PWD" 19:26:37.322862 > "257 "/" is current directory[CR][LF]" 19:26:37.323145 < "EPSV" 19:26:37.323177 ====> Passive DATA channel requested by client 19:26:37.323193 DATA sockfilt for passive data channel starting... 19:26:37.330014 DATA sockfilt for passive data channel started (pid 96647) 19:26:37.330169 DATA sockfilt for passive data channel listens on port 42807 19:26:37.330228 > "229 Entering Passive Mode (|||42807|)[CR][LF]" 19:26:37.330253 Client has been notified that upcoming DATA connection is awaited on port 42807 19:26:37.334055 Client connects to port 42807 19:26:37.334101 ====> Client established passive DATA connection on port 42807 19:26:37.334209 < "TYPE I" 19:26:37.334249 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:37.334457 < "SIZE verifiedserver" 19:26:37.334506 > "213 17[CR][LF]" 19:26:37.334704 < "RETR verifiedserver" 19:26:37.334746 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:37.334859 =====> Closing passive DATA connection... 19:26:37.334883 Server disconnects passive DATA connection 19:26:37.338700 Server disconnected passive DATA connection 19:26:37.338745 DATA sockfilt for passive data channel quits (pid 96647) 19:26:37.339055 DATA sockfilt for passive data channel quit (pid 96647) 19:26:37.339086 =====> Closed passive DATA connection 19:26:37.339120 > "226 File transfer complete[CR][LF]" 19:26:37.379017 < "QUIT" 19:26:37.379082 > "221 bye bye baby[CR][LF]" 19:26:37.380888 MAIN sockfilt said DISC 19:26:37.380941 ====> Client disconnected 19:26:37.381028 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.909438 ====> Client connect 19:26:36.909789 Received DATA (on stdin) 19:26:36.909806 > 146 bytes data, server => client 19:26:36.909817 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.909827 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:36.909836 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.916099 < 16 bytes data, client => server 19:26:36.916133 'USER anonymous\r\n' 19:26:36.916410 Received DATA (on stdin) 19:26:36.916423 > 33 bytes data, server => client 19:26:36.916433 '331 We are happy you popped in!\r\n' 19:26:36.922782 < 22 bytes data, client => server 19:26:36.922813 'PASS ftp@example.com\r\n' 19:26:36.923035 Received DATA (on stdin) 19:26:36.923046 > 30 bytes data, server => client 19:26:36.923057 '230 Welcome you silly person\r\n' 19:26:36.926708 < 5 bytes data, client => server 19:26:36.926736 'PWD\r\n' 19:26:36.926965 Received DATA (on stdin) 19:26:36.926980 > 30 bytes data, server => client 19:26:36.926991 '257 "/" is current directory\r\n' 19:26:36.927112 < 6 bytes data, client => server 19:26:36.927127 'EPSV\r\n' 19:26:36.937241 Received DATA (on stdin) 19:26:36.937268 > 39 bytes data, server => client 19:26:36.937281 '229 Entering Passive Mode (|||42807|)\r\n' 19:26:36.938051 < 8 bytes data, client => server 19:26:36.938070 'TYPE I\r\n' 19:26:36.938346 Received DATA (on stdin) 19:26:36.938359 > 33 bytes data, server => client 19:26:36.938370 '200 I modify TYPE as you wanted\r\n' 19:26:36.938438 < 21 bytes data, client => server 19:26:36.938453 'SIZE verifiedserver\r\n' 19:26:36.938609 Received DATA (on stdin) 19:26:36.938622 > 8 bytes data, server => client 19:26:36.938633 '213 17\r\n' 19:26:36.938696 < 21 bytes data, client => server 19:26:36.938710 'RETR verifiedserver\r\n' 19:26:36.938983 Received DATA (on stdin) 19:26:36.938996 > 29 bytes data, server => client 19:26:36.939006 '150 Binary junk (17 bytes).\r\n' 19:26:36.943222 Received DATA (on stdin) 19:26:36.943235 > 28 bytes data, server => client 19:26:36.943250 '226 File transfer complete\r\n' 19:26:36.982901 < 6 bytes data, client => server 19:26:36.982938 'QUIT\r\n' 19:26:36.983194 Received DATA (on stdin) 19:26:36.983207 > 18 bytes data, server => client 19:26:36.983CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind293 ../src/curl -q --output log/24/curl293.out --include --trace-ascii log/24/trace293 --trace-time http://127.0.0.1:38895/293 --max-filesize 2 > log/24/stdout293 2> log/24/stderr293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind289 ../src/curl -q --output log/7/curl289.out --include --trace-ascii log/7/trace289 --trace-time ftp://127.0.0.1:44283/289 -T log/7/illegal-nonexistent-file -C - > log/7/stdout289 2> log/7/stderr289 217 '221 bye bye baby\r\n' 19:26:36.984921 ====> Client disconnect 19:26:36.985143 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:37.933681 Running IPv4 version 19:26:37.933794 Listening on port 42807 19:26:37.933845 Wrote pid 96647 to log/20/server/ftp_sockdata.pid 19:26:37.934034 Received PING (on stdin) 19:26:37.934153 Received PORT (on stdin) 19:26:37.938095 ====> Client connect 19:26:37.939072 Received DATA (on stdin) 19:26:37.939090 > 17 bytes data, server => client 19:26:37.939101 'WE ROOLZ: 84833\r\n' 19:26:37.939132 Received DISC (on stdin) 19:26:37.939145 ====> Client forcibly disconnected 19:26:37.942864 Received QUIT (on stdin) 19:26:37.942881 quits 19:26:37.942969 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==96721== ==96721== Process terminating with default action of signal 4 (SIGILL) ==96721== Illegal opcode at address 0x492B75F ==96721== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96721== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96721== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96721== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96721== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96721== by 0x49908EB: curl_version_info (version.c:600) ==96721== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96721== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96721== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96721== by 0x4003269: main (tool_main.c:195) === End of file valgrind297 test 0293 [HTTP GET with maximum filesize exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind293 ../src/curl -q --output log/24/curl293.out --include --trace-ascii log/24/trace293 --trace-time http://127.0.0.1:38895/293 --max-filesize 2 > log/24/stdout293 2> log/24/stderr293 293: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind293 ../src/curl -q --output log/24/curl293.out --include --trace-ascii log/24/trace293 --trace-time http://127.0.0.1:38895/293 --max-filesize 2 > log/24/stdout293 2> log/24/stderr293 === End of file commands.log === Start of file http_server.log 19:26:36.704442 ====> Client connect 19:26:36.704484 accept_connection 3 returned 4 19:26:36.704505 Read 93 bytes 19:26:36.704514 Process 93 bytes request 19:26:36.704526 Got request: GET /verifiedserver HTTP/1.1 19:26:36.704533 Are-we-friendly question received 19:26:36.704556 Wrote request (93 bytes) input to log/24/server.input 19:26:36.704570 Identifying ourselves as friends 19:26:36.704629 Response sent (56 bytes) and written to log/24/server.response 19:26:36.704638 special request received, no persistency 19:26:36.704645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 47316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind293 ==96340== ==96340== Process terminating with default action of signal 4 (SIGILL) ==96340== Illegal opcode at address 0x492B75F ==96340== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96340== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96340== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96340== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96340== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96340== by 0x49908EB: curl_version_info (version.c:600) ==96340== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96340== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96340== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96340== by 0x4003269: main (tool_main.c:195) === End of file valgrind293 test 0289 [FTP resume upload but denied access to local file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind289 ../src/curl -q --output log/7/curl289.out --include --trace-ascii log/7/trace289 --trace-time ftp://127.0.0.1:44283/289 -T log/7/illegal-nonexistent-file -C - > log/7/stdout289 2> log/7/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/7/ directory after test 289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind289 ../src/curl -q --output log/7/curl289.out --include --trace-ascii log/7/trace289 --trace-time ftp://127.0.0.1:44283/289 -T log/7/illegal-nonexistent-file -C - > log/7/stdout289 2> log/7/stderr289 === End of file commands.log === Start of file ftp_server.log 19:26:36.512040 ====> Client connect 19:26:36.512275 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:36.515948 < "USER anonymous" 19:26:36.515994 > "331 We are happy you popped in![CR][LF]" 19:26:36.516180 < "PASS ftp@example.com" 19:26:36.516210 > "230 Welcome you silly person[CR][LF]" 19:26:36.516373 < "PWD" 19:26:36.516408 > "257 "/" is current directory[CR][LF]" 19:26:36.516579 < "EPSV" 19:26:36.516647 ====> Passive DATA channel requested by client 19:26:36.516663 DATA sockfilt for passive data channel starting... 19:26:36.523341 DATA sockfilt for passive data channel started (pid 95993) 19:26:36.523482 DATA sockfilt for passive data channel listens on port 40191 19:26:36.523523 > "229 Entering Passive Mode (|||40191|)[CR][LF]" 19:26:36.523540 Client has been notified that upcoming DATA connection is awaited on port 40191 19:26:36.528752 Client connects to port 40191 19:26:36.528807 ====> Client established passive DATA connection on port 40191 19:26:36.528918 < "TYPE I" 19:26:36.528957 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:36.532099 < "SIZE verifiedserver" 19:26:36.532159 > "213 17[CR][LF]" 19:26:36.532384 < "RETR verifiedserver" 19:26:36.532420 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:36.532520 =====> Closing passive DATA connection... 19:26:36.532538 Server disconnects passive DATA connection 19:26:36.532708 Server disconnected passive DATA connection 19:26:36.532731 DATA sockfilt for passive data channel quits (pid 95993) 19:26:36.533024 DATA sockfilt for passive data channel quit (pid 95993) 19:26:36.533048 =====> Closed passive DATA connection 19:26:36.533076 > "226 File transfer complete[CR][LF]" 19:26:36.579022 < "QUIT" 19:26:36.579078 > "221 bye bye baby[CR][LF]" 19:26:36.580306 MAIN sockfilt said DISC 19:26:36.580337 ====> Client disconnected 19:26:36.580420 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:37.115800 ====> Client connect 19:26:37.119263 Received DATA (on stdin) 19:26:37.119297 > 146 bytes data, server => client 19:26:37.119310 '220- _ _ __CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind286 ../src/curl -q --output log/10/curl286.out --include --trace-ascii log/10/trace286 --trace-time -T log/10/test286.txt tftp://127.0.0.1:42286// > log/10/stdout286 2> log/10/stderr286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind285 ../src/curl -q --output log/17/curl285.out --include --trace-ascii log/17/trace285 --trace-time -T log/17/test285.txt tftp://127.0.0.1:52569// --connect-timeout 549 --max-time 599 > log/17/stdout285 2> log/17/stderr285 __ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:37.119320 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:37.119328 '220 \___|\___/|_| \_\_____|\r\n' 19:26:37.119671 < 16 bytes data, client => server 19:26:37.119691 'USER anonymous\r\n' 19:26:37.119904 Received DATA (on stdin) 19:26:37.119916 > 33 bytes data, server => client 19:26:37.119926 '331 We are happy you popped in!\r\n' 19:26:37.119984 < 22 bytes data, client => server 19:26:37.119996 'PASS ftp@example.com\r\n' 19:26:37.120114 Received DATA (on stdin) 19:26:37.120125 > 30 bytes data, server => client 19:26:37.120135 '230 Welcome you silly person\r\n' 19:26:37.120187 < 5 bytes data, client => server 19:26:37.120199 'PWD\r\n' 19:26:37.120313 Received DATA (on stdin) 19:26:37.120324 > 30 bytes data, server => client 19:26:37.120333 '257 "/" is current directory\r\n' 19:26:37.120395 < 6 bytes data, client => server 19:26:37.120406 'EPSV\r\n' 19:26:37.128276 Received DATA (on stdin) 19:26:37.128303 > 39 bytes data, server => client 19:26:37.128315 '229 Entering Passive Mode (|||40191|)\r\n' 19:26:37.128484 < 8 bytes data, client => server 19:26:37.128501 'TYPE I\r\n' 19:26:37.135084 Received DATA (on stdin) 19:26:37.135114 > 33 bytes data, server => client 19:26:37.135126 '200 I modify TYPE as you wanted\r\n' 19:26:37.135210 < 21 bytes data, client => server 19:26:37.135223 'SIZE verifiedserver\r\n' 19:26:37.136073 Received DATA (on stdin) 19:26:37.136093 > 8 bytes data, server => client 19:26:37.136103 '213 17\r\n' 19:26:37.136205 < 21 bytes data, client => server 19:26:37.136217 'RETR verifiedserver\r\n' 19:26:37.136448 Received DATA (on stdin) 19:26:37.136459 > 29 bytes data, server => client 19:26:37.136469 '150 Binary junk (17 bytes).\r\n' 19:26:37.136984 Received DATA (on stdin) 19:26:37.136996 > 28 bytes data, server => client 19:26:37.137006 '226 File transfer complete\r\n' 19:26:37.182733 < 6 bytes data, client => server 19:26:37.182770 'QUIT\r\n' 19:26:37.183000 Received DATA (on stdin) 19:26:37.183010 > 18 bytes data, server => client 19:26:37.183020 '221 bye bye baby\r\n' 19:26:37.184174 ====> Client disconnect 19:26:37.184336 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:36.126816 Running IPv4 version 19:26:36.126915 Listening on port 40191 19:26:36.126954 Wrote pid 95993 to log/7/server/ftp_sockdata.pid 19:26:36.127184 Received PING (on stdin) 19:26:36.127287 Received PORT (on stdin) 19:26:36.132577 ====> Client connect 19:26:36.136497 Received DATA (on stdin) 19:26:36.136511 > 17 bytes data, server => client 19:26:36.136521 'WE ROOLZ: 84721\r\n' 19:26:36.136551 Received DISC (on stdin) 19:26:36.136563 ====> Client forcibly disconnected 19:26:36.136646 Received QUIT (on stdin) 19:26:36.136655 quits 19:26:36.136729 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==96041== ==96041== Process terminating with default action of signal 4 (SIGILL) ==96041== Illegal opcode at address 0x492B75F ==96041== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96041== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96041== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96041== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96041== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96041== by 0x49908EB: curl_version_info (version.c:600) ==96041== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96041== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96041== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96041== by 0x4003269: main (tool_main.c:195) === End of file valgrind289 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/10/server/tftp_server.pid" --portfile "log/10/server/tftp_server.port" --logfile "log/10/tftp_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 95886 port 42286 * pid tftp => 95886 95886 test 0286 [TFTP send of boundary case 512-byte file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind286 ../src/curl -q --output log/10/curl286.out --include --trace-ascii log/10/trace286 --trace-time -T log/10/test286.txt tftp://127.0.0.1:42286// > log/10/stdout286 2> log/10/stderr286 286: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind286 ../src/curl -q --output log/10/curl286.out --include --trace-ascii log/10/trace286 --trace-time -T log/10/test286.txt tftp://127.0.0.1:42286// > log/10/stdout286 2> log/10/stderr286 === End of file commands.log === Start of file server.cmd Testnum 286 === End of file server.cmd === Start of file test286.txt A chunk of data which exactly fits into a 512-byte TFTP block, testing a boundary condition in the TFTP transmit code. 89ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF 123456789ABCDEF === End of file test286.txt === Start of file tftp_server.log 19:26:36.976773 Wrote pid 95886 to log/10/server/tftp_server.pid 19:26:36.976830 Wrote port 42286 to log/10/server/tftp_server.port 19:26:36.976841 Running IPv4 version on port UDP/42286 === End of file tftp_server.log === Start of file valgrind286 ==96695== ==96695== Process terminating with default action of signal 4 (SIGILL) ==96695== Illegal opcode at address 0x492B75F ==96695== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96695== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96695== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96695== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96695== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96695== by 0x49908EB: curl_version_info (version.c:600) ==96695== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96695== by 0x4003269: main (tool_main.c:195) === End of file valgrind286 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/17/server/tftp_server.pid" --portfile "log/17/server/tftp_server.port" --logfile "log/17/tftp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 95852 port 52569 * pid tftp => 95852 95852 test 0285 [TFTP send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind285 ../src/curl -q --output log/17/curl285.out --include --trace-ascii log/17/trace285 --trace-time -T log/17/test285.txt tftp://127.0.0.1:52569// --connect-timeout 549 --max-time 599 > log/17/stdout285 2> log/17/stderr285 285: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 285 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind285 ../src/curl -q --output log/17/curl285.out --incluCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind299 ../src/curl -q --output log/4/curl299.out --include --trace-ascii log/4/trace299 --trace-time -x http://127.0.0.1:35735 -u michal:aybabtu ftp://host.com/we/want/299 > log/4/stdout299 2> log/4/stderr299 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind294 ../src/curl -q --output log/1/curl294.out --include --trace-ascii log/1/trace294 --trace-time ftp://127.0.0.1:40221/294/ --ftp-account "data for acct" > log/1/stdout294 2> log/1/stderr294 de --trace-ascii log/17/trace285 --trace-time -T log/17/test285.txt tftp://127.0.0.1:52569// --connect-timeout 549 --max-time 599 > log/17/stdout285 2> log/17/stderr285 === End of file commands.log === Start of file server.cmd Testnum 285 === End of file server.cmd === Start of file test285.txt a chunk of data sent to server === End of file test285.txt === Start of file tftp_server.log 19:26:36.843118 Wrote pid 95852 to log/17/server/tftp_server.pid 19:26:36.843178 Wrote port 52569 to log/17/server/tftp_server.port 19:26:36.843191 Running IPv4 version on port UDP/52569 === End of file tftp_server.log === Start of file valgrind285 ==96457== ==96457== Process terminating with default action of signal 4 (SIGILL) ==96457== Illegal opcode at address 0x492B75F ==96457== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96457== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96457== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96457== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96457== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96457== by 0x49908EB: curl_version_info (version.c:600) ==96457== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96457== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96457== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96457== by 0x4003269: main (tool_main.c:195) === End of file valgrind285 test 0299 [FTP over HTTP proxy with user:pass not in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind299 ../src/curl -q --output log/4/curl299.out --include --trace-ascii log/4/trace299 --trace-time -x http://127.0.0.1:35735 -u michal:aybabtu ftp://host.com/we/want/299 > log/4/stdout299 2> log/4/stderr299 299: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind299 ../src/curl -q --output log/4/curl299.out --include --trace-ascii log/4/trace299 --trace-time -x http://127.0.0.1:35735 -u michal:aybabtu ftp://host.com/we/want/299 > log/4/stdout299 2> log/4/stderr299 === End of file commands.log === Start of file http_server.log 19:26:38.325225 ====> Client connect 19:26:38.325258 accept_connection 3 returned 4 19:26:38.325351 Read 93 bytes 19:26:38.325362 Process 93 bytes request 19:26:38.325373 Got request: GET /verifiedserver HTTP/1.1 19:26:38.325381 Are-we-friendly question received 19:26:38.325407 Wrote request (93 bytes) input to log/4/server.input 19:26:38.325422 Identifying ourselves as friends 19:26:38.325472 Response sent (56 bytes) and written to log/4/server.response 19:26:38.325482 special request received, no persistency 19:26:38.325489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 52940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind299 ==96898== ==96898== Process terminating with default action of signal 4 (SIGILL) ==96898== Illegal opcode at address 0x492B75F ==96898== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96898== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96898== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96898== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96898== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96898== by 0x49908EB: curl_version_info (version.c:600) ==96898== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96898== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96898== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96898== by 0x4003269: main (tool_main.c:195) === End of file valgrind299 test 0294 [FTP --ftp-account on ACCT request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind294 ../src/curl -q --output log/1/curl294.out --include --trace-ascii log/1/trace294 --trace-time ftp://127.0.0.1:40221/294/ --ftp-account "data for acct" > log/1/stdout294 2> log/1/stderr294 294: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 294 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind294 ../src/curl -q --output log/1/curl294.out --include --trace-ascii log/1/trace294 --trace-time ftp://127.0.0.1:40221/294/ --ftp-account "data for acct" > log/1/stdout294 2> log/1/stderr294 === End of file commands.log === Start of file ftp_server.log 19:26:37.095502 ====> Client connect 19:26:37.095747 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:37.096078 < "USER anonymous" 19:26:37.096113 > "331 We are happy you popped in![CR][LF]" 19:26:37.096282 < "PASS ftp@example.com" 19:26:37.096311 > "230 Welcome you silly person[CR][LF]" 19:26:37.096470 < "PWD" 19:26:37.096500 > "257 "/" is current directory[CR][LF]" 19:26:37.096666 < "EPSV" 19:26:37.096691 ====> Passive DATA channel requested by client 19:26:37.096705 DATA sockfilt for passive data channel starting... 19:26:37.112052 DATA sockfilt for passive data channel started (pid 96312) 19:26:37.112232 DATA sockfilt for passive data channel listens on port 41747 19:26:37.112277 > "229 Entering Passive Mode (|||41747|)[CR][LF]" 19:26:37.112294 Client has been notified that upcoming DATA connection is awaited on port 41747 19:26:37.112581 Client connects to port 41747 19:26:37.112613 ====> Client established passive DATA connection on port 41747 19:26:37.112748 < "TYPE I" 19:26:37.112781 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:37.112943 < "SIZE verifiedserver" 19:26:37.112980 > "213 17[CR][LF]" 19:26:37.113125 < "RETR verifiedserver" 19:26:37.113156 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:37.113248 =====> Closing passive DATA connection... 19:26:37.113265 Server disconnects passive DATA connection 19:26:37.113492 Server disconnected passive DATA connection 19:26:37.113518 DATA sockfilt for passive data channel quits (pid 96312) 19:26:37.113787 DATA sockfilt for passive data channel quit (pid 96312) 19:26:37.113810 =====> Closed passive DATA connection 19:26:37.113840 > "226 File transfer complete[CR][LF]" 19:26:37.159061 < "QUIT" 19:26:37.159129 > "221 bye bye baby[CR][LF]" 19:26:37.159976 MAIN sockfilt said DISC 19:26:37.160028 ====> Client disconnected 19:26:37.160132 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:37.699391 ====> Client connect 19:26:37.699801 Received DATA (on stdin) 19:26:37.699814 > 146 bytes data, server => client 19:26:37.699825 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:37.699835 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:37.699845 '220 \___|\___/|_| \_\_____CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind296 ../src/curl -q --output log/19/curl296.out --include --trace-ascii log/19/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38555/first/second/third/296 > log/19/stdout296 2> log/19/stderr296 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind316 ../src/curl -q --output log/6/curl316.out --include --trace-ascii log/6/trace316 --trace-time http://127.0.0.1:33935/316 --compressed > log/6/stdout316 2> log/6/stderr316 |\r\n' 19:26:37.699960 < 16 bytes data, client => server 19:26:37.699973 'USER anonymous\r\n' 19:26:37.700154 Received DATA (on stdin) 19:26:37.700164 > 33 bytes data, server => client 19:26:37.700174 '331 We are happy you popped in!\r\n' 19:26:37.700229 < 22 bytes data, client => server 19:26:37.700241 'PASS ftp@example.com\r\n' 19:26:37.700351 Received DATA (on stdin) 19:26:37.700362 > 30 bytes data, server => client 19:26:37.700372 '230 Welcome you silly person\r\n' 19:26:37.700423 < 5 bytes data, client => server 19:26:37.700433 'PWD\r\n' 19:26:37.700538 Received DATA (on stdin) 19:26:37.700548 > 30 bytes data, server => client 19:26:37.700558 '257 "/" is current directory\r\n' 19:26:37.700621 < 6 bytes data, client => server 19:26:37.700632 'EPSV\r\n' 19:26:37.716347 Received DATA (on stdin) 19:26:37.716370 > 39 bytes data, server => client 19:26:37.716381 '229 Entering Passive Mode (|||41747|)\r\n' 19:26:37.716675 < 8 bytes data, client => server 19:26:37.716688 'TYPE I\r\n' 19:26:37.716830 Received DATA (on stdin) 19:26:37.716841 > 33 bytes data, server => client 19:26:37.716851 '200 I modify TYPE as you wanted\r\n' 19:26:37.716904 < 21 bytes data, client => server 19:26:37.716914 'SIZE verifiedserver\r\n' 19:26:37.717021 Received DATA (on stdin) 19:26:37.717031 > 8 bytes data, server => client 19:26:37.717041 '213 17\r\n' 19:26:37.717089 < 21 bytes data, client => server 19:26:37.717099 'RETR verifiedserver\r\n' 19:26:37.717394 Received DATA (on stdin) 19:26:37.717405 > 29 bytes data, server => client 19:26:37.717415 '150 Binary junk (17 bytes).\r\n' 19:26:37.717883 Received DATA (on stdin) 19:26:37.717895 > 28 bytes data, server => client 19:26:37.717905 '226 File transfer complete\r\n' 19:26:37.762877 < 6 bytes data, client => server 19:26:37.762909 'QUIT\r\n' 19:26:37.763188 Received DATA (on stdin) 19:26:37.763200 > 18 bytes data, server => client 19:26:37.763209 '221 bye bye baby\r\n' 19:26:37.763970 ====> Client disconnect 19:26:37.764187 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:37.706906 Running IPv4 version 19:26:37.706990 Listening on port 41747 19:26:37.707030 Wrote pid 96312 to log/1/server/ftp_sockdata.pid 19:26:37.712719 Received PING (on stdin) 19:26:37.716162 Received PORT (on stdin) 19:26:37.716572 ====> Client connect 19:26:37.717309 Received DATA (on stdin) 19:26:37.717321 > 17 bytes data, server => client 19:26:37.717330 'WE ROOLZ: 84935\r\n' 19:26:37.717358 Received DISC (on stdin) 19:26:37.717368 ====> Client forcibly disconnected 19:26:37.717566 Received QUIT (on stdin) 19:26:37.717577 quits 19:26:37.717642 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 Give me an ACCT now REPLY ACCT 230 Thank-you for the ACCT Testnum 294 === End of file server.cmd === Start of file valgrind294 ==96388== ==96388== Process terminating with default action of signal 4 (SIGILL) ==96388== Illegal opcode at address 0x492B75F ==96388== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96388== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96388== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96388== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96388== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96388== by 0x49908EB: curl_version_info (version.c:600) ==96388== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96388== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96388== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96388== by 0x4003269: main (tool_main.c:195) === End of file valgrind294 test 0296 [FTP CWD with --ftp-method multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind296 ../src/curl -q --output log/19/curl296.out --include --trace-ascii log/19/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38555/first/second/third/296 > log/19/stdout296 2> log/19/stderr296 296: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind296 ../src/curl -q --output log/19/curl296.out --include --trace-ascii log/19/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:38555/first/second/third/296 > log/19/stdout296 2> log/19/stderr296 === End of file commands.log === Start of file ftp_server.log 19:26:37.175044 ====> Client connect 19:26:37.175236 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:37.175535 < "USER anonymous" 19:26:37.175570 > "331 We are happy you popped in![CR][LF]" 19:26:37.175742 < "PASS ftp@example.com" 19:26:37.175770 > "230 Welcome you silly person[CR][LF]" 19:26:37.175932 < "PWD" 19:26:37.175968 > "257 "/" is current directory[CR][LF]" 19:26:37.176135 < "EPSV" 19:26:37.176161 ====> Passive DATA channel requested by client 19:26:37.176176 DATA sockfilt for passive data channel starting... 19:26:37.199911 DATA sockfilt for passive data channel started (pid 96385) 19:26:37.205496 DATA sockfilt for passive data channel listens on port 35675 19:26:37.205568 > "229 Entering Passive Mode (|||35675|)[CR][LF]" 19:26:37.205585 Client has been notified that upcoming DATA connection is awaited on port 35675 19:26:37.205897 Client connects to port 35675 19:26:37.205926 ====> Client established passive DATA connection on port 35675 19:26:37.206017 < "TYPE I" 19:26:37.206046 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:37.206196 < "SIZE verifiedserver" 19:26:37.206230 > "213 17[CR][LF]" 19:26:37.206377 < "RETR verifiedserver" 19:26:37.206409 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:37.206830 =====> Closing passive DATA connection... 19:26:37.206856 Server disconnects passive DATA connection 19:26:37.206879 Fancy that; client wants to DISC, too 19:26:37.207091 Server disconnected passive DATA connection 19:26:37.207118 DATA sockfilt for passive data channel quits (pid 96385) 19:26:37.207369 DATA sockfilt for passive data channel quit (pid 96385) 19:26:37.207393 =====> Closed passive DATA connection 19:26:37.207420 > "226 File transfer complete[CR][LF]" 19:26:37.252293 < "QUIT" 19:26:37.252349 > "221 bye bye baby[CR][LF]" 19:26:37.253506 MAIN sockfilt said DISC 19:26:37.253539 ====> Client disconnected 19:26:37.253614 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:36.778982 ====> Client connect 19:26:36.779303 Received DATA (on stdin) 19:26:36.779316 > 146 bytes data, server => client 19:26:36.779327 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:36.779337 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:36.779346 '220 \___|\___/|_| \_\_____|\r\n' 19:26:36.779436 < 16 bytes data, client => server 19:26:36.779450 'USER anonymous\r\n' 19:26:36.779629 Received DATA (on stdin) 19:26:36.779640 > 33 bytes data, server => client 19:26:36.779651 '331 We are happy you popped in!\r\n' 19:26:36.779706 < 22 bytes data, client => server 19:26:36.779718 'PASS ftp@example.com\r\n' 19:26:36.779828 Received DATA (on stdin) 19:26:36.779839 > 30 bytes data, server => client 19:26:36.779849 '230 Welcome you silly person\r\n' 19:26:36.779901 < 5 bytes data, client => server 19:26:36.779913 'PWD\r\n' 19:26:36.780024 Received DATA (on stdin) 19:26:36.780035 > 30 bytes data, server => client 19:26:36.780045 '257 "/" is current directory\r\n' 19:26:36.780106 < 6 bytes data, client => server 19:26:36.780117 'EPSV\r\n' 19:26:36.809657 Received DATA (on stdin) 19:26:36.809672 > 39 bytes data, server => client 19:26:36.8096CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind292 ../src/curl -q --output log/18/curl292.out --include --trace-ascii log/18/trace292 --trace-time http://127.0.0.1:43739/292 --max-filesize 1000 > log/18/stdout292 2> log/18/stderr292 82 '229 Entering Passive Mode (|||35675|)\r\n' 19:26:36.809878 < 8 bytes data, client => server 19:26:36.809891 'TYPE I\r\n' 19:26:36.810108 Received DATA (on stdin) 19:26:36.810118 > 33 bytes data, server => client 19:26:36.810128 '200 I modify TYPE as you wanted\r\n' 19:26:36.810179 < 21 bytes data, client => server 19:26:36.810189 'SIZE verifiedserver\r\n' 19:26:36.810292 Received DATA (on stdin) 19:26:36.810302 > 8 bytes data, server => client 19:26:36.810311 '213 17\r\n' 19:26:36.810360 < 21 bytes data, client => server 19:26:36.810370 'RETR verifiedserver\r\n' 19:26:36.810648 Received DATA (on stdin) 19:26:36.810663 > 29 bytes data, server => client 19:26:36.810674 '150 Binary junk (17 bytes).\r\n' 19:26:36.811486 Received DATA (on stdin) 19:26:36.811497 > 28 bytes data, server => client 19:26:36.811507 '226 File transfer complete\r\n' 19:26:36.856192 < 6 bytes data, client => server 19:26:36.856223 'QUIT\r\n' 19:26:36.856429 Received DATA (on stdin) 19:26:36.856441 > 18 bytes data, server => client 19:26:36.856450 '221 bye bye baby\r\n' 19:26:36.857529 ====> Client disconnect 19:26:36.857687 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:37.800371 Running IPv4 version 19:26:37.800463 Listening on port 35675 19:26:37.800510 Wrote pid 96385 to log/19/server/ftp_sockdata.pid 19:26:37.800533 Received PING (on stdin) 19:26:37.809401 Received PORT (on stdin) 19:26:37.809913 ====> Client connect 19:26:37.810702 Received DATA (on stdin) 19:26:37.810714 > 17 bytes data, server => client 19:26:37.810724 'WE ROOLZ: 84587\r\n' 19:26:37.810811 ====> Client disconnect 19:26:37.810941 Received DISC (on stdin) 19:26:37.810952 Crikey! Client also wants to disconnect 19:26:37.810963 Received ACKD (on stdin) 19:26:37.811191 Received QUIT (on stdin) 19:26:37.811201 quits 19:26:37.811272 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==96559== ==96559== Process terminating with default action of signal 4 (SIGILL) ==96559== Illegal opcode at address 0x492B75F ==96559== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96559== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96559== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96559== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96559== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96559== by 0x49908EB: curl_version_info (version.c:600) ==96559== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96559== by 0x4003269: main (tool_main.c:195) === End of file valgrind296 test 0316 [HTTP brotli compressed content of size more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind316 ../src/curl -q --output log/6/curl316.out --include --trace-ascii log/6/trace316 --trace-time http://127.0.0.1:33935/316 --compressed > log/6/stdout316 2> log/6/stderr316 316: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 316 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind316 ../src/curl -q --output log/6/curl316.out --include --trace-ascii log/6/trace316 --trace-time http://127.0.0.1:33935/316 --compressed > log/6/stdout316 2> log/6/stderr316 === End of file commands.log === Start of file http_server.log 19:26:37.602746 ====> Client connect 19:26:37.602777 accept_connection 3 returned 4 19:26:37.602796 Read 93 bytes 19:26:37.602806 Process 93 bytes request 19:26:37.602818 Got request: GET /verifiedserver HTTP/1.1 19:26:37.602826 Are-we-friendly question received 19:26:37.602854 Wrote request (93 bytes) input to log/6/server.input 19:26:37.602869 Identifying ourselves as friends 19:26:37.602957 Response sent (56 bytes) and written to log/6/server.response 19:26:37.602967 special request received, no persistency 19:26:37.602975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 37252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 316 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind316 ==97070== ==97070== Process terminating with default action of signal 4 (SIGILL) ==97070== Illegal opcode at address 0x492B75F ==97070== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97070== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97070== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97070== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97070== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97070== by 0x49908EB: curl_version_info (version.c:600) ==97070== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97070== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97070== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97070== by 0x4003269: main (tool_main.c:195) === End of file valgrind316 test 0292 [HTTP GET with maximum filesize not exceeded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind292 ../src/curl -q --output log/18/curl292.out --include --trace-ascii log/18/trace292 --trace-time http://127.0.0.1:43739/292 --max-filesize 1000 > log/18/stdout292 2> log/18/stderr292 292: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind292 ../src/curl -q --output log/18/curl292.out --include --trace-ascii log/18/trace292 --trace-time http://127.0.0.1:43739/292 --max-filesize 1000 > log/18/stdout292 2> log/18/stderr292 === End of file commands.log === Start of file http_server.log 19:26:37.610388 ====> Client connect 19:26:37.610428 accept_connection 3 returned 4 19:26:37.610451 Read 93 bytes 19:26:37.610462 Process 93 bytes request 19:26:37.610474 Got request: GET /verifiedserver HTTP/1.1 19:26:37.610483 Are-we-friendly question received 19:26:37.610515 Wrote request (93 bytes) input to log/18/server.input 19:26:37.610542 Identifying ourselves as friends 19:26:37.610620 Response sent (56 bytes) and written to log/18/server.response 19:26:37.610632 special request received, no persistency 19:26:37.610641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file htCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:36161/314 --compressed > log/3/stdout314 2> log/3/stderr314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind315 ../src/curl -q --output log/13/curl315.out --include --trace-ascii log/13/trace315 --trace-time http://127.0.0.1:38821/315 --compressed > log/13/stdout315 2> log/13/stderr315 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:44711 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/stderr318 tp_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind292 ==96234== ==96234== Process terminating with default action of signal 4 (SIGILL) ==96234== Illegal opcode at address 0x492B75F ==96234== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96234== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96234== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96234== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96234== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96234== by 0x49908EB: curl_version_info (version.c:600) ==96234== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96234== by 0x4003269: main (tool_main.c:195) === End of file valgrind292 test 0314 [HTTP GET brotli compressed content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:36161/314 --compressed > log/3/stdout314 2> log/3/stderr314 314: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind314 ../src/curl -q --output log/3/curl314.out --include --trace-ascii log/3/trace314 --trace-time http://127.0.0.1:36161/314 --compressed > log/3/stdout314 2> log/3/stderr314 === End of file commands.log === Start of file http_server.log 19:26:38.562981 ====> Client connect 19:26:38.563019 accept_connection 3 returned 4 19:26:38.563042 Read 93 bytes 19:26:38.563052 Process 93 bytes request 19:26:38.563065 Got request: GET /verifiedserver HTTP/1.1 19:26:38.563073 Are-we-friendly question received 19:26:38.563101 Wrote request (93 bytes) input to log/3/server.input 19:26:38.563117 Identifying ourselves as friends 19:26:38.563187 Response sent (56 bytes) and written to log/3/server.response 19:26:38.563196 special request received, no persistency 19:26:38.563204 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 43482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind314 ==97051== ==97051== Process terminating with default action of signal 4 (SIGILL) ==97051== Illegal opcode at address 0x492B75F ==97051== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97051== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97051== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97051== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97051== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97051== by 0x49908EB: curl_version_info (version.c:600) ==97051== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97051== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97051== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97051== by 0x4003269: main (tool_main.c:195) === End of file valgrind314 test 0315 [HTTP GET brotli compressed content with broken header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind315 ../src/curl -q --output log/13/curl315.out --include --trace-ascii log/13/trace315 --trace-time http://127.0.0.1:38821/315 --compressed > log/13/stdout315 2> log/13/stderr315 315: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind315 ../src/curl -q --output log/13/curl315.out --include --trace-ascii log/13/trace315 --trace-time http://127.0.0.1:38821/315 --compressed > log/13/stdout315 2> log/13/stderr315 === End of file commands.log === Start of file http_server.log 19:26:37.587689 ====> Client connect 19:26:37.587739 accept_connection 3 returned 4 19:26:37.587765 Read 93 bytes 19:26:37.587774 Process 93 bytes request 19:26:37.587785 Got request: GET /verifiedserver HTTP/1.1 19:26:37.587793 Are-we-friendly question received 19:26:37.587868 Wrote request (93 bytes) input to log/13/server.input 19:26:37.587902 Identifying ourselves as friends 19:26:37.587992 Response sent (56 bytes) and written to log/13/server.response 19:26:37.588001 special request received, no persistency 19:26:37.588009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 40542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind315 ==97054== ==97054== Process terminating with default action of signal 4 (SIGILL) ==97054== Illegal opcode at address 0x492B75F ==97054== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97054== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97054== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97054== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97054== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97054== by 0x49908EB: curl_version_info (version.c:600) ==97054== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97054== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97054== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97054== by 0x4003269: main (tool_main.c:195) === End of file valgrind315 test 0318 [HTTP with custom Authorization: then trusted redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:44711 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/stderr318 318: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == ConCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:40921 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37411/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 tents of files in the log/23/ directory after test 318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind318 ../src/curl -q --output log/23/curl318.out --include --trace-ascii log/23/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:44711 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/23/stdout318 2> log/23/stderr318 === End of file commands.log === Start of file http_server.log 19:26:37.823036 ====> Client connect 19:26:37.823082 accept_connection 3 returned 4 19:26:37.823108 Read 93 bytes 19:26:37.823119 Process 93 bytes request 19:26:37.823133 Got request: GET /verifiedserver HTTP/1.1 19:26:37.823141 Are-we-friendly question received 19:26:37.823172 Wrote request (93 bytes) input to log/23/server.input 19:26:37.823189 Identifying ourselves as friends 19:26:37.823267 Response sent (56 bytes) and written to log/23/server.response 19:26:37.823279 special request received, no persistency 19:26:37.823288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 36314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind318 ==97253== ==97253== Process terminating with default action of signal 4 (SIGILL) ==97253== Illegal opcode at address 0x492B75F ==97253== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97253== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97253== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97253== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97253== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97253== by 0x49908EB: curl_version_info (version.c:600) ==97253== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97253== by 0x4003269: main (tool_main.c:195) === End of file valgrind318 test 0317 [HTTP with custom Authorization: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:40921 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 317: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:40921 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 === End of file commands.log === Start of file http_server.log 19:26:37.756186 ====> Client connect 19:26:37.756223 accept_connection 3 returned 4 19:26:37.756380 Read 93 bytes 19:26:37.756396 Process 93 bytes request 19:26:37.756410 Got request: GET /verifiedserver HTTP/1.1 19:26:37.756418 Are-we-friendly question received 19:26:37.756487 Wrote request (93 bytes) input to log/12/server.input 19:26:37.756507 Identifying ourselves as friends 19:26:37.756574 Response sent (56 bytes) and written to log/12/server.response 19:26:37.756583 special request received, no persistency 19:26:37.756591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 41002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind317 ==97205== ==97205== Process terminating with default action of signal 4 (SIGILL) ==97205== Illegal opcode at address 0x492B75F ==97205== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97205== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97205== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97205== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97205== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97205== by 0x49908EB: curl_version_info (version.c:600) ==97205== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97205== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97205== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97205== by 0x4003269: main (tool_main.c:195) === End of file valgrind317 test 0298 [FTP CWD with --ftp-method nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37411/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 298: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind298 ../src/curl -q --output log/14/curl298.out --include --trace-ascii log/14/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:37411/first/second/th%69rd/298 > log/14/stdout298 2> log/14/stderr298 === End of file commands.log === Start of file ftp_server.log 19:26:37.628821 ====> Client connect 19:26:37.629024 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:37.629339 < "USER anonymous" 19:26:37.629374 > "331 We are happy you popped in![CR][LF]" 19:26:37.629538 < "PASS ftp@example.com" 19:26:37.629566 > "230 Welcome you silly person[CR][LF]" 19:26:37.629700 < "PWD" 19:26:37.629729 > "257 "/" is current directory[CR][LF]" 19:26:37.629867 < "EPSV" 19:26:37.629888 ====> Passive DATA channel requested by client 19:26:37.629900 DATA sockfilt for passive data channel starting... 19:26:37.635537 DATA sockfilt for passive data channel started (pid 96845) 19:26:37.635650 DATA sockfilt for passive data channel listens on port 37747 19:26:37.635689 > "229 Entering Passive Mode (|||37747|)[CR][LF]" 19:26:37.635705 Client has beCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind322 ../src/curl -q --output log/8/curl322.out --include --trace-ascii log/8/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/8/stdout322 2> log/8/stderr322 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind321 ../src/curl -q --output log/2/curl321.out --include --trace-ascii log/2/trace321 --trace-time http://127.0.0.1:34531/321 --etag-save - >> log/2/out321 2> log/2/stderr321 en notified that upcoming DATA connection is awaited on port 37747 19:26:37.635972 Client connects to port 37747 19:26:37.636000 ====> Client established passive DATA connection on port 37747 19:26:37.636074 < "TYPE I" 19:26:37.636103 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:37.636248 < "SIZE verifiedserver" 19:26:37.636282 > "213 17[CR][LF]" 19:26:37.636410 < "RETR verifiedserver" 19:26:37.636439 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:37.636525 =====> Closing passive DATA connection... 19:26:37.636538 Server disconnects passive DATA connection 19:26:37.636739 Server disconnected passive DATA connection 19:26:37.636761 DATA sockfilt for passive data channel quits (pid 96845) 19:26:37.636964 DATA sockfilt for passive data channel quit (pid 96845) 19:26:37.636987 =====> Closed passive DATA connection 19:26:37.637012 > "226 File transfer complete[CR][LF]" 19:26:37.686175 < "QUIT" 19:26:37.686234 > "221 bye bye baby[CR][LF]" 19:26:37.687532 MAIN sockfilt said DISC 19:26:37.687577 ====> Client disconnected 19:26:37.687662 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:38.232845 ====> Client connect 19:26:38.233200 Received DATA (on stdin) 19:26:38.233214 > 146 bytes data, server => client 19:26:38.233224 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:38.233232 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:38.233240 '220 \___|\___/|_| \_\_____|\r\n' 19:26:38.233352 < 16 bytes data, client => server 19:26:38.233363 'USER anonymous\r\n' 19:26:38.233536 Received DATA (on stdin) 19:26:38.233547 > 33 bytes data, server => client 19:26:38.233555 '331 We are happy you popped in!\r\n' 19:26:38.233611 < 22 bytes data, client => server 19:26:38.233620 'PASS ftp@example.com\r\n' 19:26:38.233725 Received DATA (on stdin) 19:26:38.233734 > 30 bytes data, server => client 19:26:38.233742 '230 Welcome you silly person\r\n' 19:26:38.233788 < 5 bytes data, client => server 19:26:38.233796 'PWD\r\n' 19:26:38.233886 Received DATA (on stdin) 19:26:38.233895 > 30 bytes data, server => client 19:26:38.233903 '257 "/" is current directory\r\n' 19:26:38.233955 < 6 bytes data, client => server 19:26:38.233965 'EPSV\r\n' 19:26:38.239872 Received DATA (on stdin) 19:26:38.239885 > 39 bytes data, server => client 19:26:38.239893 '229 Entering Passive Mode (|||37747|)\r\n' 19:26:38.240084 < 8 bytes data, client => server 19:26:38.240094 'TYPE I\r\n' 19:26:38.240265 Received DATA (on stdin) 19:26:38.240275 > 33 bytes data, server => client 19:26:38.240284 '200 I modify TYPE as you wanted\r\n' 19:26:38.240335 < 21 bytes data, client => server 19:26:38.240344 'SIZE verifiedserver\r\n' 19:26:38.240441 Received DATA (on stdin) 19:26:38.240450 > 8 bytes data, server => client 19:26:38.240458 '213 17\r\n' 19:26:38.240503 < 21 bytes data, client => server 19:26:38.240511 'RETR verifiedserver\r\n' 19:26:38.240775 Received DATA (on stdin) 19:26:38.240785 > 29 bytes data, server => client 19:26:38.240793 '150 Binary junk (17 bytes).\r\n' 19:26:38.241174 Received DATA (on stdin) 19:26:38.241185 > 28 bytes data, server => client 19:26:38.241193 '226 File transfer complete\r\n' 19:26:38.290157 < 6 bytes data, client => server 19:26:38.290189 'QUIT\r\n' 19:26:38.290416 Received DATA (on stdin) 19:26:38.290428 > 18 bytes data, server => client 19:26:38.290437 '221 bye bye baby\r\n' 19:26:38.291644 ====> Client disconnect 19:26:38.291838 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:37.237810 Running IPv4 version 19:26:37.237891 Listening on port 37747 19:26:37.237934 Wrote pid 96845 to log/14/server/ftp_sockdata.pid 19:26:37.239633 Received PING (on stdin) 19:26:37.239727 Received PORT (on stdin) 19:26:37.240058 ====> Client connect 19:26:37.240700 Received DATA (on stdin) 19:26:37.240710 > 17 bytes data, server => client 19:26:37.240718 'WE ROOLZ: 85053\r\n' 19:26:37.240743 Received DISC (on stdin) 19:26:37.240752 ====> Client forcibly disconnected 19:26:37.240931 Received QUIT (on stdin) 19:26:37.240940 quits 19:26:37.240995 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==96883== ==96883== Process terminating with default action of signal 4 (SIGILL) ==96883== Illegal opcode at address 0x492B75F ==96883== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==96883== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==96883== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==96883== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==96883== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==96883== by 0x49908EB: curl_version_info (version.c:600) ==96883== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==96883== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==96883== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==96883== by 0x4003269: main (tool_main.c:195) === End of file valgrind298 test 0321 [--etag-save to stdout append to file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind321 ../src/curl -q --output log/2/curl321.out --include --trace-ascii log/2/trace321 --trace-time http://127.0.0.1:34531/321 --etag-save - >> log/2/out321 2> log/2/stderr321 321: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 321 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind321 ../src/curl -q --output log/2/curl321.out --include --trace-ascii log/2/trace321 --trace-time http://127.0.0.1:34531/321 --etag-save - >> log/2/out321 2> log/2/stderr321 === End of file commands.log === Start of file http_server.log 19:26:39.435055 ====> Client connect 19:26:39.435375 accept_connection 3 returned 4 19:26:39.435433 Read 93 bytes 19:26:39.435442 Process 93 bytes request 19:26:39.435453 Got request: GET /verifiedserver HTTP/1.1 19:26:39.435461 Are-we-friendly question received 19:26:39.435489 Wrote request (93 bytes) input to log/2/server.input 19:26:39.435507 Identifying ourselves as friends 19:26:39.435591 Response sent (56 bytes) and written to log/2/server.response 19:26:39.435599 special request received, no persistency 19:26:39.435606 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 51520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file out321 initial content === End of file out321 === Start of file server.cmd Testnum 321 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind321 ==97437== ==97437== Process terminating with default action of signal 4 (SIGILL) ==97437== Illegal opcode at address 0x492B75F ==97437== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97437== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97437== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97437== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97437== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97437== by 0x49908EB: curl_version_info (version.c:600) ==97437== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97437== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97437== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97437== by 0x4003269: main (tool_main.c:195) === End of file valgrind321 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind320 ../src/curl -q --output log/22/curl320.out --include --trace-ascii log/22/trace320 --trace-time http://localhost:35989/320 -b log/22/cookies.txt --resolve localhost:35989:127.0.0.1 > log/22/stdout320 2> log/22/stderr320 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind319 ../src/curl -q --output log/5/curl319.out --include --trace-ascii log/5/trace319 --trace-time http://127.0.0.1:37089/319 --raw > log/5/stdout319 2> log/5/stderr319 test 0322 [--proto with multiple modifiers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind322 ../src/curl -q --output log/8/curl322.out --include --trace-ascii log/8/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/8/stdout322 2> log/8/stderr322 322: stderr FAILED: --- log/8/check-expected 2026-10-15 19:26:41.173892233 +0000 +++ log/8/check-generated 2026-10-15 19:26:41.169887822 +0000 @@ -1,3 +0,0 @@ -curl: unrecognized protocol '-http'[CR][LF] -curl: option --proto: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/8/ directory after test 322 === Start of file check-expected curl: unrecognized protocol '-http'[CR][LF] curl: option --proto: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind322 ../src/curl -q --output log/8/curl322.out --include --trace-ascii log/8/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/8/stdout322 2> log/8/stderr322 === End of file commands.log === Start of file server.cmd Testnum 322 === End of file server.cmd === Start of file valgrind322 ==97452== ==97452== Process terminating with default action of signal 4 (SIGILL) ==97452== Illegal opcode at address 0x492B75F ==97452== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97452== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97452== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97452== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97452== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97452== by 0x49908EB: curl_version_info (version.c:600) ==97452== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97452== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97452== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97452== by 0x4003269: main (tool_main.c:195) === End of file valgrind322 test 0320 [Load cookies from file for localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind320 ../src/curl -q --output log/22/curl320.out --include --trace-ascii log/22/trace320 --trace-time http://localhost:35989/320 -b log/22/cookies.txt --resolve localhost:35989:127.0.0.1 > log/22/stdout320 2> log/22/stderr320 320: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 320 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind320 ../src/curl -q --output log/22/curl320.out --include --trace-ascii log/22/trace320 --trace-time http://localhost:35989/320 -b log/22/cookies.txt --resolve localhost:35989:127.0.0.1 > log/22/stdout320 2> log/22/stderr320 === End of file commands.log === Start of file cookies.txt localhost TRUE / FALSE 0 good allowed === End of file cookies.txt === Start of file http_server.log 19:26:38.422813 ====> Client connect 19:26:38.422861 accept_connection 3 returned 4 19:26:38.422891 Read 93 bytes 19:26:38.422900 Process 93 bytes request 19:26:38.422912 Got request: GET /verifiedserver HTTP/1.1 19:26:38.422920 Are-we-friendly question received 19:26:38.422947 Wrote request (93 bytes) input to log/22/server.input 19:26:38.422963 Identifying ourselves as friends 19:26:38.423042 Response sent (56 bytes) and written to log/22/server.response 19:26:38.423051 special request received, no persistency 19:26:38.423058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 40880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 320 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind320 ==97451== ==97451== Process terminating with default action of signal 4 (SIGILL) ==97451== Illegal opcode at address 0x492B75F ==97451== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97451== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97451== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97451== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97451== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97451== by 0x49908EB: curl_version_info (version.c:600) ==97451== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97451== by 0x4003269: main (tool_main.c:195) === End of file valgrind320 test 0319 [HTTP GET gobbledigook transfer-encoded data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind319 ../src/curl -q --output log/5/curl319.out --include --trace-ascii log/5/trace319 --trace-time http://127.0.0.1:37089/319 --raw > log/5/stdout319 2> log/5/stderr319 319: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind319 ../src/curl -q --output log/5/curl319.out --include --trace-ascii log/5/trace319 --trace-time http://127.0.0.1:37089/319 --raw > log/5/stdout319 2> log/5/stderr319 === End of file commands.log === Start of file http_server.log 19:26:38.236005 ====> Client connect 19:26:38.236045 accept_connection 3 returned 4 19:26:38.236214 Read 93 bytes 19:26:38.236231 Process 93 bytes request 19:26:38.236245 Got request: GET /verifiedserver HTTP/1.1 19:26:38.236255 Are-we-friendly question received 19:26:38.236288 Wrote request (93 bytes) input to log/5/server.input 19:26:38.236307 Identifying ourselves as friends 19:26:38.236394 Response sent (56 bytes) and written to log/5/server.response 19:26:38.236407 special request received, no persistency 19:26:38.236416 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 39820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 319 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind319 ==97379== ==97379== Process terminating with default action of signal 4 (SIGILL) ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind326 ../src/curl -q --output log/9/curl326.out --trace-ascii log/9/trace326 --trace-time http://127.0.0.1:43733/326 --raw > log/9/stdout326 2> log/9/stderr326 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:40321/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:40321/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:39881/hello/328 --compressed > log/21/stdout328 2> log/21/stderr328 97379== Illegal opcode at address 0x492B75F ==97379== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97379== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97379== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97379== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97379== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97379== by 0x49908EB: curl_version_info (version.c:600) ==97379== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97379== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97379== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97379== by 0x4003269: main (tool_main.c:195) === End of file valgrind319 test 0326 [HTTP GET chunked data in raw mode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind326 ../src/curl -q --output log/9/curl326.out --trace-ascii log/9/trace326 --trace-time http://127.0.0.1:43733/326 --raw > log/9/stdout326 2> log/9/stderr326 326: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind326 ../src/curl -q --output log/9/curl326.out --trace-ascii log/9/trace326 --trace-time http://127.0.0.1:43733/326 --raw > log/9/stdout326 2> log/9/stderr326 === End of file commands.log === Start of file http_server.log 19:26:38.680423 ====> Client connect 19:26:38.680460 accept_connection 3 returned 4 19:26:38.680564 Read 93 bytes 19:26:38.680583 Process 93 bytes request 19:26:38.680597 Got request: GET /verifiedserver HTTP/1.1 19:26:38.680606 Are-we-friendly question received 19:26:38.680639 Wrote request (93 bytes) input to log/9/server.input 19:26:38.680656 Identifying ourselves as friends 19:26:38.680716 Response sent (56 bytes) and written to log/9/server.response 19:26:38.680726 special request received, no persistency 19:26:38.680735 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 39504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind326 ==97629== ==97629== Process terminating with default action of signal 4 (SIGILL) ==97629== Illegal opcode at address 0x492B75F ==97629== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97629== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97629== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97629== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97629== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97629== by 0x49908EB: curl_version_info (version.c:600) ==97629== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97629== by 0x4003269: main (tool_main.c:195) === End of file valgrind326 test 0327 [HTTP with cookiejar without cookies left] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:40321/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:40321/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 327: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 327 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind327 ../src/curl -q --output log/15/curl327.out --include --trace-ascii log/15/trace327 --trace-time http://127.0.0.1:40321/we/want/327 -b none -c log/15/cookies327 http://127.0.0.1:40321/we/want/3270002 > log/15/stdout327 2> log/15/stderr327 === End of file commands.log === Start of file http_server.log 19:26:39.869771 ====> Client connect 19:26:39.869807 accept_connection 3 returned 4 19:26:39.869829 Read 93 bytes 19:26:39.869838 Process 93 bytes request 19:26:39.869858 Got request: GET /verifiedserver HTTP/1.1 19:26:39.869867 Are-we-friendly question received 19:26:39.869897 Wrote request (93 bytes) input to log/15/server.input 19:26:39.869915 Identifying ourselves as friends 19:26:39.869987 Response sent (56 bytes) and written to log/15/server.response 19:26:39.870000 special request received, no persistency 19:26:39.870008 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 52252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind327 ==97722== ==97722== Process terminating with default action of signal 4 (SIGILL) ==97722== Illegal opcode at address 0x492B75F ==97722== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97722== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97722== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97722== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97722== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97722== by 0x49908EB: curl_version_info (version.c:600) ==97722== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97722== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97722== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97722== by 0x4003269: main (tool_main.c:195) === End of file valgrind327 test 0328 [HTTP with "Content-Encoding: none] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:39881/hello/328 --compressed > log/21/stdout328 2> log/21/stderr328 328: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:39881/hello/328 --compressed > log/21/stdout328 2> log/21/stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind335 ../src/curl -q --output log/17/curl335.out --include --trace-ascii log/17/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35993 --proxy-digest --digest > log/17/stdout335 2> log/17/stderr335 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind330 ../src/curl -q --output log/11/curl330.out --include --trace-ascii log/11/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:40989 -H "Cookie: test=yes" --location > log/11/stdout330 2> log/11/stderr330 err328 === End of file commands.log === Start of file http_server.log 19:26:38.910378 ====> Client connect 19:26:38.910411 accept_connection 3 returned 4 19:26:38.910432 Read 93 bytes 19:26:38.910441 Process 93 bytes request 19:26:38.910452 Got request: GET /verifiedserver HTTP/1.1 19:26:38.910461 Are-we-friendly question received 19:26:38.910486 Wrote request (93 bytes) input to log/21/server.input 19:26:38.910503 Identifying ourselves as friends 19:26:38.910602 Response sent (56 bytes) and written to log/21/server.response 19:26:38.910613 special request received, no persistency 19:26:38.910621 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 56472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind328 ==97735== ==97735== Process terminating with default action of signal 4 (SIGILL) ==97735== Illegal opcode at address 0x492B75F ==97735== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97735== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97735== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97735== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97735== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97735== by 0x49908EB: curl_version_info (version.c:600) ==97735== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97735== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97735== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97735== by 0x4003269: main (tool_main.c:195) === End of file valgrind328 test 0335 [HTTP with proxy Digest and site Digest with creds in URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind335 ../src/curl -q --output log/17/curl335.out --include --trace-ascii log/17/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35993 --proxy-digest --digest > log/17/stdout335 2> log/17/stderr335 335: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind335 ../src/curl -q --output log/17/curl335.out --include --trace-ascii log/17/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:35993 --proxy-digest --digest > log/17/stdout335 2> log/17/stderr335 === End of file commands.log === Start of file http_server.log 19:26:40.550082 ====> Client connect 19:26:40.550122 accept_connection 3 returned 4 19:26:40.550143 Read 93 bytes 19:26:40.550153 Process 93 bytes request 19:26:40.550164 Got request: GET /verifiedserver HTTP/1.1 19:26:40.550173 Are-we-friendly question received 19:26:40.550199 Wrote request (93 bytes) input to log/17/server.input 19:26:40.550218 Identifying ourselves as friends 19:26:40.550296 Response sent (56 bytes) and written to log/17/server.response 19:26:40.550304 special request received, no persistency 19:26:40.550311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 35502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 335 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind335 ==98162== ==98162== Process terminating with default action of signal 4 (SIGILL) ==98162== Illegal opcode at address 0x492B75F ==98162== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98162== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98162== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98162== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98162== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98162== by 0x49908EB: curl_version_info (version.c:600) ==98162== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98162== by 0x4003269: main (tool_main.c:195) === End of file valgrind335 test 0330 [HTTP with custom Cookie: and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind330 ../src/curl -q --output log/11/curl330.out --include --trace-ascii log/11/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:40989 -H "Cookie: test=yes" --location > log/11/stdout330 2> log/11/stderr330 330: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 330 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind330 ../src/curl -q --output log/11/curl330.out --include --trace-ascii log/11/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:40989 -H "Cookie: test=yes" --location > log/11/stdout330 2> log/11/stderr330 === End of file commands.log === Start of file http_server.log 19:26:39.150022 ====> Client connect 19:26:39.150070 accept_connection 3 returned 4 19:26:39.150100 Read 93 bytes 19:26:39.150112 Process 93 bytes request 19:26:39.150127 Got request: GET /verifiedserver HTTP/1.1 19:26:39.150136 Are-we-friendly question received 19:26:39.150168 Wrote request (93 bytes) input to log/11/server.input 19:26:39.150187 Identifying ourselves as friends 19:26:39.150278 Response sent (56 bytes) and written to log/11/server.response 19:26:39.150291 special request received, no persistency 19:26:39.150300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 38494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 330 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind330 ==97899== =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind331 ../src/curl -q --output log/20/curl331.out --include --trace-ascii log/20/trace331 --trace-time -x http://127.0.0.1:33897 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/20/stdout331 2> log/20/stderr331 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind329 ../src/curl -q --output log/16/curl329.out --include --trace-ascii log/16/trace329 --trace-time http://127.0.0.1:35903/we/want/329 -b log/16/jar329.txt -b log/16/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:35903/we/want/3290002 > log/16/stdout329 2> log/16/stderr329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind333 ../src/curl -q --output log/7/curl333.out --include --trace-ascii log/7/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/7/stdout333 2> log/7/stderr333 =97899== Process terminating with default action of signal 4 (SIGILL) ==97899== Illegal opcode at address 0x492B75F ==97899== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97899== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97899== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97899== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97899== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97899== by 0x49908EB: curl_version_info (version.c:600) ==97899== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97899== by 0x4003269: main (tool_main.c:195) === End of file valgrind330 test 0331 [HTTP with cookie using hostname 'moo'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind331 ../src/curl -q --output log/20/curl331.out --include --trace-ascii log/20/trace331 --trace-time -x http://127.0.0.1:33897 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/20/stdout331 2> log/20/stderr331 331: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind331 ../src/curl -q --output log/20/curl331.out --include --trace-ascii log/20/trace331 --trace-time -x http://127.0.0.1:33897 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/20/stdout331 2> log/20/stderr331 === End of file commands.log === Start of file http_server.log 19:26:39.179262 ====> Client connect 19:26:39.179296 accept_connection 3 returned 4 19:26:39.179319 Read 93 bytes 19:26:39.179329 Process 93 bytes request 19:26:39.179341 Got request: GET /verifiedserver HTTP/1.1 19:26:39.179349 Are-we-friendly question received 19:26:39.179375 Wrote request (93 bytes) input to log/20/server.input 19:26:39.179391 Identifying ourselves as friends 19:26:39.179459 Response sent (56 bytes) and written to log/20/server.response 19:26:39.179468 special request received, no persistency 19:26:39.179476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 36378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind331 ==97895== ==97895== Process terminating with default action of signal 4 (SIGILL) ==97895== Illegal opcode at address 0x492B75F ==97895== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97895== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97895== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97895== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97895== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97895== by 0x49908EB: curl_version_info (version.c:600) ==97895== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97895== by 0x4003269: main (tool_main.c:195) === End of file valgrind331 setenv TZ = GMT test 0329 [HTTP cookie with Max-Age=0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind329 ../src/curl -q --output log/16/curl329.out --include --trace-ascii log/16/trace329 --trace-time http://127.0.0.1:35903/we/want/329 -b log/16/jar329.txt -b log/16/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:35903/we/want/3290002 > log/16/stdout329 2> log/16/stderr329 329: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind329 ../src/curl -q --output log/16/curl329.out --include --trace-ascii log/16/trace329 --trace-time http://127.0.0.1:35903/we/want/329 -b log/16/jar329.txt -b log/16/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:35903/we/want/3290002 > log/16/stdout329 2> log/16/stderr329 === End of file commands.log === Start of file http_server.log 19:26:40.143336 ====> Client connect 19:26:40.143381 accept_connection 3 returned 4 19:26:40.143408 Read 93 bytes 19:26:40.143419 Process 93 bytes request 19:26:40.143432 Got request: GET /verifiedserver HTTP/1.1 19:26:40.143441 Are-we-friendly question received 19:26:40.143471 Wrote request (93 bytes) input to log/16/server.input 19:26:40.143491 Identifying ourselves as friends 19:26:40.143584 Response sent (56 bytes) and written to log/16/server.response 19:26:40.143596 special request received, no persistency 19:26:40.143605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 59194 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file jar329.txt .host.foo.com TRUE /we/want/ FALSE 22147483647 test no .host.foo.com TRUE /we/want/ FALSE 22147483647 tester yes === End of file jar329.txt === Start of file server.cmd Testnum 329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind329 ==97877== ==97877== Process terminating with default action of signal 4 (SIGILL) ==97877== Illegal opcode at address 0x492B75F ==97877== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97877== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97877== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97877== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97877== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97877== by 0x49908EB: curl_version_info (version.c:600) ==97877== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97877== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97877== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97877== by 0x4003269: main (tool_main.c:195) === End of file valgrind329 test 0333 [Try a non-boolean command line option with --no-] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind333 ../src/curl -q --output log/7/curl333.out --include --trace-ascii log/7/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/7/stdout333 2> log/7/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/7/ directory after test 333 === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind339 ../src/curl -q --output log/6/curl339.out --include --trace-ascii log/6/trace339 --trace-time http://127.0.0.1:33935/339 --etag-save log/6/etag339 > log/6/stdout339 2> log/6/stderr339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:39739/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 art of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind333 ../src/curl -q --output log/7/curl333.out --include --trace-ascii log/7/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/7/stdout333 2> log/7/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==97946== ==97946== Process terminating with default action of signal 4 (SIGILL) ==97946== Illegal opcode at address 0x492B75F ==97946== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==97946== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==97946== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==97946== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==97946== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==97946== by 0x49908EB: curl_version_info (version.c:600) ==97946== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==97946== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==97946== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==97946== by 0x4003269: main (tool_main.c:195) === End of file valgrind333 test 0339 [Check if --etag-save saved correct etag to a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind339 ../src/curl -q --output log/6/curl339.out --include --trace-ascii log/6/trace339 --trace-time http://127.0.0.1:33935/339 --etag-save log/6/etag339 > log/6/stdout339 2> log/6/stderr339 339: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind339 ../src/curl -q --output log/6/curl339.out --include --trace-ascii log/6/trace339 --trace-time http://127.0.0.1:33935/339 --etag-save log/6/etag339 > log/6/stdout339 2> log/6/stderr339 === End of file commands.log === Start of file http_server.log 19:26:39.729210 ====> Client connect 19:26:39.729240 accept_connection 3 returned 4 19:26:39.729263 Read 93 bytes 19:26:39.729272 Process 93 bytes request 19:26:39.729285 Got request: GET /verifiedserver HTTP/1.1 19:26:39.729293 Are-we-friendly question received 19:26:39.729320 Wrote request (93 bytes) input to log/6/server.input 19:26:39.729335 Identifying ourselves as friends 19:26:39.729397 Response sent (56 bytes) and written to log/6/server.response 19:26:39.729407 special request received, no persistency 19:26:39.729415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 37256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind339 ==98335== ==98335== Process terminating with default action of signal 4 (SIGILL) ==98335== Illegal opcode at address 0x492B75F ==98335== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98335== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98335== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98335== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98335== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98335== by 0x49908EB: curl_version_info (version.c:600) ==98335== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98335== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98335== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98335== by 0x4003269: main (tool_main.c:195) === End of file valgrind339 test 0336 [FTP range download when SIZE does not work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:39739/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 336: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind336 ../src/curl -q --output log/4/curl336.out --include --trace-ascii log/4/trace336 --trace-time ftp://127.0.0.1:39739/336 --range 3-6 > log/4/stdout336 2> log/4/stderr336 === End of file commands.log === Start of file ftp_server.log 19:26:39.955387 ====> Client connect 19:26:39.955619 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:39.958928 < "USER anonymous" 19:26:39.958966 > "331 We are happy you popped in![CR][LF]" 19:26:39.959128 < "PASS ftp@example.com" 19:26:39.959153 > "230 Welcome you silly person[CR][LF]" 19:26:39.959296 < "PWD" 19:26:39.959324 > "257 "/" is current directory[CR][LF]" 19:26:39.959476 < "EPSV" 19:26:39.959502 ====> Passive DATA channel requested by client 19:26:39.959516 DATA sockfilt for passive data channel starting... 19:26:39.966728 DATA sockfilt for passive data channel started (pid 98154) 19:26:39.966857 DATA sockfilt for passive data channel listens on port 39115 19:26:39.966901 > "229 Entering Passive Mode (|||39115|)[CR][LF]" 19:26:39.966917 Client has been notified that upcoming DATA connection is awaited on port 39115 19:26:39.967223 Client connects to port 39115 19:26:39.967254 ====> Client established passive DATA connection on port 39115 19:26:39.967347 < "TYPE I" 19:26:39.967378 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:39.967543 < "SIZE verifiedserver" 19:26:39.967587 > "213 17[CR][LF]" 19:26:39.967736 < "RETR verifiedserver" 19:26:39.967771 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:39.967866 =====> Closing passive DATA connection... 19:26:39.967882 Server disconnects passive DATA connection 19:26:39.968100 Server disconnected passive DATA connection 19:26:39.968126 DATA sockfilt for passive data channel quits (pid 98154) 19:26:39.968375 DATA sockfilt for passive data channel quit (pid 98154) 19:26:39.968397 =====> Closed passive DATA connection 19:26:39.968425 > "226 File transfer complete[CR][LF]" 19:26:40.015506 < "QUIT" 19:26:40.015570 > "221 bye bye baby[CR][LF]" 19:26:40.019826 MAIN sockfilt said DISC 19:26:40.019876 ====> Client disconnected 19:26:40.019959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:39.555656 ====> Client connect 19:26:39.560333 Received DATA (on stdin) 19:26:39.560352 > 146 bytes data, server => client 19:26:39.560363 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:39.560373 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:39.560383 '220 \___|\___/|_| \_\_____|\r\n' 19:26:39.563463 < 16 bytes data, client => server 19:26:39.563481 'USER anonymous\r\n' 19:26:39.563666 Received DATA (on stdin) 19:26:39.563677 > 33 bytes data, server => client 19:26:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind338 ../src/curl -q --output log/19/curl338.out --include --trace-ascii log/19/trace338 --trace-time http://127.0.0.1:46497/338 --next http://127.0.0.1:46497/338 --anyauth -u foo:moo > log/19/stdout338 2> log/19/stderr338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind332 ../src/curl -q --output log/24/curl332.out --include --trace-ascii log/24/trace332 --trace-time tftp://127.0.0.1:36714//332 --tftp-blksize 400 > log/24/stdout332 2> log/24/stderr332 39.563689 '331 We are happy you popped in!\r\n' 19:26:39.563743 < 22 bytes data, client => server 19:26:39.563754 'PASS ftp@example.com\r\n' 19:26:39.563851 Received DATA (on stdin) 19:26:39.563861 > 30 bytes data, server => client 19:26:39.563871 '230 Welcome you silly person\r\n' 19:26:39.563918 < 5 bytes data, client => server 19:26:39.563928 'PWD\r\n' 19:26:39.564021 Received DATA (on stdin) 19:26:39.564031 > 30 bytes data, server => client 19:26:39.564041 '257 "/" is current directory\r\n' 19:26:39.564099 < 6 bytes data, client => server 19:26:39.564108 'EPSV\r\n' 19:26:39.571626 Received DATA (on stdin) 19:26:39.571642 > 39 bytes data, server => client 19:26:39.571652 '229 Entering Passive Mode (|||39115|)\r\n' 19:26:39.571844 < 8 bytes data, client => server 19:26:39.571858 'TYPE I\r\n' 19:26:39.572079 Received DATA (on stdin) 19:26:39.572090 > 33 bytes data, server => client 19:26:39.572100 '200 I modify TYPE as you wanted\r\n' 19:26:39.572156 < 21 bytes data, client => server 19:26:39.572166 'SIZE verifiedserver\r\n' 19:26:39.572288 Received DATA (on stdin) 19:26:39.572298 > 8 bytes data, server => client 19:26:39.572307 '213 17\r\n' 19:26:39.572357 < 21 bytes data, client => server 19:26:39.572367 'RETR verifiedserver\r\n' 19:26:39.572585 Received DATA (on stdin) 19:26:39.572595 > 29 bytes data, server => client 19:26:39.572605 '150 Binary junk (17 bytes).\r\n' 19:26:39.573128 Received DATA (on stdin) 19:26:39.573139 > 28 bytes data, server => client 19:26:39.573149 '226 File transfer complete\r\n' 19:26:39.613645 < 6 bytes data, client => server 19:26:39.613677 'QUIT\r\n' 19:26:39.623177 Received DATA (on stdin) 19:26:39.623207 > 18 bytes data, server => client 19:26:39.623218 '221 bye bye baby\r\n' 19:26:39.624471 ====> Client disconnect 19:26:39.624678 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:39.570900 Running IPv4 version 19:26:39.570990 Listening on port 39115 19:26:39.571190 Wrote pid 98154 to log/4/server/ftp_sockdata.pid 19:26:39.571367 Received PING (on stdin) 19:26:39.571465 Received PORT (on stdin) 19:26:39.571877 ====> Client connect 19:26:39.572631 Received DATA (on stdin) 19:26:39.572642 > 17 bytes data, server => client 19:26:39.572652 'WE ROOLZ: 85249\r\n' 19:26:39.572675 Received DISC (on stdin) 19:26:39.572686 ====> Client forcibly disconnected 19:26:39.572836 Received QUIT (on stdin) 19:26:39.572845 quits 19:26:39.572907 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 500 no such command Testnum 336 === End of file server.cmd === Start of file valgrind336 ==98200== ==98200== Process terminating with default action of signal 4 (SIGILL) ==98200== Illegal opcode at address 0x492B75F ==98200== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98200== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98200== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98200== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98200== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98200== by 0x49908EB: curl_version_info (version.c:600) ==98200== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98200== by 0x4003269: main (tool_main.c:195) === End of file valgrind336 test 0338 [ANYAUTH connection reuse of non-authed connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind338 ../src/curl -q --output log/19/curl338.out --include --trace-ascii log/19/trace338 --trace-time http://127.0.0.1:46497/338 --next http://127.0.0.1:46497/338 --anyauth -u foo:moo > log/19/stdout338 2> log/19/stderr338 338: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind338 ../src/curl -q --output log/19/curl338.out --include --trace-ascii log/19/trace338 --trace-time http://127.0.0.1:46497/338 --next http://127.0.0.1:46497/338 --anyauth -u foo:moo > log/19/stdout338 2> log/19/stderr338 === End of file commands.log === Start of file http_server.log 19:26:39.696772 ====> Client connect 19:26:39.696808 accept_connection 3 returned 4 19:26:39.696830 Read 93 bytes 19:26:39.696839 Process 93 bytes request 19:26:39.696851 Got request: GET /verifiedserver HTTP/1.1 19:26:39.696859 Are-we-friendly question received 19:26:39.696884 Wrote request (93 bytes) input to log/19/server.input 19:26:39.696899 Identifying ourselves as friends 19:26:39.696962 Response sent (56 bytes) and written to log/19/server.response 19:26:39.696971 special request received, no persistency 19:26:39.696978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 47122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind338 ==98290== ==98290== Process terminating with default action of signal 4 (SIGILL) ==98290== Illegal opcode at address 0x492B75F ==98290== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98290== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98290== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98290== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98290== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98290== by 0x49908EB: curl_version_info (version.c:600) ==98290== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98290== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98290== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98290== by 0x4003269: main (tool_main.c:195) === End of file valgrind338 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/24/server/tftp_server.pid" --portfile "log/24/server/tftp_server.port" --logfile "log/24/tftp_server.log" --logdir "log/24" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 97864 port 36714 * pid tftp => 97864 97864 test 0332 [TFTP retrieve with blksize 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind332 ../src/curl -q --output log/24/curl332.out --include --trace-ascii log/24/trace332 --trace-time tftp://127.0.0.1:36714//332 --tftp-blksize 400 > log/24/stdout332 2> log/24/stderr332 332: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind332 ../src/curl -q --output log/24/curl332.out --include --trace-ascii log/24/trace332 --trace-time tftp://127.0.0.1:36714//332 --tftp-blksize 400 > log/24/stdout332 2> log/24/stderr332CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind334 ../src/curl -q --output log/10/curl334.out --include --trace-ascii log/10/trace334 --trace-time http://127.0.0.1:40913/want/334 > log/10/stdout334 2> log/10/stderr334 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind340 ../src/curl -q --output log/18/curl340.out --include --trace-ascii log/18/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36115/%00first/second/third/340 > log/18/stdout340 2> log/18/stderr340 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 19:26:39.174147 Wrote pid 97864 to log/24/server/tftp_server.pid 19:26:39.174860 Wrote port 36714 to log/24/server/tftp_server.port 19:26:39.174873 Running IPv4 version on port UDP/36714 === End of file tftp_server.log === Start of file valgrind332 ==98541== ==98541== Process terminating with default action of signal 4 (SIGILL) ==98541== Illegal opcode at address 0x492B75F ==98541== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98541== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98541== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98541== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98541== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98541== by 0x49908EB: curl_version_info (version.c:600) ==98541== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98541== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98541== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98541== by 0x4003269: main (tool_main.c:195) === End of file valgrind332 test 0334 [HTTP 204 No content with chunked header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind334 ../src/curl -q --output log/10/curl334.out --include --trace-ascii log/10/trace334 --trace-time http://127.0.0.1:40913/want/334 > log/10/stdout334 2> log/10/stderr334 334: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind334 ../src/curl -q --output log/10/curl334.out --include --trace-ascii log/10/trace334 --trace-time http://127.0.0.1:40913/want/334 > log/10/stdout334 2> log/10/stderr334 === End of file commands.log === Start of file http_server.log 19:26:39.462632 ====> Client connect 19:26:39.462667 accept_connection 3 returned 4 19:26:39.462766 Read 93 bytes 19:26:39.462777 Process 93 bytes request 19:26:39.462791 Got request: GET /verifiedserver HTTP/1.1 19:26:39.462799 Are-we-friendly question received 19:26:39.462828 Wrote request (93 bytes) input to log/10/server.input 19:26:39.462845 Identifying ourselves as friends 19:26:39.462899 Response sent (56 bytes) and written to log/10/server.response 19:26:39.462908 special request received, no persistency 19:26:39.462916 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 45880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind334 ==98120== ==98120== Process terminating with default action of signal 4 (SIGILL) ==98120== Illegal opcode at address 0x492B75F ==98120== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98120== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98120== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98120== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98120== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98120== by 0x49908EB: curl_version_info (version.c:600) ==98120== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98120== by 0x4003269: main (tool_main.c:195) === End of file valgrind334 test 0340 [FTP using %00 in path with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind340 ../src/curl -q --output log/18/curl340.out --include --trace-ascii log/18/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36115/%00first/second/third/340 > log/18/stdout340 2> log/18/stderr340 340: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind340 ../src/curl -q --output log/18/curl340.out --include --trace-ascii log/18/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:36115/%00first/second/third/340 > log/18/stdout340 2> log/18/stderr340 === End of file commands.log === Start of file ftp_server.log 19:26:40.418754 ====> Client connect 19:26:40.419018 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:40.419384 < "USER anonymous" 19:26:40.419441 > "331 We are happy you popped in![CR][LF]" 19:26:40.422183 < "PASS ftp@example.com" 19:26:40.422229 > "230 Welcome you silly person[CR][LF]" 19:26:40.422448 < "PWD" 19:26:40.422494 > "257 "/" is current directory[CR][LF]" 19:26:40.422707 < "EPSV" 19:26:40.422738 ====> Passive DATA channel requested by client 19:26:40.422757 DATA sockfilt for passive data channel starting... 19:26:40.426825 DATA sockfilt for passive data channel started (pid 98509) 19:26:40.426929 DATA sockfilt for passive data channel listens on port 36735 19:26:40.426966 > "229 Entering Passive Mode (|||36735|)[CR][LF]" 19:26:40.426981 Client has been notified that upcoming DATA connection is awaited on port 36735 19:26:40.427255 Client connects to port 36735 19:26:40.427283 ====> Client established passive DATA connection on port 36735 19:26:40.427361 < "TYPE I" 19:26:40.427389 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:40.427562 < "SIZE verifiedserver" 19:26:40.427607 > "213 17[CR][LF]" 19:26:40.427794 < "RETR verifiedserver" 19:26:40.427840 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:40.427946 =====> Closing passive DATA connection... 19:26:40.427971 Server disconnects passive DATA connection 19:26:40.428222 Server disconnected passive DATA connection 19:26:40.428252 DATA sockfilt for passive data channel quits (pid 98509) 19:26:40.428538 DATA sockfilt for passive data channel quit (pid 98509) 19:26:40.428568 =====> Closed passive DATA connection 19:26:40.428634 > "226 File transfer complete[CR][LF]" 19:26:40.475751 < "QUIT" 19:26:40.475900 > "221 bye bye baby[CR][LF]" 19:26:40.476002 MAIN sockfilt said DISC 19:26:40.476037 ====> Client disconnected 19:26:40.476128 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:40.018791 ====> Client connect 19:26:40.023858 Received DATA (on stdin) 19:26:40.023881 > 146 bytes data, server => client 19:26:40.023893 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:40.023904 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:40.023913 '220 \___|\___/|_| \_\_____|\r\n' 19:26:40.024012 < 16 bytes data, client => server 19:26:40.024029 'USER anonymous\r\n' 19:26:40.024261 Received DATA (on stdin) 19:26:40.024275 > 33 bytes data, server => client 19:26:40.024286 '331 We are happy you popped in!\r\n' 19:26:40.026849 < 22 bytes data, client => sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-time ftp://127.0.0.1:40221/337 --range 3-6 > log/1/stdout337 2> log/1/stderr337 erver 19:26:40.026868 'PASS ftp@example.com\r\n' 19:26:40.027046 Received DATA (on stdin) 19:26:40.027060 > 30 bytes data, server => client 19:26:40.027071 '230 Welcome you silly person\r\n' 19:26:40.027138 < 5 bytes data, client => server 19:26:40.027157 'PWD\r\n' 19:26:40.027308 Received DATA (on stdin) 19:26:40.027322 > 30 bytes data, server => client 19:26:40.027332 '257 "/" is current directory\r\n' 19:26:40.027407 < 6 bytes data, client => server 19:26:40.027423 'EPSV\r\n' 19:26:40.031791 Received DATA (on stdin) 19:26:40.031804 > 39 bytes data, server => client 19:26:40.031813 '229 Entering Passive Mode (|||36735|)\r\n' 19:26:40.031982 < 8 bytes data, client => server 19:26:40.031996 'TYPE I\r\n' 19:26:40.032194 Received DATA (on stdin) 19:26:40.032205 > 33 bytes data, server => client 19:26:40.032214 '200 I modify TYPE as you wanted\r\n' 19:26:40.032271 < 21 bytes data, client => server 19:26:40.032283 'SIZE verifiedserver\r\n' 19:26:40.032420 Received DATA (on stdin) 19:26:40.032432 > 8 bytes data, server => client 19:26:40.032441 '213 17\r\n' 19:26:40.032503 < 21 bytes data, client => server 19:26:40.032517 'RETR verifiedserver\r\n' 19:26:40.032783 Received DATA (on stdin) 19:26:40.032796 > 29 bytes data, server => client 19:26:40.032806 '150 Binary junk (17 bytes).\r\n' 19:26:40.033385 Received DATA (on stdin) 19:26:40.033398 > 28 bytes data, server => client 19:26:40.033447 '226 File transfer complete\r\n' 19:26:40.080353 < 6 bytes data, client => server 19:26:40.080391 'QUIT\r\n' 19:26:40.080612 Received DATA (on stdin) 19:26:40.080629 > 18 bytes data, server => client 19:26:40.080650 '221 bye bye baby\r\n' 19:26:40.080768 ====> Client disconnect 19:26:40.080958 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:40.031300 Running IPv4 version 19:26:40.031379 Listening on port 36735 19:26:40.031431 Wrote pid 98509 to log/18/server/ftp_sockdata.pid 19:26:40.031579 Received PING (on stdin) 19:26:40.031653 Received PORT (on stdin) 19:26:40.032015 ====> Client connect 19:26:40.032872 Received DATA (on stdin) 19:26:40.032889 > 17 bytes data, server => client 19:26:40.032899 'WE ROOLZ: 85350\r\n' 19:26:40.032934 Received DISC (on stdin) 19:26:40.033067 ====> Client forcibly disconnected 19:26:40.033109 Received QUIT (on stdin) 19:26:40.033121 quits 19:26:40.033188 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==98514== ==98514== Process terminating with default action of signal 4 (SIGILL) ==98514== Illegal opcode at address 0x492B75F ==98514== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98514== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98514== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98514== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98514== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98514== by 0x49908EB: curl_version_info (version.c:600) ==98514== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98514== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98514== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98514== by 0x4003269: main (tool_main.c:195) === End of file valgrind340 test 0337 [FTP range download with SIZE returning extra crap] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-time ftp://127.0.0.1:40221/337 --range 3-6 > log/1/stdout337 2> log/1/stderr337 337: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind337 ../src/curl -q --output log/1/curl337.out --include --trace-ascii log/1/trace337 --trace-time ftp://127.0.0.1:40221/337 --range 3-6 > log/1/stdout337 2> log/1/stderr337 === End of file commands.log === Start of file ftp_server.log 19:26:40.115369 ====> Client connect 19:26:40.115596 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:40.115954 < "USER anonymous" 19:26:40.115996 > "331 We are happy you popped in![CR][LF]" 19:26:40.116198 < "PASS ftp@example.com" 19:26:40.116233 > "230 Welcome you silly person[CR][LF]" 19:26:40.116406 < "PWD" 19:26:40.116443 > "257 "/" is current directory[CR][LF]" 19:26:40.116621 < "EPSV" 19:26:40.116648 ====> Passive DATA channel requested by client 19:26:40.116662 DATA sockfilt for passive data channel starting... 19:26:40.127892 DATA sockfilt for passive data channel started (pid 98284) 19:26:40.128069 DATA sockfilt for passive data channel listens on port 42281 19:26:40.128127 > "229 Entering Passive Mode (|||42281|)[CR][LF]" 19:26:40.128152 Client has been notified that upcoming DATA connection is awaited on port 42281 19:26:40.132069 Client connects to port 42281 19:26:40.132112 ====> Client established passive DATA connection on port 42281 19:26:40.132247 < "TYPE I" 19:26:40.132290 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:40.132500 < "SIZE verifiedserver" 19:26:40.132537 > "213 17[CR][LF]" 19:26:40.132676 < "RETR verifiedserver" 19:26:40.132708 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:40.132799 =====> Closing passive DATA connection... 19:26:40.132815 Server disconnects passive DATA connection 19:26:40.133002 Server disconnected passive DATA connection 19:26:40.133023 DATA sockfilt for passive data channel quits (pid 98284) 19:26:40.133323 DATA sockfilt for passive data channel quit (pid 98284) 19:26:40.133348 =====> Closed passive DATA connection 19:26:40.133377 > "226 File transfer complete[CR][LF]" 19:26:40.178989 < "QUIT" 19:26:40.179049 > "221 bye bye baby[CR][LF]" 19:26:40.180279 MAIN sockfilt said DISC 19:26:40.180312 ====> Client disconnected 19:26:40.180399 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:40.716076 ====> Client connect 19:26:40.720356 Received DATA (on stdin) 19:26:40.720376 > 146 bytes data, server => client 19:26:40.720388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:40.720398 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:40.720407 '220 \___|\___/|_| \_\_____|\r\n' 19:26:40.720531 < 16 bytes data, client => server 19:26:40.720545 'USER anonymous\r\n' 19:26:40.720739 Received DATA (on stdin) 19:26:40.720752 > 33 bytes data, server => client 19:26:40.720763 '331 We are happy you popped in!\r\n' 19:26:40.720830 < 22 bytes data, client => server 19:26:40.720842 'PASS ftp@example.com\r\n' 19:26:40.720970 Received DATA (on stdin) 19:26:40.720982 > 30 bytes data, server => client 19:26:40.720992 '230 Welcome you silly person\r\n' 19:26:40.721048 < 5 bytes data, client => server 19:26:40.721060 'PWD\r\n' 19:26:40.721180 Received DATA (on stdin) 19:26:40.721192 > 30 bytes data, server => client 19:26:40.721202 '257 "/" is current directory\r\n' 19:26:40.721268 < 6 bytes data, client => server 19:26:40.721281 'EPSV\r\n' 19:26:40.733410 Received DATA (on stdin) 19:26:40.733441 > 39 bytes data, server => client 19:26:40.733453 '229 Entering Passive Mode (|||42281|)\r\n' 19:26:40.733654 < 8 bytes data, client => server 19:26:40.733672 'TYPE I\r\n' 19:26:40.737038 Received DATA (on stdin) 19:26:40.737055 > 33 bytes data, server => client 19:26:40.737066 '200 I modify TYPE as you wanted\r\n' 19:26:40.737157 < 21 bytes data, client => server 19:26:40.737168 'SIZE verifiedserver\r\n' 19:26:40.737275 Received DATA (on stdin) 19:26:40.737285 > 8 bytes data, server => client 19:26:40.73CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind341 ../src/curl -q --output log/3/curl341.out --include --trace-ascii log/3/trace341 --trace-time http://127.0.0.1:36161/341 --etag-compare log/3/etag341 > log/3/stdout341 2> log/3/stderr341 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind342 ../src/curl -q --output log/13/curl342.out --include --trace-ascii log/13/trace342 --trace-time http://127.0.0.1:38821/342 --etag-compare log/13/etag342 > log/13/stdout342 2> log/13/stderr342 7294 '213 17\r\n' 19:26:40.737342 < 21 bytes data, client => server 19:26:40.737351 'RETR verifiedserver\r\n' 19:26:40.737555 Received DATA (on stdin) 19:26:40.737566 > 29 bytes data, server => client 19:26:40.737576 '150 Binary junk (17 bytes).\r\n' 19:26:40.738117 Received DATA (on stdin) 19:26:40.738129 > 28 bytes data, server => client 19:26:40.738139 '226 File transfer complete\r\n' 19:26:40.783535 < 6 bytes data, client => server 19:26:40.783568 'QUIT\r\n' 19:26:40.783804 Received DATA (on stdin) 19:26:40.783816 > 18 bytes data, server => client 19:26:40.783826 '221 bye bye baby\r\n' 19:26:40.784977 ====> Client disconnect 19:26:40.785155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:40.728028 Running IPv4 version 19:26:40.728115 Listening on port 42281 19:26:40.728163 Wrote pid 98284 to log/1/server/ftp_sockdata.pid 19:26:40.732536 Received PING (on stdin) 19:26:40.732693 Received PORT (on stdin) 19:26:40.736745 ====> Client connect 19:26:40.737632 Received DATA (on stdin) 19:26:40.737644 > 17 bytes data, server => client 19:26:40.737654 'WE ROOLZ: 84935\r\n' 19:26:40.737680 Received DISC (on stdin) 19:26:40.737692 ====> Client forcibly disconnected 19:26:40.737822 Received QUIT (on stdin) 19:26:40.737833 quits 19:26:40.737901 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY SIZE 213 file: 213, Size =51 Testnum 337 === End of file server.cmd === Start of file valgrind337 ==98368== ==98368== Process terminating with default action of signal 4 (SIGILL) ==98368== Illegal opcode at address 0x492B75F ==98368== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98368== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98368== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98368== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98368== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98368== by 0x49908EB: curl_version_info (version.c:600) ==98368== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98368== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98368== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98368== by 0x4003269: main (tool_main.c:195) === End of file valgrind337 test 0341 [A non existing file with --etag-compare is a blank] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind341 ../src/curl -q --output log/3/curl341.out --include --trace-ascii log/3/trace341 --trace-time http://127.0.0.1:36161/341 --etag-compare log/3/etag341 > log/3/stdout341 2> log/3/stderr341 341: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind341 ../src/curl -q --output log/3/curl341.out --include --trace-ascii log/3/trace341 --trace-time http://127.0.0.1:36161/341 --etag-compare log/3/etag341 > log/3/stdout341 2> log/3/stderr341 === End of file commands.log === Start of file http_server.log 19:26:41.197690 ====> Client connect 19:26:41.197735 accept_connection 3 returned 4 19:26:41.197930 Read 93 bytes 19:26:41.197947 Process 93 bytes request 19:26:41.197961 Got request: GET /verifiedserver HTTP/1.1 19:26:41.197970 Are-we-friendly question received 19:26:41.198007 Wrote request (93 bytes) input to log/3/server.input 19:26:41.198027 Identifying ourselves as friends 19:26:41.198108 Response sent (56 bytes) and written to log/3/server.response 19:26:41.198120 special request received, no persistency 19:26:41.198129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 43498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind341 ==98591== ==98591== Process terminating with default action of signal 4 (SIGILL) ==98591== Illegal opcode at address 0x492B75F ==98591== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98591== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98591== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98591== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98591== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98591== by 0x49908EB: curl_version_info (version.c:600) ==98591== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98591== by 0x4003269: main (tool_main.c:195) === End of file valgrind341 test 0342 [Check if --etag-compare set correct etag in header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind342 ../src/curl -q --output log/13/curl342.out --include --trace-ascii log/13/trace342 --trace-time http://127.0.0.1:38821/342 --etag-compare log/13/etag342 > log/13/stdout342 2> log/13/stderr342 342: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 342 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind342 ../src/curl -q --output log/13/curl342.out --include --trace-ascii log/13/trace342 --trace-time http://127.0.0.1:38821/342 --etag-compare log/13/etag342 > log/13/stdout342 2> log/13/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 19:26:40.373248 ====> Client connect 19:26:40.373283 accept_connection 3 returned 4 19:26:40.373304 Read 93 bytes 19:26:40.373314 Process 93 bytes request 19:26:40.373327 Got request: GET /verifiedserver HTTP/1.1 19:26:40.373336 Are-we-friendly question received 19:26:40.373392 Wrote request (93 bytes) input to log/13/server.input 19:26:40.373409 Identifying ourselves as friends 19:26:40.373471 Response sent (56 bytes) and written to log/13/server.response 19:26:40.373481 special request received, no persistency 19:26:40.373489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 40544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind342 ==98690== ==98690== Process terminating with default action ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind344 ../src/curl -q --output log/12/curl344.out --include --trace-ascii log/12/trace344 --trace-time http://127.0.0.1:40921/344 --etag-compare log/12/etag344 --etag-save log/12/etag344 > log/12/stdout344 2> log/12/stderr344 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind343 ../src/curl -q --output log/23/curl343.out --include --trace-ascii log/23/trace343 --trace-time http://127.0.0.1:44711/343 --etag-compare log/23/etag343 --etag-save log/23/out343 > log/23/stdout343 2> log/23/stderr343 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind349 ../src/curl -q --output log/5/curl349.out --include --trace-ascii log/5/trace349 --trace-time http://127.0.0.1:37089/349 --fail-with-body > log/5/stdout349 2> log/5/stderr349 signal 4 (SIGILL) ==98690== Illegal opcode at address 0x492B75F ==98690== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98690== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98690== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98690== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98690== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98690== by 0x49908EB: curl_version_info (version.c:600) ==98690== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98690== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98690== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98690== by 0x4003269: main (tool_main.c:195) === End of file valgrind342 test 0344 [Both --etag-compare and -save store new Etag using non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind344 ../src/curl -q --output log/12/curl344.out --include --trace-ascii log/12/trace344 --trace-time http://127.0.0.1:40921/344 --etag-compare log/12/etag344 --etag-save log/12/etag344 > log/12/stdout344 2> log/12/stderr344 344: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind344 ../src/curl -q --output log/12/curl344.out --include --trace-ascii log/12/trace344 --trace-time http://127.0.0.1:40921/344 --etag-compare log/12/etag344 --etag-save log/12/etag344 > log/12/stdout344 2> log/12/stderr344 === End of file commands.log === Start of file http_server.log 19:26:40.563668 ====> Client connect 19:26:40.563715 accept_connection 3 returned 4 19:26:40.563746 Read 93 bytes 19:26:40.563759 Process 93 bytes request 19:26:40.563772 Got request: GET /verifiedserver HTTP/1.1 19:26:40.563782 Are-we-friendly question received 19:26:40.563817 Wrote request (93 bytes) input to log/12/server.input 19:26:40.563837 Identifying ourselves as friends 19:26:40.563934 Response sent (56 bytes) and written to log/12/server.response 19:26:40.563944 special request received, no persistency 19:26:40.563953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 41006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind344 ==98806== ==98806== Process terminating with default action of signal 4 (SIGILL) ==98806== Illegal opcode at address 0x492B75F ==98806== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98806== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98806== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98806== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98806== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98806== by 0x49908EB: curl_version_info (version.c:600) ==98806== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98806== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98806== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98806== by 0x4003269: main (tool_main.c:195) === End of file valgrind344 test 0343 [Both --etag-compare and --etag-save to save new Etag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind343 ../src/curl -q --output log/23/curl343.out --include --trace-ascii log/23/trace343 --trace-time http://127.0.0.1:44711/343 --etag-compare log/23/etag343 --etag-save log/23/out343 > log/23/stdout343 2> log/23/stderr343 343: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind343 ../src/curl -q --output log/23/curl343.out --include --trace-ascii log/23/trace343 --trace-time http://127.0.0.1:44711/343 --etag-compare log/23/etag343 --etag-save log/23/out343 > log/23/stdout343 2> log/23/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 19:26:40.532604 ====> Client connect 19:26:40.532639 accept_connection 3 returned 4 19:26:40.532660 Read 93 bytes 19:26:40.532670 Process 93 bytes request 19:26:40.532683 Got request: GET /verifiedserver HTTP/1.1 19:26:40.532692 Are-we-friendly question received 19:26:40.532718 Wrote request (93 bytes) input to log/23/server.input 19:26:40.532735 Identifying ourselves as friends 19:26:40.532798 Response sent (56 bytes) and written to log/23/server.response 19:26:40.532809 special request received, no persistency 19:26:40.532817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 36330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind343 ==98782== ==98782== Process terminating with default action of signal 4 (SIGILL) ==98782== Illegal opcode at address 0x492B75F ==98782== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98782== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98782== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98782== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98782== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98782== by 0x49908EB: curl_version_info (version.c:600) ==98782== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98782== by 0x4003269: main (tool_main.c:195) === End of file valgrind343 test 0349 [HTTP GET --fail-with-body on HTTP error return] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind349 ../src/curl -q --output log/5/curl349.out --include --trace-ascii log/5/trace349 --trace-time http://127.0.0.1:37089/349 --fail-with-body > log/5/stdout349 2> log/5/stderr349 349: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind345 ../src/curl -q --output log/14/curl345.out --include --trace-ascii log/14/trace345 --trace-time http://127.0.0.1:45467/345 --etag-compare log/14/etag345 --etag-save log/14/etag345 > log/14/stdout345 2> log/14/stderr345 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind348 ../src/curl -q --output log/22/curl348.out --include --trace-ascii log/22/trace348 --trace-time ftp://127.0.0.1:33255/348 -T log/22/test348.txt > log/22/stdout348 2> log/22/stderr348 ests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind349 ../src/curl -q --output log/5/curl349.out --include --trace-ascii log/5/trace349 --trace-time http://127.0.0.1:37089/349 --fail-with-body > log/5/stdout349 2> log/5/stderr349 === End of file commands.log === Start of file http_server.log 19:26:40.947067 ====> Client connect 19:26:40.947102 accept_connection 3 returned 4 19:26:40.947124 Read 93 bytes 19:26:40.947134 Process 93 bytes request 19:26:40.947146 Got request: GET /verifiedserver HTTP/1.1 19:26:40.947155 Are-we-friendly question received 19:26:40.947179 Wrote request (93 bytes) input to log/5/server.input 19:26:40.947194 Identifying ourselves as friends 19:26:40.947258 Response sent (56 bytes) and written to log/5/server.response 19:26:40.947267 special request received, no persistency 19:26:40.947275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 39826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 349 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind349 ==99086== ==99086== Process terminating with default action of signal 4 (SIGILL) ==99086== Illegal opcode at address 0x492B75F ==99086== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99086== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99086== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99086== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99086== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99086== by 0x49908EB: curl_version_info (version.c:600) ==99086== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99086== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99086== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99086== by 0x4003269: main (tool_main.c:195) === End of file valgrind349 test 0345 [Both --etag-compare and -save store new Etag in pre-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind345 ../src/curl -q --output log/14/curl345.out --include --trace-ascii log/14/trace345 --trace-time http://127.0.0.1:45467/345 --etag-compare log/14/etag345 --etag-save log/14/etag345 > log/14/stdout345 2> log/14/stderr345 345: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind345 ../src/curl -q --output log/14/curl345.out --include --trace-ascii log/14/trace345 --trace-time http://127.0.0.1:45467/345 --etag-compare log/14/etag345 --etag-save log/14/etag345 > log/14/stdout345 2> log/14/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 19:26:40.766051 ====> Client connect 19:26:40.766092 accept_connection 3 returned 4 19:26:40.766116 Read 93 bytes 19:26:40.766127 Process 93 bytes request 19:26:40.766139 Got request: GET /verifiedserver HTTP/1.1 19:26:40.766148 Are-we-friendly question received 19:26:40.766181 Wrote request (93 bytes) input to log/14/server.input 19:26:40.766201 Identifying ourselves as friends 19:26:40.766274 Response sent (56 bytes) and written to log/14/server.response 19:26:40.766286 special request received, no persistency 19:26:40.766295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 52990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind345 ==98942== ==98942== Process terminating with default action of signal 4 (SIGILL) ==98942== Illegal opcode at address 0x492B75F ==98942== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98942== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98942== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98942== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98942== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98942== by 0x49908EB: curl_version_info (version.c:600) ==98942== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98942== by 0x4003269: main (tool_main.c:195) === End of file valgrind345 test 0348 [FTP upload file with 552 disk full response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind348 ../src/curl -q --output log/22/curl348.out --include --trace-ascii log/22/trace348 --trace-time ftp://127.0.0.1:33255/348 -T log/22/test348.txt > log/22/stdout348 2> log/22/stderr348 348: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind348 ../src/curl -q --output log/22/curl348.out --include --trace-ascii log/22/trace348 --trace-time ftp://127.0.0.1:33255/348 -T log/22/test348.txt > log/22/stdout348 2> log/22/stderr348 === End of file commands.log === Start of file ftp_server.log 19:26:41.293225 ====> Client connect 19:26:41.293428 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:41.293703 < "USER anonymous" 19:26:41.293740 > "331 We are happy you popped in![CR][LF]" 19:26:41.295498 < "PASS ftp@example.com" 19:26:41.295533 > "230 Welcome you silly person[CR][LF]" 19:26:41.302720 < "PWD" 19:26:41.302776 > "257 "/" is current directory[CR][LF]" 19:26:41.302937 < "EPSV" 19:26:41.302960 ====> Passive DATA channel requested by client 19:26:41.302973 DATA sockfilt for passive data channel starting... 19:26:41.308212 DATA sockfilt for passive data channel started (pid 99006) 19:26:41.308350 DATA sockfilt for passive data channel listens on port 33759 19:26:41.308397 > "229 Entering Passive Mode (|||33759|)[CR][LF]" 19:26:41.308416 Client has been notified that upcoming DATA connection is awaited on port 33759 19:26:41.308727 Client connects to port 33759 19:26:41.308759 ====> Client established passive DATA connection on port 33759 19:26:41.312027 < "TYPE I" 19:26:41.312159 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:41.312368 < "SIZE verifiedserver" 19:26:41.312406CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind347 ../src/curl -q --output log/8/curl347.out --include --trace-ascii log/8/trace347 --trace-time http://127.0.0.1:44467/347 --etag-save log/8/etag347 > log/8/stdout347 2> log/8/stderr347 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind346 ../src/curl -q --output log/2/curl346.out --include --trace-ascii log/2/trace346 --trace-time -x http://127.0.0.1:34531/346 -U puser: -u suser: http://remote.example/346 > log/2/stdout346 2> log/2/stderr346 > "213 17[CR][LF]" 19:26:41.312558 < "RETR verifiedserver" 19:26:41.312592 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:41.312681 =====> Closing passive DATA connection... 19:26:41.312698 Server disconnects passive DATA connection 19:26:41.312855 Server disconnected passive DATA connection 19:26:41.312876 DATA sockfilt for passive data channel quits (pid 99006) 19:26:41.313116 DATA sockfilt for passive data channel quit (pid 99006) 19:26:41.313140 =====> Closed passive DATA connection 19:26:41.313165 > "226 File transfer complete[CR][LF]" 19:26:41.356137 < "QUIT" 19:26:41.356204 > "221 bye bye baby[CR][LF]" 19:26:41.357459 MAIN sockfilt said DISC 19:26:41.357499 ====> Client disconnected 19:26:41.357575 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:41.898122 ====> Client connect 19:26:41.898444 Received DATA (on stdin) 19:26:41.898458 > 146 bytes data, server => client 19:26:41.898469 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:41.898479 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:41.898488 '220 \___|\___/|_| \_\_____|\r\n' 19:26:41.898562 < 16 bytes data, client => server 19:26:41.898574 'USER anonymous\r\n' 19:26:41.898749 Received DATA (on stdin) 19:26:41.898760 > 33 bytes data, server => client 19:26:41.898770 '331 We are happy you popped in!\r\n' 19:26:41.900380 < 22 bytes data, client => server 19:26:41.900397 'PASS ftp@example.com\r\n' 19:26:41.900540 Received DATA (on stdin) 19:26:41.900552 > 30 bytes data, server => client 19:26:41.900562 '230 Welcome you silly person\r\n' 19:26:41.907563 < 5 bytes data, client => server 19:26:41.907587 'PWD\r\n' 19:26:41.907783 Received DATA (on stdin) 19:26:41.907793 > 30 bytes data, server => client 19:26:41.907803 '257 "/" is current directory\r\n' 19:26:41.907866 < 6 bytes data, client => server 19:26:41.907876 'EPSV\r\n' 19:26:41.913432 Received DATA (on stdin) 19:26:41.913448 > 39 bytes data, server => client 19:26:41.913458 '229 Entering Passive Mode (|||33759|)\r\n' 19:26:41.913644 < 8 bytes data, client => server 19:26:41.913668 'TYPE I\r\n' 19:26:41.917174 Received DATA (on stdin) 19:26:41.917187 > 33 bytes data, server => client 19:26:41.917197 '200 I modify TYPE as you wanted\r\n' 19:26:41.917279 < 21 bytes data, client => server 19:26:41.917290 'SIZE verifiedserver\r\n' 19:26:41.917414 Received DATA (on stdin) 19:26:41.917424 > 8 bytes data, server => client 19:26:41.917434 '213 17\r\n' 19:26:41.917485 < 21 bytes data, client => server 19:26:41.917496 'RETR verifiedserver\r\n' 19:26:41.917707 Received DATA (on stdin) 19:26:41.917718 > 29 bytes data, server => client 19:26:41.917728 '150 Binary junk (17 bytes).\r\n' 19:26:41.918173 Received DATA (on stdin) 19:26:41.918183 > 28 bytes data, server => client 19:26:41.918192 '226 File transfer complete\r\n' 19:26:41.960955 < 6 bytes data, client => server 19:26:41.960987 'QUIT\r\n' 19:26:41.961236 Received DATA (on stdin) 19:26:41.961251 > 18 bytes data, server => client 19:26:41.961261 '221 bye bye baby\r\n' 19:26:41.962195 ====> Client disconnect 19:26:41.962592 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:41.911775 Running IPv4 version 19:26:41.911887 Listening on port 33759 19:26:41.911934 Wrote pid 99006 to log/22/server/ftp_sockdata.pid 19:26:41.913145 Received PING (on stdin) 19:26:41.913257 Received PORT (on stdin) 19:26:41.913688 ====> Client connect 19:26:41.917755 Received DATA (on stdin) 19:26:41.917768 > 17 bytes data, server => client 19:26:41.917778 'WE ROOLZ: 84714\r\n' 19:26:41.917803 Received DISC (on stdin) 19:26:41.917814 ====> Client forcibly disconnected 19:26:41.917890 Received QUIT (on stdin) 19:26:41.917899 quits 19:26:41.917973 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd STOR 552 disk full Testnum 348 === End of file server.cmd === Start of file test348.txt data to see that FTP works so does it? === End of file test348.txt === Start of file valgrind348 ==99085== ==99085== Process terminating with default action of signal 4 (SIGILL) ==99085== Illegal opcode at address 0x492B75F ==99085== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99085== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99085== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99085== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99085== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99085== by 0x49908EB: curl_version_info (version.c:600) ==99085== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99085== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99085== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99085== by 0x4003269: main (tool_main.c:195) === End of file valgrind348 test 0347 [--etag-save with blank incoming header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind347 ../src/curl -q --output log/8/curl347.out --include --trace-ascii log/8/trace347 --trace-time http://127.0.0.1:44467/347 --etag-save log/8/etag347 > log/8/stdout347 2> log/8/stderr347 347: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind347 ../src/curl -q --output log/8/curl347.out --include --trace-ascii log/8/trace347 --trace-time http://127.0.0.1:44467/347 --etag-save log/8/etag347 > log/8/stdout347 2> log/8/stderr347 === End of file commands.log === Start of file http_server.log 19:26:40.903758 ====> Client connect 19:26:40.903799 accept_connection 3 returned 4 19:26:40.903840 Read 93 bytes 19:26:40.903851 Process 93 bytes request 19:26:40.903864 Got request: GET /verifiedserver HTTP/1.1 19:26:40.903874 Are-we-friendly question received 19:26:40.903904 Wrote request (93 bytes) input to log/8/server.input 19:26:40.903924 Identifying ourselves as friends 19:26:40.904048 Response sent (56 bytes) and written to log/8/server.response 19:26:40.904063 special request received, no persistency 19:26:40.904073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 49506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind347 ==99026== ==99026== Process terminating with default action of signal 4 (SIGILL) ==99026== Illegal opcode at address 0x492B75F ==99026== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99026== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99026== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99026== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99026== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99026== by 0x49908EB: curl_version_info (version.c:600) ==99026== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99026== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99026== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99026== by 0x4003269: main (tool_main.c:195) === End of file valgrind347 test 0346 [HTTP GET over proxy with credentiaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind351 ../src/curl -q --output log/15/curl351.out --include --trace-ascii log/15/trace351 --trace-time ftp://127.0.0.1:44883// --ftp-method nocwd > log/15/stdout351 2> log/15/stderr351 ls using blank passwords] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind346 ../src/curl -q --output log/2/curl346.out --include --trace-ascii log/2/trace346 --trace-time -x http://127.0.0.1:34531/346 -U puser: -u suser: http://remote.example/346 > log/2/stdout346 2> log/2/stderr346 346: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind346 ../src/curl -q --output log/2/curl346.out --include --trace-ascii log/2/trace346 --trace-time -x http://127.0.0.1:34531/346 -U puser: -u suser: http://remote.example/346 > log/2/stdout346 2> log/2/stderr346 === End of file commands.log === Start of file http_server.log 19:26:41.851156 ====> Client connect 19:26:41.851196 accept_connection 3 returned 4 19:26:41.851305 Read 93 bytes 19:26:41.851319 Process 93 bytes request 19:26:41.851333 Got request: GET /verifiedserver HTTP/1.1 19:26:41.851341 Are-we-friendly question received 19:26:41.851411 Wrote request (93 bytes) input to log/2/server.input 19:26:41.851435 Identifying ourselves as friends 19:26:41.851505 Response sent (56 bytes) and written to log/2/server.response 19:26:41.851516 special request received, no persistency 19:26:41.851524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 51524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind346 ==98979== ==98979== Process terminating with default action of signal 4 (SIGILL) ==98979== Illegal opcode at address 0x492B75F ==98979== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==98979== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==98979== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==98979== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==98979== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==98979== by 0x49908EB: curl_version_info (version.c:600) ==98979== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==98979== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==98979== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==98979== by 0x4003269: main (tool_main.c:195) === End of file valgrind346 test 0351 [FTP root dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind351 ../src/curl -q --output log/15/curl351.out --include --trace-ascii log/15/trace351 --trace-time ftp://127.0.0.1:44883// --ftp-method nocwd > log/15/stdout351 2> log/15/stderr351 351: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind351 ../src/curl -q --output log/15/curl351.out --include --trace-ascii log/15/trace351 --trace-time ftp://127.0.0.1:44883// --ftp-method nocwd > log/15/stdout351 2> log/15/stderr351 === End of file commands.log === Start of file ftp_server.log 19:26:41.793857 ====> Client connect 19:26:41.794046 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:41.794319 < "USER anonymous" 19:26:41.794356 > "331 We are happy you popped in![CR][LF]" 19:26:41.794517 < "PASS ftp@example.com" 19:26:41.794545 > "230 Welcome you silly person[CR][LF]" 19:26:41.794683 < "PWD" 19:26:41.794718 > "257 "/" is current directory[CR][LF]" 19:26:41.794880 < "EPSV" 19:26:41.794905 ====> Passive DATA channel requested by client 19:26:41.794918 DATA sockfilt for passive data channel starting... 19:26:41.796985 DATA sockfilt for passive data channel started (pid 99352) 19:26:41.797095 DATA sockfilt for passive data channel listens on port 42411 19:26:41.797136 > "229 Entering Passive Mode (|||42411|)[CR][LF]" 19:26:41.797155 Client has been notified that upcoming DATA connection is awaited on port 42411 19:26:41.797387 Client connects to port 42411 19:26:41.797417 ====> Client established passive DATA connection on port 42411 19:26:41.797493 < "TYPE I" 19:26:41.797522 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:41.797685 < "SIZE verifiedserver" 19:26:41.797724 > "213 17[CR][LF]" 19:26:41.797886 < "RETR verifiedserver" 19:26:41.797920 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:41.798012 =====> Closing passive DATA connection... 19:26:41.798032 Server disconnects passive DATA connection 19:26:41.798253 Server disconnected passive DATA connection 19:26:41.798284 DATA sockfilt for passive data channel quits (pid 99352) 19:26:41.798513 DATA sockfilt for passive data channel quit (pid 99352) 19:26:41.798539 =====> Closed passive DATA connection 19:26:41.798569 > "226 File transfer complete[CR][LF]" 19:26:41.845525 < "QUIT" 19:26:41.845579 > "221 bye bye baby[CR][LF]" 19:26:41.848697 MAIN sockfilt said DISC 19:26:41.848743 ====> Client disconnected 19:26:41.848834 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:41.398856 ====> Client connect 19:26:41.399176 Received DATA (on stdin) 19:26:41.399189 > 146 bytes data, server => client 19:26:41.399199 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:41.399208 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:41.399215 '220 \___|\___/|_| \_\_____|\r\n' 19:26:41.399292 < 16 bytes data, client => server 19:26:41.399302 'USER anonymous\r\n' 19:26:41.399474 Received DATA (on stdin) 19:26:41.399484 > 33 bytes data, server => client 19:26:41.399493 '331 We are happy you popped in!\r\n' 19:26:41.399544 < 22 bytes data, client => server 19:26:41.399553 'PASS ftp@example.com\r\n' 19:26:41.399660 Received DATA (on stdin) 19:26:41.399669 > 30 bytes data, server => client 19:26:41.399677 '230 Welcome you silly person\r\n' 19:26:41.399720 < 5 bytes data, client => server 19:26:41.399729 'PWD\r\n' 19:26:41.399834 Received DATA (on stdin) 19:26:41.399844 > 30 bytes data, server => client 19:26:41.399854 '257 "/" is current directory\r\n' 19:26:41.399914 < 6 bytes data, client => server 19:26:41.399926 'EPSV\r\n' 19:26:41.402279 Received DATA (on stdin) 19:26:41.402291 > 39 bytes data, server => client 19:26:41.402302 '229 Entering Passive Mode (|||42411|)\r\n' 19:26:41.402426 < 8 bytes data, client => server 19:26:41.402441 'TYPE I\r\n' 19:26:41.402641 Received DATA (on stdin) 19:26:41.402653 > 33 bytes data, server => client 19:26:41.402663 '200 I modify TYPE as you wanted\r\n' 19:26:41.402717 < 21 bytes data, client => server 19:26:41.402729 'SIZE verifiedserver\r\n' 19:26:41.402844 Received DATA (on stdin) 19:26:41.402855 > 8 bytes data, server => client 19:26:41.402864 '213 17\r\n' 19:26:41.402918 < 21 bytes data, client => server 19:26:41.402930 'RETR verifiedserver\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind350 ../src/curl -q --output log/9/curl350.out --include --trace-ascii log/9/trace350 --trace-time ftp://127.0.0.1:36605// --ftp-method multicwd > log/9/stdout350 2> log/9/stderr350 19:26:41.403152 Received DATA (on stdin) 19:26:41.403164 > 29 bytes data, server => client 19:26:41.403174 '150 Binary junk (17 bytes).\r\n' 19:26:41.403690 Received DATA (on stdin) 19:26:41.403703 > 28 bytes data, server => client 19:26:41.403713 '226 File transfer complete\r\n' 19:26:41.450478 < 6 bytes data, client => server 19:26:41.450500 'QUIT\r\n' 19:26:41.450713 Received DATA (on stdin) 19:26:41.450725 > 18 bytes data, server => client 19:26:41.450735 '221 bye bye baby\r\n' 19:26:41.451845 ====> Client disconnect 19:26:41.453970 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:41.401774 Running IPv4 version 19:26:41.401843 Listening on port 42411 19:26:41.401889 Wrote pid 99352 to log/15/server/ftp_sockdata.pid 19:26:41.402047 Received PING (on stdin) 19:26:41.402130 Received PORT (on stdin) 19:26:41.402461 ====> Client connect 19:26:41.403202 Received DATA (on stdin) 19:26:41.403213 > 17 bytes data, server => client 19:26:41.403223 'WE ROOLZ: 84744\r\n' 19:26:41.403247 Received DISC (on stdin) 19:26:41.403258 ====> Client forcibly disconnected 19:26:41.403414 Received QUIT (on stdin) 19:26:41.403425 quits 19:26:41.403487 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==99364== ==99364== Process terminating with default action of signal 4 (SIGILL) ==99364== Illegal opcode at address 0x492B75F ==99364== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99364== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99364== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99364== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99364== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99364== by 0x49908EB: curl_version_info (version.c:600) ==99364== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99364== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99364== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99364== by 0x4003269: main (tool_main.c:195) === End of file valgrind351 test 0350 [FTP root dir list multicwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind350 ../src/curl -q --output log/9/curl350.out --include --trace-ascii log/9/trace350 --trace-time ftp://127.0.0.1:36605// --ftp-method multicwd > log/9/stdout350 2> log/9/stderr350 350: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind350 ../src/curl -q --output log/9/curl350.out --include --trace-ascii log/9/trace350 --trace-time ftp://127.0.0.1:36605// --ftp-method multicwd > log/9/stdout350 2> log/9/stderr350 === End of file commands.log === Start of file ftp_server.log 19:26:41.372490 ====> Client connect 19:26:41.372690 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:41.372946 < "USER anonymous" 19:26:41.372980 > "331 We are happy you popped in![CR][LF]" 19:26:41.373128 < "PASS ftp@example.com" 19:26:41.373150 > "230 Welcome you silly person[CR][LF]" 19:26:41.373281 < "PWD" 19:26:41.373309 > "257 "/" is current directory[CR][LF]" 19:26:41.373448 < "EPSV" 19:26:41.373471 ====> Passive DATA channel requested by client 19:26:41.373484 DATA sockfilt for passive data channel starting... 19:26:41.379029 DATA sockfilt for passive data channel started (pid 99084) 19:26:41.379157 DATA sockfilt for passive data channel listens on port 37549 19:26:41.379199 > "229 Entering Passive Mode (|||37549|)[CR][LF]" 19:26:41.379215 Client has been notified that upcoming DATA connection is awaited on port 37549 19:26:41.385429 Client connects to port 37549 19:26:41.385498 ====> Client established passive DATA connection on port 37549 19:26:41.389168 < "TYPE I" 19:26:41.389217 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:41.389422 < "SIZE verifiedserver" 19:26:41.389457 > "213 17[CR][LF]" 19:26:41.389604 < "RETR verifiedserver" 19:26:41.389637 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:41.389724 =====> Closing passive DATA connection... 19:26:41.389740 Server disconnects passive DATA connection 19:26:41.397331 Server disconnected passive DATA connection 19:26:41.397393 DATA sockfilt for passive data channel quits (pid 99084) 19:26:41.397779 DATA sockfilt for passive data channel quit (pid 99084) 19:26:41.397805 =====> Closed passive DATA connection 19:26:41.397847 > "226 File transfer complete[CR][LF]" 19:26:41.438893 < "QUIT" 19:26:41.438955 > "221 bye bye baby[CR][LF]" 19:26:41.440236 MAIN sockfilt said DISC 19:26:41.440273 ====> Client disconnected 19:26:41.440361 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:40.977388 ====> Client connect 19:26:40.977722 Received DATA (on stdin) 19:26:40.977734 > 146 bytes data, server => client 19:26:40.977745 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:40.977755 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:40.977764 '220 \___|\___/|_| \_\_____|\r\n' 19:26:40.977835 < 16 bytes data, client => server 19:26:40.977845 'USER anonymous\r\n' 19:26:40.978004 Received DATA (on stdin) 19:26:40.978014 > 33 bytes data, server => client 19:26:40.978023 '331 We are happy you popped in!\r\n' 19:26:40.978071 < 22 bytes data, client => server 19:26:40.978080 'PASS ftp@example.com\r\n' 19:26:40.978170 Received DATA (on stdin) 19:26:40.978180 > 30 bytes data, server => client 19:26:40.978189 '230 Welcome you silly person\r\n' 19:26:40.978232 < 5 bytes data, client => server 19:26:40.978240 'PWD\r\n' 19:26:40.978327 Received DATA (on stdin) 19:26:40.978337 > 30 bytes data, server => client 19:26:40.978346 '257 "/" is current directory\r\n' 19:26:40.978398 < 6 bytes data, client => server 19:26:40.978407 'EPSV\r\n' 19:26:40.984813 Received DATA (on stdin) 19:26:40.984862 > 39 bytes data, server => client 19:26:40.984873 '229 Entering Passive Mode (|||37549|)\r\n' 19:26:40.994022 < 8 bytes data, client => server 19:26:40.994044 'TYPE I\r\n' 19:26:40.994246 Received DATA (on stdin) 19:26:40.994257 > 33 bytes data, server => client 19:26:40.994267 '200 I modify TYPE as you wanted\r\n' 19:26:40.994364 < 21 bytes data, client => server 19:26:40.994375 'SIZE verifiedserver\r\n' 19:26:40.994482 Received DATA (on stdin) 19:26:40.994491 > 8 bytes data, server => client 19:26:40.994500 '213 17\r\n' 19:26:40.994549 < 21 bytes data, client => server 19:26:40.994560 'RETR verifiedserver\r\n' 19:26:40.994769 Received DATA (on stdin) 19:26:40.994779 > 29 bytes data, server => client 19:26:40.994789 '150 Binary junk (17 bytes).\r\n' 19:26:41.002889 Received DATA (on stdin) 19:26:41.002905 > 28 bytes data, server => client 19:26:41.002915 '226 File transfer complete\r\n' 19:26:41.043727 < 6 bytes data, client => server 19:26:41.043760 'QUIT\r\n' 19:26:41.044003 Received DATA (on stdin) 19:26:41.044016 > 18 bytes data, server => client 19:26:41.044027 '221 bye bye baby\r\n' 19:26:41.045217 ====> Client disconnect 19:26:41.045410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:41.982093 Running IPv4 version 19:26:41.982271 Listening on port 37549 19:26:41.982310 Wrote pid 99084 to log/9/server/ftp_sockdata.pid 19:26:41.983989 Received PING (on stdin) 19:26:41.984088 Received PORT (on stdin) 19:26:41.990371 ====> Client connect 19:26:42.000353 Received DATA (on stdin) 19:26:42.000388 > 17 bytes data, server => client 19:26:42.000399 'WE ROOLZ: 84695\r\n' 19:26:42.000442 Received DISC (on CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind352 ../src/curl -q --output log/21/curl352.out --include --trace-ascii log/21/trace352 --trace-time ftp://127.0.0.1:35787// --ftp-method singlecwd > log/21/stdout352 2> log/21/stderr352 stdin) 19:26:42.000454 ====> Client forcibly disconnected 19:26:42.002522 Received QUIT (on stdin) 19:26:42.002538 quits 19:26:42.002616 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==99213== ==99213== Process terminating with default action of signal 4 (SIGILL) ==99213== Illegal opcode at address 0x492B75F ==99213== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99213== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99213== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99213== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99213== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99213== by 0x49908EB: curl_version_info (version.c:600) ==99213== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99213== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99213== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99213== by 0x4003269: main (tool_main.c:195) === End of file valgrind350 test 0352 [FTP root dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind352 ../src/curl -q --output log/21/curl352.out --include --trace-ascii log/21/trace352 --trace-time ftp://127.0.0.1:35787// --ftp-method singlecwd > log/21/stdout352 2> log/21/stderr352 352: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind352 ../src/curl -q --output log/21/curl352.out --include --trace-ascii log/21/trace352 --trace-time ftp://127.0.0.1:35787// --ftp-method singlecwd > log/21/stdout352 2> log/21/stderr352 === End of file commands.log === Start of file ftp_server.log 19:26:41.818705 ====> Client connect 19:26:41.818954 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:41.825548 < "USER anonymous" 19:26:41.825596 > "331 We are happy you popped in![CR][LF]" 19:26:41.828881 < "PASS ftp@example.com" 19:26:41.828926 > "230 Welcome you silly person[CR][LF]" 19:26:41.829098 < "PWD" 19:26:41.829135 > "257 "/" is current directory[CR][LF]" 19:26:41.829310 < "EPSV" 19:26:41.829337 ====> Passive DATA channel requested by client 19:26:41.829351 DATA sockfilt for passive data channel starting... 19:26:41.839934 DATA sockfilt for passive data channel started (pid 99356) 19:26:41.840075 DATA sockfilt for passive data channel listens on port 46865 19:26:41.840124 > "229 Entering Passive Mode (|||46865|)[CR][LF]" 19:26:41.840141 Client has been notified that upcoming DATA connection is awaited on port 46865 19:26:41.840442 Client connects to port 46865 19:26:41.840473 ====> Client established passive DATA connection on port 46865 19:26:41.840561 < "TYPE I" 19:26:41.840593 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:41.840762 < "SIZE verifiedserver" 19:26:41.840803 > "213 17[CR][LF]" 19:26:41.840967 < "RETR verifiedserver" 19:26:41.841004 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:41.841092 =====> Closing passive DATA connection... 19:26:41.841110 Server disconnects passive DATA connection 19:26:41.841350 Server disconnected passive DATA connection 19:26:41.841381 DATA sockfilt for passive data channel quits (pid 99356) 19:26:41.841616 DATA sockfilt for passive data channel quit (pid 99356) 19:26:41.841642 =====> Closed passive DATA connection 19:26:41.841671 > "226 File transfer complete[CR][LF]" 19:26:41.888889 < "QUIT" 19:26:41.888951 > "221 bye bye baby[CR][LF]" 19:26:41.890758 MAIN sockfilt said DISC 19:26:41.890798 ====> Client disconnected 19:26:41.890879 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:41.420065 ====> Client connect 19:26:41.424098 Received DATA (on stdin) 19:26:41.424116 > 146 bytes data, server => client 19:26:41.424127 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:41.424137 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:41.424146 '220 \___|\___/|_| \_\_____|\r\n' 19:26:41.430471 < 16 bytes data, client => server 19:26:41.430500 'USER anonymous\r\n' 19:26:41.430723 Received DATA (on stdin) 19:26:41.430734 > 33 bytes data, server => client 19:26:41.430744 '331 We are happy you popped in!\r\n' 19:26:41.433857 < 22 bytes data, client => server 19:26:41.433877 'PASS ftp@example.com\r\n' 19:26:41.434057 Received DATA (on stdin) 19:26:41.434069 > 30 bytes data, server => client 19:26:41.434079 '230 Welcome you silly person\r\n' 19:26:41.434136 < 5 bytes data, client => server 19:26:41.434147 'PWD\r\n' 19:26:41.434261 Received DATA (on stdin) 19:26:41.434273 > 30 bytes data, server => client 19:26:41.434283 '257 "/" is current directory\r\n' 19:26:41.434352 < 6 bytes data, client => server 19:26:41.434363 'EPSV\r\n' 19:26:41.445281 Received DATA (on stdin) 19:26:41.445298 > 39 bytes data, server => client 19:26:41.445308 '229 Entering Passive Mode (|||46865|)\r\n' 19:26:41.445517 < 8 bytes data, client => server 19:26:41.445528 'TYPE I\r\n' 19:26:41.445725 Received DATA (on stdin) 19:26:41.445737 > 33 bytes data, server => client 19:26:41.445747 '200 I modify TYPE as you wanted\r\n' 19:26:41.445803 < 21 bytes data, client => server 19:26:41.445815 'SIZE verifiedserver\r\n' 19:26:41.445933 Received DATA (on stdin) 19:26:41.445944 > 8 bytes data, server => client 19:26:41.445954 '213 17\r\n' 19:26:41.446009 < 21 bytes data, client => server 19:26:41.446021 'RETR verifiedserver\r\n' 19:26:41.446332 Received DATA (on stdin) 19:26:41.446345 > 29 bytes data, server => client 19:26:41.446355 '150 Binary junk (17 bytes).\r\n' 19:26:41.446802 Received DATA (on stdin) 19:26:41.446814 > 28 bytes data, server => client 19:26:41.446824 '226 File transfer complete\r\n' 19:26:41.493825 < 6 bytes data, client => server 19:26:41.493857 'QUIT\r\n' 19:26:41.494095 Received DATA (on stdin) 19:26:41.494106 > 18 bytes data, server => client 19:26:41.494116 '221 bye bye baby\r\n' 19:26:41.495648 ====> Client disconnect 19:26:41.496019 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:41.444678 Running IPv4 version 19:26:41.444775 Listening on port 46865 19:26:41.444819 Wrote pid 99356 to log/21/server/ftp_sockdata.pid 19:26:41.445002 Received PING (on stdin) 19:26:41.445104 Received PORT (on stdin) 19:26:41.445489 ====> Client connect 19:26:41.446242 Received DATA (on stdin) 19:26:41.446254 > 17 bytes data, server => client 19:26:41.446267 'WE ROOLZ: 84694\r\n' 19:26:41.446295 Received DISC (on stdin) 19:26:41.446307 ====> Client forcibly disconnected 19:26:41.446521 Received QUIT (on stdin) 19:26:41.446532 quits 19:26:41.446594 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==99391== ==99391== Process terminating with default action of signal 4 (SIGILL) ==99391== Illegal opcode at address 0x492B75F ==99391== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99391== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99391== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99391== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99391== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99391== by 0x49908EB: curl_version_info (version.c:600) ==99391== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99391== by 0x4003269: main (tool_main.c:195) === End of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind354 ../src/curl -q --output log/11/curl354.out --include --trace-ascii log/11/trace354 --trace-time ftp://127.0.0.1:37735/354 > log/11/stdout354 2> log/11/stderr354 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind353 ../src/curl -q --output log/17/curl353.out --include --trace-ascii log/17/trace353 --trace-time ftp://127.0.0.1:46137/ --ftp-method singlecwd > log/17/stdout353 2> log/17/stderr353 valgrind352 test 0354 [FTP without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind354 ../src/curl -q --output log/11/curl354.out --include --trace-ascii log/11/trace354 --trace-time ftp://127.0.0.1:37735/354 > log/11/stdout354 2> log/11/stderr354 354: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind354 ../src/curl -q --output log/11/curl354.out --include --trace-ascii log/11/trace354 --trace-time ftp://127.0.0.1:37735/354 > log/11/stdout354 2> log/11/stderr354 === End of file commands.log === Start of file ftp_server.log 19:26:42.085479 ====> Client connect 19:26:42.085716 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:42.092340 < "USER anonymous" 19:26:42.092402 > "331 We are happy you popped in![CR][LF]" 19:26:42.092631 < "PASS ftp@example.com" 19:26:42.092668 > "230 Welcome you silly person[CR][LF]" 19:26:42.092862 < "PWD" 19:26:42.092908 > "257 "/" is current directory[CR][LF]" 19:26:42.093114 < "EPSV" 19:26:42.093145 ====> Passive DATA channel requested by client 19:26:42.093161 DATA sockfilt for passive data channel starting... 19:26:42.105441 DATA sockfilt for passive data channel started (pid 99481) 19:26:42.105601 DATA sockfilt for passive data channel listens on port 43353 19:26:42.105655 > "229 Entering Passive Mode (|||43353|)[CR][LF]" 19:26:42.105674 Client has been notified that upcoming DATA connection is awaited on port 43353 19:26:42.105933 Client connects to port 43353 19:26:42.105967 ====> Client established passive DATA connection on port 43353 19:26:42.106166 < "TYPE I" 19:26:42.106210 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:42.106386 < "SIZE verifiedserver" 19:26:42.106432 > "213 17[CR][LF]" 19:26:42.106613 < "RETR verifiedserver" 19:26:42.106653 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:42.106760 =====> Closing passive DATA connection... 19:26:42.106785 Server disconnects passive DATA connection 19:26:42.106912 Server disconnected passive DATA connection 19:26:42.106941 DATA sockfilt for passive data channel quits (pid 99481) 19:26:42.107203 DATA sockfilt for passive data channel quit (pid 99481) 19:26:42.107237 =====> Closed passive DATA connection 19:26:42.107267 > "226 File transfer complete[CR][LF]" 19:26:42.158900 < "QUIT" 19:26:42.158964 > "221 bye bye baby[CR][LF]" 19:26:42.172029 MAIN sockfilt said DISC 19:26:42.172112 ====> Client disconnected 19:26:42.172207 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:41.690534 ====> Client connect 19:26:41.690928 Received DATA (on stdin) 19:26:41.690946 > 146 bytes data, server => client 19:26:41.690959 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:41.690969 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:41.690979 '220 \___|\___/|_| \_\_____|\r\n' 19:26:41.697292 < 16 bytes data, client => server 19:26:41.697324 'USER anonymous\r\n' 19:26:41.697603 Received DATA (on stdin) 19:26:41.697619 > 33 bytes data, server => client 19:26:41.697629 '331 We are happy you popped in!\r\n' 19:26:41.697700 < 22 bytes data, client => server 19:26:41.697716 'PASS ftp@example.com\r\n' 19:26:41.697860 Received DATA (on stdin) 19:26:41.697873 > 30 bytes data, server => client 19:26:41.697883 '230 Welcome you silly person\r\n' 19:26:41.697944 < 5 bytes data, client => server 19:26:41.697958 'PWD\r\n' 19:26:41.698102 Received DATA (on stdin) 19:26:41.698114 > 30 bytes data, server => client 19:26:41.698125 '257 "/" is current directory\r\n' 19:26:41.698200 < 6 bytes data, client => server 19:26:41.698215 'EPSV\r\n' 19:26:41.710874 Received DATA (on stdin) 19:26:41.710892 > 39 bytes data, server => client 19:26:41.710904 '229 Entering Passive Mode (|||43353|)\r\n' 19:26:41.711224 < 8 bytes data, client => server 19:26:41.711241 'TYPE I\r\n' 19:26:41.711405 Received DATA (on stdin) 19:26:41.711418 > 33 bytes data, server => client 19:26:41.711429 '200 I modify TYPE as you wanted\r\n' 19:26:41.711479 < 21 bytes data, client => server 19:26:41.711493 'SIZE verifiedserver\r\n' 19:26:41.711630 Received DATA (on stdin) 19:26:41.711643 > 8 bytes data, server => client 19:26:41.711652 '213 17\r\n' 19:26:41.711707 < 21 bytes data, client => server 19:26:41.711721 'RETR verifiedserver\r\n' 19:26:41.712462 Received DATA (on stdin) 19:26:41.712475 > 29 bytes data, server => client 19:26:41.712486 '150 Binary junk (17 bytes).\r\n' 19:26:41.712508 Received DATA (on stdin) 19:26:41.712518 > 28 bytes data, server => client 19:26:41.712528 '226 File transfer complete\r\n' 19:26:41.763893 < 6 bytes data, client => server 19:26:41.763924 'QUIT\r\n' 19:26:41.773880 Received DATA (on stdin) 19:26:41.773918 > 18 bytes data, server => client 19:26:41.773928 '221 bye bye baby\r\n' 19:26:41.775092 ====> Client disconnect 19:26:41.777423 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:42.704604 Running IPv4 version 19:26:42.704689 Listening on port 43353 19:26:42.704732 Wrote pid 99481 to log/11/server/ftp_sockdata.pid 19:26:42.710528 Received PING (on stdin) 19:26:42.710682 Received PORT (on stdin) 19:26:42.711067 ====> Client connect 19:26:42.711980 Received DATA (on stdin) 19:26:42.711993 > 17 bytes data, server => client 19:26:42.712004 'WE ROOLZ: 84823\r\n' 19:26:42.712032 Received DISC (on stdin) 19:26:42.712048 ====> Client forcibly disconnected 19:26:42.712144 Received QUIT (on stdin) 19:26:42.712156 quits 19:26:42.712232 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 200 fine, proceed without password Testnum 354 === End of file server.cmd === Start of file valgrind354 ==99528== ==99528== Process terminating with default action of signal 4 (SIGILL) ==99528== Illegal opcode at address 0x492B75F ==99528== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99528== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99528== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99528== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99528== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99528== by 0x49908EB: curl_version_info (version.c:600) ==99528== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99528== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99528== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99528== by 0x4003269: main (tool_main.c:195) === End of file valgrind354 test 0353 [FTP home dir list singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind353 ../src/curl -q --output log/17/curl353.out --include --trace-ascii log/17/trace353 --trace-time ftp://127.0.0.1:46137/ --ftp-method singlecwd > log/17/stdout353 2> log/17/stderr353 353: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind353 ../src/curl -q --output log/17/curl353.out --include --trace-ascii log/17/trace353 --trace-time ftp://127.0.0.1:46137/ --ftp-method singlecwd > log/17/stdout353 2> log/17/stderr353 === End of file commands.log === Start of file ftp_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind360 ../src/curl -q --output log/16/curl360.out --include --trace-ascii log/16/trace360 --trace-time http://127.0.0.1:35903/360 --fail-with-body --fail --no-progress-meter > log/16/stdout360 2> log/16/stderr360 server.log 19:26:42.059368 ====> Client connect 19:26:42.059599 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:42.059943 < "USER anonymous" 19:26:42.059983 > "331 We are happy you popped in![CR][LF]" 19:26:42.060156 < "PASS ftp@example.com" 19:26:42.060186 > "230 Welcome you silly person[CR][LF]" 19:26:42.060336 < "PWD" 19:26:42.060366 > "257 "/" is current directory[CR][LF]" 19:26:42.060519 < "EPSV" 19:26:42.060544 ====> Passive DATA channel requested by client 19:26:42.060557 DATA sockfilt for passive data channel starting... 19:26:42.069025 DATA sockfilt for passive data channel started (pid 99466) 19:26:42.069212 DATA sockfilt for passive data channel listens on port 45485 19:26:42.069260 > "229 Entering Passive Mode (|||45485|)[CR][LF]" 19:26:42.069278 Client has been notified that upcoming DATA connection is awaited on port 45485 19:26:42.069575 Client connects to port 45485 19:26:42.069604 ====> Client established passive DATA connection on port 45485 19:26:42.069699 < "TYPE I" 19:26:42.069731 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:42.069885 < "SIZE verifiedserver" 19:26:42.069920 > "213 17[CR][LF]" 19:26:42.070060 < "RETR verifiedserver" 19:26:42.070088 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:42.070178 =====> Closing passive DATA connection... 19:26:42.070193 Server disconnects passive DATA connection 19:26:42.070402 Server disconnected passive DATA connection 19:26:42.070427 DATA sockfilt for passive data channel quits (pid 99466) 19:26:42.070686 DATA sockfilt for passive data channel quit (pid 99466) 19:26:42.070709 =====> Closed passive DATA connection 19:26:42.070734 > "226 File transfer complete[CR][LF]" 19:26:42.115628 < "QUIT" 19:26:42.115683 > "221 bye bye baby[CR][LF]" 19:26:42.116638 MAIN sockfilt said DISC 19:26:42.116672 ====> Client disconnected 19:26:42.116751 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:41.664407 ====> Client connect 19:26:41.664846 Received DATA (on stdin) 19:26:41.664863 > 146 bytes data, server => client 19:26:41.664874 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:41.664884 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:41.664893 '220 \___|\___/|_| \_\_____|\r\n' 19:26:41.664973 < 16 bytes data, client => server 19:26:41.664984 'USER anonymous\r\n' 19:26:41.665165 Received DATA (on stdin) 19:26:41.665176 > 33 bytes data, server => client 19:26:41.665185 '331 We are happy you popped in!\r\n' 19:26:41.665239 < 22 bytes data, client => server 19:26:41.665250 'PASS ftp@example.com\r\n' 19:26:41.665364 Received DATA (on stdin) 19:26:41.665374 > 30 bytes data, server => client 19:26:41.665384 '230 Welcome you silly person\r\n' 19:26:41.665434 < 5 bytes data, client => server 19:26:41.665443 'PWD\r\n' 19:26:41.665543 Received DATA (on stdin) 19:26:41.665553 > 30 bytes data, server => client 19:26:41.665563 '257 "/" is current directory\r\n' 19:26:41.665618 < 6 bytes data, client => server 19:26:41.665628 'EPSV\r\n' 19:26:41.674468 Received DATA (on stdin) 19:26:41.674485 > 39 bytes data, server => client 19:26:41.674495 '229 Entering Passive Mode (|||45485|)\r\n' 19:26:41.674671 < 8 bytes data, client => server 19:26:41.674684 'TYPE I\r\n' 19:26:41.674913 Received DATA (on stdin) 19:26:41.674923 > 33 bytes data, server => client 19:26:41.674933 '200 I modify TYPE as you wanted\r\n' 19:26:41.674987 < 21 bytes data, client => server 19:26:41.674996 'SIZE verifiedserver\r\n' 19:26:41.675098 Received DATA (on stdin) 19:26:41.675107 > 8 bytes data, server => client 19:26:41.675116 '213 17\r\n' 19:26:41.675164 < 21 bytes data, client => server 19:26:41.675174 'RETR verifiedserver\r\n' 19:26:41.675374 Received DATA (on stdin) 19:26:41.675384 > 29 bytes data, server => client 19:26:41.675393 '150 Binary junk (17 bytes).\r\n' 19:26:41.675916 Received DATA (on stdin) 19:26:41.675928 > 28 bytes data, server => client 19:26:41.675938 '226 File transfer complete\r\n' 19:26:41.720628 < 6 bytes data, client => server 19:26:41.720659 'QUIT\r\n' 19:26:41.720881 Received DATA (on stdin) 19:26:41.720893 > 18 bytes data, server => client 19:26:41.720902 '221 bye bye baby\r\n' 19:26:41.721776 ====> Client disconnect 19:26:41.721942 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:42.671279 Running IPv4 version 19:26:42.671374 Listening on port 45485 19:26:42.671411 Wrote pid 99466 to log/17/server/ftp_sockdata.pid 19:26:42.671432 Received PING (on stdin) 19:26:42.674276 Received PORT (on stdin) 19:26:42.674704 ====> Client connect 19:26:42.675418 Received DATA (on stdin) 19:26:42.675431 > 17 bytes data, server => client 19:26:42.675440 'WE ROOLZ: 84749\r\n' 19:26:42.675463 Received DISC (on stdin) 19:26:42.675473 ====> Client forcibly disconnected 19:26:42.675615 Received QUIT (on stdin) 19:26:42.675625 quits 19:26:42.675691 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==99506== ==99506== Process terminating with default action of signal 4 (SIGILL) ==99506== Illegal opcode at address 0x492B75F ==99506== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99506== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99506== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99506== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99506== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99506== by 0x49908EB: curl_version_info (version.c:600) ==99506== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99506== by 0x4003269: main (tool_main.c:195) === End of file valgrind353 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind361 ../src/curl -q --output log/7/curl361.out --include --trace-ascii log/7/trace361 --trace-time http://127.0.0.1:40859/361 http://127.0.0.1:40859/361 --fail-with-body > log/7/stdout361 2> log/7/stderr361 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind357 ../src/curl -q --output log/20/curl357.out --include --trace-ascii log/20/trace357 --trace-time http://127.0.0.1:33897/we/want/357 -T log/20/test357.txt --expect100-timeout 99 > log/20/stdout357 2> log/20/stderr357 test 0360 [Error on both --fail-with-body and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind360 ../src/curl -q --output log/16/curl360.out --include --trace-ascii log/16/trace360 --trace-time http://127.0.0.1:35903/360 --fail-with-body --fail --no-progress-meter > log/16/stdout360 2> log/16/stderr360 360: stderr FAILED: --- log/16/check-expected 2026-10-15 19:26:44.512663259 +0000 +++ log/16/check-generated 2026-10-15 19:26:44.509131308 +0000 @@ -1 +0,0 @@ -Warning: --fail deselects --fail-with-body here[CR][LF] == Contents of files in the log/16/ directory after test 360 === Start of file check-expected Warning: --fail deselects --fail-with-body here[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind360 ../src/curl -q --output log/16/curl360.out --include --trace-ascii log/16/trace360 --trace-time http://127.0.0.1:35903/360 --fail-with-body --fail --no-progress-meter > log/16/stdout360 2> log/16/stderr360 === End of file commands.log === Start of file http_server.log 19:26:42.908531 ====> Client connect 19:26:42.908566 accept_connection 3 returned 4 19:26:42.908591 Read 93 bytes 19:26:42.908603 Process 93 bytes request 19:26:42.908616 Got request: GET /verifiedserver HTTP/1.1 19:26:42.908626 Are-we-friendly question received 19:26:42.908656 Wrote request (93 bytes) input to log/16/server.input 19:26:42.908675 Identifying ourselves as friends 19:26:42.908750 Response sent (56 bytes) and written to log/16/server.response 19:26:42.908762 special request received, no persistency 19:26:42.908771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 360 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind360 ==99628== ==99628== Process terminating with default action of signal 4 (SIGILL) ==99628== Illegal opcode at address 0x492B75F ==99628== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99628== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99628== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99628== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99628== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99628== by 0x49908EB: curl_version_info (version.c:600) ==99628== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99628== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99628== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99628== by 0x4003269: main (tool_main.c:195) === End of file valgrind360 test 0361 [HTTP GET --fail-with-body on HTTP error return - twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind361 ../src/curl -q --output log/7/curl361.out --include --trace-ascii log/7/trace361 --trace-time http://127.0.0.1:40859/361 http://127.0.0.1:40859/361 --fail-with-body > log/7/stdout361 2> log/7/stderr361 361: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind361 ../src/curl -q --output log/7/curl361.out --include --trace-ascii log/7/trace361 --trace-time http://127.0.0.1:40859/361 http://127.0.0.1:40859/361 --fail-with-body > log/7/stdout361 2> log/7/stderr361 === End of file commands.log === Start of file http_server.log 19:26:41.953611 ====> Client connect 19:26:41.953646 accept_connection 3 returned 4 19:26:41.953668 Read 93 bytes 19:26:41.953678 Process 93 bytes request 19:26:41.953691 Got request: GET /verifiedserver HTTP/1.1 19:26:41.953700 Are-we-friendly question received 19:26:41.953729 Wrote request (93 bytes) input to log/7/server.input 19:26:41.953746 Identifying ourselves as friends 19:26:41.953807 Response sent (56 bytes) and written to log/7/server.response 19:26:41.953817 special request received, no persistency 19:26:41.953825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 361 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind361 ==99677== ==99677== Process terminating with default action of signal 4 (SIGILL) ==99677== Illegal opcode at address 0x492B75F ==99677== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99677== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99677== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99677== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99677== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99677== by 0x49908EB: curl_version_info (version.c:600) ==99677== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99677== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99677== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99677== by 0x4003269: main (tool_main.c:195) === End of file valgrind361 test 0357 [HTTP PUT with Expect: 100-continue and 417 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind357 ../src/curl -q --output log/20/curl357.out --include --trace-ascii log/20/trace357 --trace-time http://127.0.0.1:33897/we/want/357 -T log/20/test357.txt --expect100-timeout 99 > log/20/stdout357 2> log/20/stderr357 357: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind357 ../src/curl -q --output log/20/curl357.out --include --trace-ascii log/20/trace357 --trace-time http://127.0.0.1:33897/we/want/357 -T log/20/test357.txt --expect100-timeout 99 > log/20/stdout357 2> log/20/stderr357 === End of file commands.log === Start of file http_server.log 19:26:41.790255 ====> Client connect 19:26:41.790294 accept_connection 3 returned 4 19:26:41.790318 Read 93 bytes 19:26:41.790329 Process 93 bytes request 19:26:41.790343 Got request: GET /verifiedserver HTTP/1.1 19:26:41.790351 Are-we-friendly question received 19:26:41.790381 Wrote request (93 bytes) input to log/20/server.input 19:26:41.790398 Identifying ourselves as friends 19:26:41.790466 Response sent (56 bytes) and written to log/20/server.response 19:26:41.790478 special request received, no persistency 19:26:41.790486 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd no-expect Testnum 357 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind369 ../src/curl -q --output log/18/curl369.out --include --trace-ascii log/18/trace369 --trace-time http://127.0.0.1:43739/369 --etag-save log/18/nowhere/etag369 --next http://127.0.0.1:43739/369 --include --output log/18/curl369.out > log/18/stdout369 2> log/18/stderr369 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==99596== ==99596== Process terminating with default action of signal 4 (SIGILL) ==99596== Illegal opcode at address 0x492B75F ==99596== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99596== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99596== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99596== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99596== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99596== by 0x49908EB: curl_version_info (version.c:600) ==99596== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99596== by 0x4003269: main (tool_main.c:195) === End of file valgrind357 test 0369 [--etag-save with bad path then working transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind369 ../src/curl -q --output log/18/curl369.out --include --trace-ascii log/18/trace369 --trace-time http://127.0.0.1:43739/369 --etag-save log/18/nowhere/etag369 --next http://127.0.0.1:43739/369 --include --output log/18/curl369.out > log/18/stdout369 2> log/18/stderr369 369: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind369 ../src/curl -q --output log/18/curl369.out --include --trace-ascii log/18/trace369 --trace-time http://127.0.0.1:43739/369 --etag-save log/18/nowhere/etag369 --next http://127.0.0.1:43739/369 --include --oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind367 ../src/curl -q --output log/24/curl367.out --include --trace-ascii log/24/trace367 --trace-time http://:example@127.0.0.1:38895/367 > log/24/stdout367 2> log/24/stderr367 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:33989/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 utput log/18/curl369.out > log/18/stdout369 2> log/18/stderr369 === End of file commands.log === Start of file http_server.log 19:26:43.490359 ====> Client connect 19:26:43.490398 accept_connection 3 returned 4 19:26:43.490420 Read 93 bytes 19:26:43.490430 Process 93 bytes request 19:26:43.490443 Got request: GET /verifiedserver HTTP/1.1 19:26:43.490452 Are-we-friendly question received 19:26:43.490479 Wrote request (93 bytes) input to log/18/server.input 19:26:43.490496 Identifying ourselves as friends 19:26:43.490565 Response sent (56 bytes) and written to log/18/server.response 19:26:43.490576 special request received, no persistency 19:26:43.490584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind369 ==99992== ==99992== Process terminating with default action of signal 4 (SIGILL) ==99992== Illegal opcode at address 0x492B75F ==99992== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99992== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99992== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99992== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99992== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99992== by 0x49908EB: curl_version_info (version.c:600) ==99992== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99992== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99992== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99992== by 0x4003269: main (tool_main.c:195) === End of file valgrind369 test 0367 [Empty username provided in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind367 ../src/curl -q --output log/24/curl367.out --include --trace-ascii log/24/trace367 --trace-time http://:example@127.0.0.1:38895/367 > log/24/stdout367 2> log/24/stderr367 367: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind367 ../src/curl -q --output log/24/curl367.out --include --trace-ascii log/24/trace367 --trace-time http://:example@127.0.0.1:38895/367 > log/24/stdout367 2> log/24/stderr367 === End of file commands.log === Start of file http_server.log 19:26:42.448480 ====> Client connect 19:26:42.448516 accept_connection 3 returned 4 19:26:42.448541 Read 93 bytes 19:26:42.448552 Process 93 bytes request 19:26:42.448566 Got request: GET /verifiedserver HTTP/1.1 19:26:42.448576 Are-we-friendly question received 19:26:42.448606 Wrote request (93 bytes) input to log/24/server.input 19:26:42.448625 Identifying ourselves as friends 19:26:42.448696 Response sent (56 bytes) and written to log/24/server.response 19:26:42.448708 special request received, no persistency 19:26:42.448717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 58640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind367 ==99960== ==99960== Process terminating with default action of signal 4 (SIGILL) ==99960== Illegal opcode at address 0x492B75F ==99960== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99960== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99960== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99960== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99960== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99960== by 0x49908EB: curl_version_info (version.c:600) ==99960== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99960== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99960== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99960== by 0x4003269: main (tool_main.c:195) === End of file valgrind367 test 0362 [FTP resume upload file with nothing to start from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:33989/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 362: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind362 ../src/curl -q --output log/6/curl362.out --include --trace-ascii log/6/trace362 --trace-time ftp://127.0.0.1:33989/362 -T log/6/test362.txt --continue-at - > log/6/stdout362 2> log/6/stderr362 === End of file commands.log === Start of file ftp_server.log 19:26:42.612146 ====> Client connect 19:26:42.612347 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:42.612622 < "USER anonymous" 19:26:42.612658 > "331 We are happy you popped in![CR][LF]" 19:26:42.612858 < "PASS ftp@example.com" 19:26:42.612885 > "230 Welcome you silly person[CR][LF]" 19:26:42.613028 < "PWD" 19:26:42.613057 > "257 "/" is current directory[CR][LF]" 19:26:42.613202 < "EPSV" 19:26:42.613225 ====> Passive DATA channel requested by client 19:26:42.613238 DATA sockfilt for passive data channel starting... 19:26:42.638725 DATA sockfilt for passive data channel started (pid 99841) 19:26:42.638952 DATA sockfilt for passive data channel listens on port 46421 19:26:42.638999 > "229 Entering Passive Mode (|||46421|)[CR][LF]" 19:26:42.639016 Client has been notified that upcoming DATA connection is awaited on port 46421 19:26:42.639311 Client connects to port 46421 19:26:42.639341 ====> Client established passive DATA connection on port 46421 19:26:42.639423 < "TYPE I" 19:26:42.645285 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:42.645629 < "SIZE verifiedserver" 19:26:42.645677 > "213 17[CR][LF]" 19:26:42.645818 < "RETR verifiedserver" 19:26:42.645852 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:42.645945 =====> Closing passive DATA connection... 19:26:42.645960 Server disconnects passive DATA connection 19:26:42.652048 Server disconnected passive DATA connection 19:26:42.652105 DATA sockfilt for passive data channel CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind373 ../src/curl -q --output log/12/curl373.out --include --trace-ascii log/12/trace373 --trace-time http://127.0.0.1:40921/chunked-transfer-encoding/373 > log/12/stdout373 2> log/12/stderr373 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind368 ../src/curl -q --output log/10/curl368.out --include --trace-ascii log/10/trace368 --trace-time http://127.0.0.1:40913/368 -r 4 > log/10/stdout368 2> log/10/stderr368 quits (pid 99841) 19:26:42.682044 DATA sockfilt for passive data channel quit (pid 99841) 19:26:42.682120 =====> Closed passive DATA connection 19:26:42.682166 > "226 File transfer complete[CR][LF]" 19:26:42.698906 < "QUIT" 19:26:42.698981 > "221 bye bye baby[CR][LF]" 19:26:42.700700 MAIN sockfilt said DISC 19:26:42.700738 ====> Client disconnected 19:26:42.700824 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:43.217333 ====> Client connect 19:26:43.217660 Received DATA (on stdin) 19:26:43.217673 > 146 bytes data, server => client 19:26:43.217684 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:43.217693 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:43.217702 '220 \___|\___/|_| \_\_____|\r\n' 19:26:43.217782 < 16 bytes data, client => server 19:26:43.217792 'USER anonymous\r\n' 19:26:43.217965 Received DATA (on stdin) 19:26:43.217997 > 33 bytes data, server => client 19:26:43.218008 '331 We are happy you popped in!\r\n' 19:26:43.218064 < 22 bytes data, client => server 19:26:43.218083 'PASS ftp@example.com\r\n' 19:26:43.218187 Received DATA (on stdin) 19:26:43.218197 > 30 bytes data, server => client 19:26:43.218207 '230 Welcome you silly person\r\n' 19:26:43.218254 < 5 bytes data, client => server 19:26:43.218265 'PWD\r\n' 19:26:43.218359 Received DATA (on stdin) 19:26:43.218368 > 30 bytes data, server => client 19:26:43.218378 '257 "/" is current directory\r\n' 19:26:43.218433 < 6 bytes data, client => server 19:26:43.218442 'EPSV\r\n' 19:26:43.244335 Received DATA (on stdin) 19:26:43.244351 > 39 bytes data, server => client 19:26:43.244361 '229 Entering Passive Mode (|||46421|)\r\n' 19:26:43.244550 < 8 bytes data, client => server 19:26:43.244562 'TYPE I\r\n' 19:26:43.250683 Received DATA (on stdin) 19:26:43.250706 > 33 bytes data, server => client 19:26:43.250717 '200 I modify TYPE as you wanted\r\n' 19:26:43.250814 < 21 bytes data, client => server 19:26:43.250825 'SIZE verifiedserver\r\n' 19:26:43.250987 Received DATA (on stdin) 19:26:43.250997 > 8 bytes data, server => client 19:26:43.251005 '213 17\r\n' 19:26:43.251052 < 21 bytes data, client => server 19:26:43.251061 'RETR verifiedserver\r\n' 19:26:43.251271 Received DATA (on stdin) 19:26:43.251280 > 29 bytes data, server => client 19:26:43.251289 '150 Binary junk (17 bytes).\r\n' 19:26:43.287507 Received DATA (on stdin) 19:26:43.287529 > 28 bytes data, server => client 19:26:43.287541 '226 File transfer complete\r\n' 19:26:43.304003 < 6 bytes data, client => server 19:26:43.304045 'QUIT\r\n' 19:26:43.304314 Received DATA (on stdin) 19:26:43.304324 > 18 bytes data, server => client 19:26:43.304334 '221 bye bye baby\r\n' 19:26:43.305969 ====> Client disconnect 19:26:43.306147 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:42.231580 Running IPv4 version 19:26:42.231671 Listening on port 46421 19:26:42.237399 Wrote pid 99841 to log/6/server/ftp_sockdata.pid 19:26:42.237479 Received PING (on stdin) 19:26:42.244131 Received PORT (on stdin) 19:26:42.244581 ====> Client connect 19:26:42.253970 Received DATA (on stdin) 19:26:42.254060 > 17 bytes data, server => client 19:26:42.254071 'WE ROOLZ: 85558\r\n' 19:26:42.254110 Received DISC (on stdin) 19:26:42.254125 ====> Client forcibly disconnected 19:26:42.257441 Received QUIT (on stdin) 19:26:42.257456 quits 19:26:42.284061 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 362 === End of file server.cmd === Start of file test362.txt data to see that FTP works so does it? === End of file test362.txt === Start of file valgrind362 ==99862== ==99862== Process terminating with default action of signal 4 (SIGILL) ==99862== Illegal opcode at address 0x492B75F ==99862== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99862== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99862== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99862== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99862== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99862== by 0x49908EB: curl_version_info (version.c:600) ==99862== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99862== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99862== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99862== by 0x4003269: main (tool_main.c:195) === End of file valgrind362 test 0373 [Chunked transfer encoding - Multiple valid chunks with binary zeros.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind373 ../src/curl -q --output log/12/curl373.out --include --trace-ascii log/12/trace373 --trace-time http://127.0.0.1:40921/chunked-transfer-encoding/373 > log/12/stdout373 2> log/12/stderr373 373: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind373 ../src/curl -q --output log/12/curl373.out --include --trace-ascii log/12/trace373 --trace-time http://127.0.0.1:40921/chunked-transfer-encoding/373 > log/12/stdout373 2> log/12/stderr373 === End of file commands.log === Start of file http_server.log 19:26:42.834171 ====> Client connect 19:26:42.834212 accept_connection 3 returned 4 19:26:42.834238 Read 93 bytes 19:26:42.834249 Process 93 bytes request 19:26:42.834263 Got request: GET /verifiedserver HTTP/1.1 19:26:42.834272 Are-we-friendly question received 19:26:42.834306 Wrote request (93 bytes) input to log/12/server.input 19:26:42.834324 Identifying ourselves as friends 19:26:42.834404 Response sent (56 bytes) and written to log/12/server.response 19:26:42.834417 special request received, no persistency 19:26:42.834426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind373 ==100365== ==100365== Process terminating with default action of signal 4 (SIGILL) ==100365== Illegal opcode at address 0x492B75F ==100365== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100365== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100365== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100365== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100365== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100365== by 0x49908EB: curl_version_info (version.c:600) ==100365== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100365== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100365== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100365== by 0x4003269: main (tool_main.c:195) === End of file valgrind373 test 0368 [Append dash if -r range specified without one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind368 ../src/curl -q --output log/10/curl368.out --include --trace-ascii log/10/trace368 --trace-time http://127.0.0.1:40913CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind366 ../src/curl -q --output log/19/curl366.out --include --trace-ascii log/19/trace366 --trace-time http://127.0.0.1:46497/366 --retry 2 --retry-max-time 10 > log/19/stdout366 2> log/19/stderr366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:35735/365 > log/4/stdout365 2> log/4/stderr365 /368 -r 4 > log/10/stdout368 2> log/10/stderr368 368: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind368 ../src/curl -q --output log/10/curl368.out --include --trace-ascii log/10/trace368 --trace-time http://127.0.0.1:40913/368 -r 4 > log/10/stdout368 2> log/10/stderr368 === End of file commands.log === Start of file http_server.log 19:26:42.484094 ====> Client connect 19:26:42.484138 accept_connection 3 returned 4 19:26:42.484167 Read 93 bytes 19:26:42.484179 Process 93 bytes request 19:26:42.484194 Got request: GET /verifiedserver HTTP/1.1 19:26:42.484203 Are-we-friendly question received 19:26:42.484238 Wrote request (93 bytes) input to log/10/server.input 19:26:42.484258 Identifying ourselves as friends 19:26:42.484356 Response sent (56 bytes) and written to log/10/server.response 19:26:42.484369 special request received, no persistency 19:26:42.484378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind368 ==100029== ==100029== Process terminating with default action of signal 4 (SIGILL) ==100029== Illegal opcode at address 0x492B75F ==100029== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100029== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100029== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100029== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100029== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100029== by 0x49908EB: curl_version_info (version.c:600) ==100029== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100029== by 0x4003269: main (tool_main.c:195) === End of file valgrind368 test 0366 [HTTP --retry-max-time with too long Retry-After] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind366 ../src/curl -q --output log/19/curl366.out --include --trace-ascii log/19/trace366 --trace-time http://127.0.0.1:46497/366 --retry 2 --retry-max-time 10 > log/19/stdout366 2> log/19/stderr366 366: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind366 ../src/curl -q --output log/19/curl366.out --include --trace-ascii log/19/trace366 --trace-time http://127.0.0.1:46497/366 --retry 2 --retry-max-time 10 > log/19/stdout366 2> log/19/stderr366 === End of file commands.log === Start of file http_server.log 19:26:42.434081 ====> Client connect 19:26:42.434130 accept_connection 3 returned 4 19:26:42.434157 Read 93 bytes 19:26:42.434169 Process 93 bytes request 19:26:42.434183 Got request: GET /verifiedserver HTTP/1.1 19:26:42.434191 Are-we-friendly question received 19:26:42.434221 Wrote request (93 bytes) input to log/19/server.input 19:26:42.434240 Identifying ourselves as friends 19:26:42.434328 Response sent (56 bytes) and written to log/19/server.response 19:26:42.434341 special request received, no persistency 19:26:42.434349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 46940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind366 ==99952== ==99952== Process terminating with default action of signal 4 (SIGILL) ==99952== Illegal opcode at address 0x492B75F ==99952== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99952== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99952== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99952== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99952== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99952== by 0x49908EB: curl_version_info (version.c:600) ==99952== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99952== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99952== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99952== by 0x4003269: main (tool_main.c:195) === End of file valgrind366 test 0365 [HTTP/1.1 with chunked AND Content-Length headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:35735/365 > log/4/stdout365 2> log/4/stderr365 365: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind365 ../src/curl -q --output log/4/curl365.out --include --trace-ascii log/4/trace365 --trace-time http://127.0.0.1:35735/365 > log/4/stdout365 2> log/4/stderr365 === End of file commands.log === Start of file http_server.log 19:26:43.217374 ====> Client connect 19:26:43.217406 accept_connection 3 returned 4 19:26:43.217429 Read 93 bytes 19:26:43.217438 Process 93 bytes request 19:26:43.217450 Got request: GET /verifiedserver HTTP/1.1 19:26:43.217457 Are-we-friendly question received 19:26:43.217485 Wrote request (93 bytes) input to log/4/server.input 19:26:43.217500 Identifying ourselves as friends 19:26:43.217572 Response sent (56 bytes) and written to log/4/server.response 19:26:43.217581 special request received, no persistency 19:26:43.217589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 56024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verifyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind374 ../src/curl -q --output log/23/curl374.out --include --trace-ascii log/23/trace374 --trace-time http://127.0.0.1:44711/gif/374 > log/23/stdout374 2> log/23/stderr374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind370 ../src/curl -q --output log/1/curl370.out --include --trace-ascii log/1/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/1/nowhere/etag370 > log/1/stdout370 2> log/1/stderr370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind371 ../src/curl -q --output log/3/curl371.out --include --trace-ascii log/3/trace371 --trace-time http://127.0.0.1:36161/371 -o log/3/dump -o log/3/dump2 --no-progress-meter > log/3/stdout371 2> log/3/stderr371 .log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind365 ==99865== ==99865== Process terminating with default action of signal 4 (SIGILL) ==99865== Illegal opcode at address 0x492B75F ==99865== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==99865== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==99865== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==99865== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==99865== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==99865== by 0x49908EB: curl_version_info (version.c:600) ==99865== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==99865== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==99865== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==99865== by 0x4003269: main (tool_main.c:195) === End of file valgrind365 test 0374 [Valid gif with two frames. No new line in data section.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind374 ../src/curl -q --output log/23/curl374.out --include --trace-ascii log/23/trace374 --trace-time http://127.0.0.1:44711/gif/374 > log/23/stdout374 2> log/23/stderr374 374: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind374 ../src/curl -q --output log/23/curl374.out --include --trace-ascii log/23/trace374 --trace-time http://127.0.0.1:44711/gif/374 > log/23/stdout374 2> log/23/stderr374 === End of file commands.log === Start of file http_server.log 19:26:42.977698 ====> Client connect 19:26:42.977742 accept_connection 3 returned 4 19:26:42.977763 Read 93 bytes 19:26:42.977773 Process 93 bytes request 19:26:42.977786 Got request: GET /verifiedserver HTTP/1.1 19:26:42.977794 Are-we-friendly question received 19:26:42.977819 Wrote request (93 bytes) input to log/23/server.input 19:26:42.977835 Identifying ourselves as friends 19:26:42.977895 Response sent (56 bytes) and written to log/23/server.response 19:26:42.977904 special request received, no persistency 19:26:42.977912 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind374 ==100450== ==100450== Process terminating with default action of signal 4 (SIGILL) ==100450== Illegal opcode at address 0x492B75F ==100450== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100450== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100450== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100450== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100450== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100450== by 0x49908EB: curl_version_info (version.c:600) ==100450== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100450== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100450== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100450== by 0x4003269: main (tool_main.c:195) === End of file valgrind374 test 0370 [--etag-save with bad path - no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind370 ../src/curl -q --output log/1/curl370.out --include --trace-ascii log/1/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/1/nowhere/etag370 > log/1/stdout370 2> log/1/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/1/ directory after test 370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind370 ../src/curl -q --output log/1/curl370.out --include --trace-ascii log/1/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/1/nowhere/etag370 > log/1/stdout370 2> log/1/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==100012== ==100012== Process terminating with default action of signal 4 (SIGILL) ==100012== Illegal opcode at address 0x492B75F ==100012== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100012== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100012== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100012== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100012== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100012== by 0x49908EB: curl_version_info (version.c:600) ==100012== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100012== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100012== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100012== by 0x4003269: main (tool_main.c:195) === End of file valgrind370 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind378 ../src/curl -q --output log/14/curl378.out --include --trace-ascii log/14/trace378 --trace-time -T log/14/378 -d input http://never-accessed > log/14/stdout378 2> log/14/stderr378 test 0371 [using more -o than URLs in the command line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind371 ../src/curl -q --output log/3/curl371.out --include --trace-ascii log/3/trace371 --trace-time http://127.0.0.1:36161/371 -o log/3/dump -o log/3/dump2 --no-progress-meter > log/3/stdout371 2> log/3/stderr371 371: stderr FAILED: --- log/3/check-expected 2026-10-15 19:26:45.687166086 +0000 +++ log/3/check-generated 2026-10-15 19:26:45.682201449 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/3/ directory after test 371 === Start of file check-expected Warning: Got more output options than URLs[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind371 ../src/curl -q --output log/3/curl371.out --include --trace-ascii log/3/trace371 --trace-time http://127.0.0.1:36161/371 -o log/3/dump -o log/3/dump2 --no-progress-meter > log/3/stdout371 2> log/3/stderr371 === End of file commands.log === Start of file http_server.log 19:26:43.719527 ====> Client connect 19:26:43.719561 accept_connection 3 returned 4 19:26:43.719581 Read 93 bytes 19:26:43.719590 Process 93 bytes request 19:26:43.719602 Got request: GET /verifiedserver HTTP/1.1 19:26:43.719611 Are-we-friendly question received 19:26:43.719637 Wrote request (93 bytes) input to log/3/server.input 19:26:43.719653 Identifying ourselves as friends 19:26:43.719715 Response sent (56 bytes) and written to log/3/server.response 19:26:43.719724 special request received, no persistency 19:26:43.719732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 56880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind371 ==100271== ==100271== Process terminating with default action of signal 4 (SIGILL) ==100271== Illegal opcode at address 0x492B75F ==100271== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100271== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100271== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100271== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100271== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100271== by 0x49908EB: curl_version_info (version.c:600) ==100271== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100271== by 0x4003269: main (tool_main.c:195) === End of file valgrind371 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind372 ../src/curl -q --output log/13/curl372.out --include --trace-ascii log/13/trace372 --trace-time --raw http://127.0.0.1:38821/binary-zero-in-data-section/372 > log/13/stdout372 2> log/13/stderr372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:35989/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 test 0378 [Reject using -T and -d at once] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind378 ../src/curl -q --output log/14/curl378.out --include --trace-ascii log/14/trace378 --trace-time -T log/14/378 -d input http://never-accessed > log/14/stdout378 2> log/14/stderr378 378: stderr FAILED: --- log/14/check-expected 2026-10-15 19:26:45.906177731 +0000 +++ log/14/check-generated 2026-10-15 19:26:45.902152190 +0000 @@ -1,2 +0,0 @@ -Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] -Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] == Contents of files in the log/14/ directory after test 378 === Start of file check-expected Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF] Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind378 ../src/curl -q --output log/14/curl378.out --include --trace-ascii log/14/trace378 --trace-time -T log/14/378 -d input http://never-accessed > log/14/stdout378 2> log/14/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==100550== ==100550== Process terminating with default action of signal 4 (SIGILL) ==100550== Illegal opcode at address 0x492B75F ==100550== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100550== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100550== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100550== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100550== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100550== by 0x49908EB: curl_version_info (version.c:600) ==100550== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100550== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100550== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100550== by 0x4003269: main (tool_main.c:195) === End of file valgrind378 test 0372 [Binary zero in data element.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind372 ../src/curl -q --output log/13/curl372.out --include --trace-ascii log/13/trace372 --trace-time --raw http://127.0.0.1:38821/binary-zero-in-data-section/372 > log/13/stdout372 2> log/13/stderr372 372: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind372 ../src/curl -q --output log/13/curl372.out --include --trace-ascii log/13/trace372 --trace-time --raw http://127.0.0.1:38821/binary-zero-in-data-section/372 > log/13/stdout372 2> log/13/stderr372 === End of file commands.log === Start of file http_server.log 19:26:42.777507 ====> Client connect 19:26:42.777549 accept_connection 3 returned 4 19:26:42.777734 Read 93 bytes 19:26:42.777748 Process 93 bytes request 19:26:42.777761 Got request: GET /verifiedserver HTTP/1.1 19:26:42.777770 Are-we-friendly question received 19:26:42.777806 Wrote request (93 bytes) input to log/13/server.input 19:26:42.777822 Identifying ourselves as friends 19:26:42.777882 Response sent (56 bytes) and written to log/13/server.response 19:26:42.777891 special request received, no persistency 19:26:42.777899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 50700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind372 ==100327== ==100327== Process terminating with default action of signal 4 (SIGILL) ==100327== Illegal opcode at address 0x492B75F ==100327== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100327== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100327== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100327== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100327== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100327== by 0x49908EB: curl_version_info (version.c:600) ==100327== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100327== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100327== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100327== by 0x4003269: main (tool_main.c:195) === End of file valgrind372 test 0379 [--remove-on-error with --no-clobber and an added number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:35989/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 379: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind379 ../src/curl -q --include --trace-ascii log/22/trace379 --trace-time http://127.0.0.1:35989/379 -o log/22/save --remove-on-error --no-clobber > log/22/stdout379 2> log/22/stderr379 === End of file commands.log === Start of file http_server.log 19:26:43.450985 ====> Client connect 19:26:43.451111 accept_connection 3 returned 4 19:26:43.451171 Read 93 bytes 19:26:43.451182 Process 93 bytes request 19:26:43.451221 Got request: GET /verifiedserver HTTP/1.1 19:26:43.451275 Are-we-friendly question received 19:26:43.451345 Wrote request (93 bytes) input to log/22/server.input 19:26:43.451378 Identifying ourselves as friends 19:26:43.451525 Response sent (56 bytes) and written to log/22/server.response 19:26:43.451539 special request received, no persistency 19:26:43.451551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 56574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file save exists before command runs === End of file save === Start of file server.cmd Testnum 379 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind379 ==100605== ==100605== Process terminating with default action of signal 4 (SIGILL) ==100605== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind380 ../src/curl -q --output log/8/curl380.out --include --trace-ascii log/8/trace380 --trace-time --netrc --netrc-file log/8/netrc380 ftp://mary@127.0.0.1:41879/ > log/8/stdout380 2> log/8/stderr380 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind385 ../src/curl -q --output log/21/curl385.out --include --trace-ascii log/21/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:39881/385 -H "Content-Type: drinks/hot" > log/21/stdout385 2> log/21/stderr385 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40321/383 > log/15/stdout383 2> log/15/stderr383 Illegal opcode at address 0x492B75F ==100605== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100605== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100605== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100605== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100605== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100605== by 0x49908EB: curl_version_info (version.c:600) ==100605== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100605== by 0x4003269: main (tool_main.c:195) === End of file valgrind379 test 0380 [pick netrc password based on username in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind380 ../src/curl -q --output log/8/curl380.out --include --trace-ascii log/8/trace380 --trace-time --netrc --netrc-file log/8/netrc380 ftp://mary@127.0.0.1:41879/ > log/8/stdout380 2> log/8/stderr380 380: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind380 ../src/curl -q --output log/8/curl380.out --include --trace-ascii log/8/trace380 --trace-time --netrc --netrc-file log/8/netrc380 ftp://mary@127.0.0.1:41879/ > log/8/stdout380 2> log/8/stderr380 === End of file commands.log === Start of file ftp_server.log 19:26:43.915374 ====> Client connect 19:26:43.915614 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:43.922290 < "USER anonymous" 19:26:43.922348 > "331 We are happy you popped in![CR][LF]" 19:26:43.922566 < "PASS ftp@example.com" 19:26:43.922601 > "230 Welcome you silly person[CR][LF]" 19:26:43.922782 < "PWD" 19:26:43.922820 > "257 "/" is current directory[CR][LF]" 19:26:43.923009 < "EPSV" 19:26:43.923039 ====> Passive DATA channel requested by client 19:26:43.923056 DATA sockfilt for passive data channel starting... 19:26:43.926822 DATA sockfilt for passive data channel started (pid 100662) 19:26:43.926958 DATA sockfilt for passive data channel listens on port 35737 19:26:43.927010 > "229 Entering Passive Mode (|||35737|)[CR][LF]" 19:26:43.927028 Client has been notified that upcoming DATA connection is awaited on port 35737 19:26:43.927327 Client connects to port 35737 19:26:43.927361 ====> Client established passive DATA connection on port 35737 19:26:43.927458 < "TYPE I" 19:26:43.927492 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:43.927669 < "SIZE verifiedserver" 19:26:43.927707 > "213 17[CR][LF]" 19:26:43.927870 < "RETR verifiedserver" 19:26:43.927906 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:43.927997 =====> Closing passive DATA connection... 19:26:43.928016 Server disconnects passive DATA connection 19:26:43.928259 Server disconnected passive DATA connection 19:26:43.928291 DATA sockfilt for passive data channel quits (pid 100662) 19:26:43.928508 DATA sockfilt for passive data channel quit (pid 100662) 19:26:43.928532 =====> Closed passive DATA connection 19:26:43.928560 > "226 File transfer complete[CR][LF]" 19:26:43.972341 < "QUIT" 19:26:43.972397 > "221 bye bye baby[CR][LF]" 19:26:43.974184 MAIN sockfilt said DISC 19:26:43.974229 ====> Client disconnected 19:26:43.974300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:43.517620 ====> Client connect 19:26:43.521231 Received DATA (on stdin) 19:26:43.521249 > 146 bytes data, server => client 19:26:43.521261 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:43.521271 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:43.521280 '220 \___|\___/|_| \_\_____|\r\n' 19:26:43.527613 < 16 bytes data, client => server 19:26:43.527646 'USER anonymous\r\n' 19:26:43.527955 Received DATA (on stdin) 19:26:43.527968 > 33 bytes data, server => client 19:26:43.527979 '331 We are happy you popped in!\r\n' 19:26:43.528062 < 22 bytes data, client => server 19:26:43.528077 'PASS ftp@example.com\r\n' 19:26:43.528207 Received DATA (on stdin) 19:26:43.528219 > 30 bytes data, server => client 19:26:43.528230 '230 Welcome you silly person\r\n' 19:26:43.528288 < 5 bytes data, client => server 19:26:43.528302 'PWD\r\n' 19:26:43.528424 Received DATA (on stdin) 19:26:43.528436 > 30 bytes data, server => client 19:26:43.528447 '257 "/" is current directory\r\n' 19:26:43.528515 < 6 bytes data, client => server 19:26:43.528529 'EPSV\r\n' 19:26:43.532639 Received DATA (on stdin) 19:26:43.532656 > 39 bytes data, server => client 19:26:43.532666 '229 Entering Passive Mode (|||35737|)\r\n' 19:26:43.532843 < 8 bytes data, client => server 19:26:43.532860 'TYPE I\r\n' 19:26:43.533097 Received DATA (on stdin) 19:26:43.533109 > 33 bytes data, server => client 19:26:43.533120 '200 I modify TYPE as you wanted\r\n' 19:26:43.533179 < 21 bytes data, client => server 19:26:43.533191 'SIZE verifiedserver\r\n' 19:26:43.533310 Received DATA (on stdin) 19:26:43.533322 > 8 bytes data, server => client 19:26:43.533331 '213 17\r\n' 19:26:43.533385 < 21 bytes data, client => server 19:26:43.533397 'RETR verifiedserver\r\n' 19:26:43.533618 Received DATA (on stdin) 19:26:43.533630 > 29 bytes data, server => client 19:26:43.533640 '150 Binary junk (17 bytes).\r\n' 19:26:43.534162 Received DATA (on stdin) 19:26:43.534173 > 28 bytes data, server => client 19:26:43.534183 '226 File transfer complete\r\n' 19:26:43.577755 < 6 bytes data, client => server 19:26:43.577788 'QUIT\r\n' 19:26:43.578015 Received DATA (on stdin) 19:26:43.578028 > 18 bytes data, server => client 19:26:43.578038 '221 bye bye baby\r\n' 19:26:43.579230 ====> Client disconnect 19:26:43.579920 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:43.532058 Running IPv4 version 19:26:43.532144 Listening on port 35737 19:26:43.532184 Wrote pid 100662 to log/8/server/ftp_sockdata.pid 19:26:43.532363 Received PING (on stdin) 19:26:43.532462 Received PORT (on stdin) 19:26:43.532880 ====> Client connect 19:26:43.533700 Received DATA (on stdin) 19:26:43.533715 > 17 bytes data, server => client 19:26:43.533724 'WE ROOLZ: 84824\r\n' 19:26:43.533752 Received DISC (on stdin) 19:26:43.533763 ====> Client forcibly disconnected 19:26:43.533905 Received QUIT (on stdin) 19:26:43.533915 quits 19:26:43.533981 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc380 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc380 === Start of file server.cmd Testnum 380 === End of file server.cmd === Start of file valgrind380 ==100742== ==100742== Process terminating with default action of signal 4 (SIGILL) ==100742== Illegal opcode at address 0x492B75F ==100742== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100742== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100742== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100742== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100742== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100742== by 0x49908EB: curl_version_info (version.c:600) ==100742== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100742== by 0x4003269: main (tool_main.c:195) === End of file valgrind380 test 0383 [HTTP with --json] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind381 ../src/curl -q --output log/2/curl381.out --include --trace-ascii log/2/trace381 --trace-time --netrc-optional --netrc-file log/2/netrc381 ftp://mary:drfrank@127.0.0.1:38033/ > log/2/stdout381 2> log/2/stderr381 check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40321/383 > log/15/stdout383 2> log/15/stderr383 383: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind383 ../src/curl -q --output log/15/curl383.out --include --trace-ascii log/15/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40321/383 > log/15/stdout383 2> log/15/stderr383 === End of file commands.log === Start of file http_server.log 19:26:44.767703 ====> Client connect 19:26:44.767740 accept_connection 3 returned 4 19:26:44.767764 Read 93 bytes 19:26:44.767773 Process 93 bytes request 19:26:44.767785 Got request: GET /verifiedserver HTTP/1.1 19:26:44.767794 Are-we-friendly question received 19:26:44.767819 Wrote request (93 bytes) input to log/15/server.input 19:26:44.767833 Identifying ourselves as friends 19:26:44.767894 Response sent (56 bytes) and written to log/15/server.response 19:26:44.767902 special request received, no persistency 19:26:44.767910 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 42148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 383 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind383 ==100905== ==100905== Process terminating with default action of signal 4 (SIGILL) ==100905== Illegal opcode at address 0x492B75F ==100905== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100905== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100905== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100905== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100905== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100905== by 0x49908EB: curl_version_info (version.c:600) ==100905== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100905== by 0x4003269: main (tool_main.c:195) === End of file valgrind383 test 0385 [HTTP with --json x 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind385 ../src/curl -q --output log/21/curl385.out --include --trace-ascii log/21/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:39881/385 -H "Content-Type: drinks/hot" > log/21/stdout385 2> log/21/stderr385 385: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind385 ../src/curl -q --output log/21/curl385.out --include --trace-ascii log/21/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:39881/385 -H "Content-Type: drinks/hot" > log/21/stdout385 2> log/21/stderr385 === End of file commands.log === Start of file http_server.log 19:26:43.880047 ====> Client connect 19:26:43.880080 accept_connection 3 returned 4 19:26:43.880100 Read 93 bytes 19:26:43.880109 Process 93 bytes request 19:26:43.880122 Got request: GET /verifiedserver HTTP/1.1 19:26:43.880130 Are-we-friendly question received 19:26:43.880155 Wrote request (93 bytes) input to log/21/server.input 19:26:43.880170 Identifying ourselves as friends 19:26:43.880225 Response sent (56 bytes) and written to log/21/server.response 19:26:43.880233 special request received, no persistency 19:26:43.880242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 44040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 385 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind385 ==100989== ==100989== Process terminating with default action of signal 4 (SIGILL) ==100989== Illegal opcode at address 0x492B75F ==100989== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100989== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100989== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100989== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100989== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100989== by 0x49908EB: curl_version_info (version.c:600) ==100989== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100989== by 0x4003269: main (tool_main.c:195) === End of file valgrind385 test 0381 [netrc-optional lets URL creds override netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind381 ../src/curl -q --output log/2/curl381.out --include --trace-ascii log/2/trace381 --trace-time --netrc-optional --netrc-file log/2/netrc381 ftp://mary:drfrank@127.0.0.1:38033/ > log/2/stdout381 2> log/2/stderr381 381: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind381 ../src/curl -q --output log/2/curl381.out --include --trace-ascii log/2/trace381 --trace-time --netrc-optional --netrc-file log/2/netrc381 ftp://mary:drfrank@127.0.0.1:38033/ > log/2/stdout381 2> log/2/stderr381 === End of file commands.log === Start of file ftp_server.log 19:26:43.972658 ====> Client connect 19:26:43.972822 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:43.978925 < "USER anonymous" 19:26:43.978980 > "331 We are happy you popped in![CR][LF]" 19:26:43.979181 < "PASS ftp@example.com" 19:26:43.979217 > "230 Welcome you silly person[CR][LF]" 19:26:43.979410 < "PWD" 19:26:43.979452 > "257 "/" is current directory[CR][LF]" 19:26:43.979644 < "EPSV" 19:26:43.979670CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind386 ../src/curl -q --output log/11/curl386.out --include --trace-ascii log/11/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40989/386 --next http://127.0.0.1:40989/3860002 > log/11/stdout386 2> log/11/stderr386 ====> Passive DATA channel requested by client 19:26:43.979685 DATA sockfilt for passive data channel starting... 19:26:43.983439 DATA sockfilt for passive data channel started (pid 100706) 19:26:43.983564 DATA sockfilt for passive data channel listens on port 34185 19:26:43.983607 > "229 Entering Passive Mode (|||34185|)[CR][LF]" 19:26:43.983624 Client has been notified that upcoming DATA connection is awaited on port 34185 19:26:43.983928 Client connects to port 34185 19:26:43.983962 ====> Client established passive DATA connection on port 34185 19:26:43.984054 < "TYPE I" 19:26:43.984088 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:43.984247 < "SIZE verifiedserver" 19:26:43.984279 > "213 17[CR][LF]" 19:26:43.984419 < "RETR verifiedserver" 19:26:43.984451 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:43.984537 =====> Closing passive DATA connection... 19:26:43.984552 Server disconnects passive DATA connection 19:26:43.984775 Server disconnected passive DATA connection 19:26:43.984799 DATA sockfilt for passive data channel quits (pid 100706) 19:26:43.985025 DATA sockfilt for passive data channel quit (pid 100706) 19:26:43.985048 =====> Closed passive DATA connection 19:26:43.985074 > "226 File transfer complete[CR][LF]" 19:26:44.028882 < "QUIT" 19:26:44.028940 > "221 bye bye baby[CR][LF]" 19:26:44.030200 MAIN sockfilt said DISC 19:26:44.030243 ====> Client disconnected 19:26:44.030328 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:43.578160 ====> Client connect 19:26:43.578444 Received DATA (on stdin) 19:26:43.578457 > 146 bytes data, server => client 19:26:43.578466 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:43.578474 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:43.578481 '220 \___|\___/|_| \_\_____|\r\n' 19:26:43.584343 < 16 bytes data, client => server 19:26:43.584367 'USER anonymous\r\n' 19:26:43.584600 Received DATA (on stdin) 19:26:43.584613 > 33 bytes data, server => client 19:26:43.584622 '331 We are happy you popped in!\r\n' 19:26:43.584683 < 22 bytes data, client => server 19:26:43.584696 'PASS ftp@example.com\r\n' 19:26:43.584836 Received DATA (on stdin) 19:26:43.584848 > 30 bytes data, server => client 19:26:43.584858 '230 Welcome you silly person\r\n' 19:26:43.584921 < 5 bytes data, client => server 19:26:43.584936 'PWD\r\n' 19:26:43.585069 Received DATA (on stdin) 19:26:43.585082 > 30 bytes data, server => client 19:26:43.585092 '257 "/" is current directory\r\n' 19:26:43.585160 < 6 bytes data, client => server 19:26:43.585175 'EPSV\r\n' 19:26:43.589248 Received DATA (on stdin) 19:26:43.589264 > 39 bytes data, server => client 19:26:43.589274 '229 Entering Passive Mode (|||34185|)\r\n' 19:26:43.589461 < 8 bytes data, client => server 19:26:43.589474 'TYPE I\r\n' 19:26:43.589702 Received DATA (on stdin) 19:26:43.589713 > 33 bytes data, server => client 19:26:43.589723 '200 I modify TYPE as you wanted\r\n' 19:26:43.589779 < 21 bytes data, client => server 19:26:43.589789 'SIZE verifiedserver\r\n' 19:26:43.589891 Received DATA (on stdin) 19:26:43.589900 > 8 bytes data, server => client 19:26:43.589909 '213 17\r\n' 19:26:43.589957 < 21 bytes data, client => server 19:26:43.589967 'RETR verifiedserver\r\n' 19:26:43.590165 Received DATA (on stdin) 19:26:43.590175 > 29 bytes data, server => client 19:26:43.590185 '150 Binary junk (17 bytes).\r\n' 19:26:43.590690 Received DATA (on stdin) 19:26:43.590701 > 28 bytes data, server => client 19:26:43.590711 '226 File transfer complete\r\n' 19:26:43.634310 < 6 bytes data, client => server 19:26:43.634347 'QUIT\r\n' 19:26:43.634570 Received DATA (on stdin) 19:26:43.634582 > 18 bytes data, server => client 19:26:43.634592 '221 bye bye baby\r\n' 19:26:43.635767 ====> Client disconnect 19:26:43.635954 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:43.588704 Running IPv4 version 19:26:43.588790 Listening on port 34185 19:26:43.588827 Wrote pid 100706 to log/2/server/ftp_sockdata.pid 19:26:43.588995 Received PING (on stdin) 19:26:43.589084 Received PORT (on stdin) 19:26:43.589495 ====> Client connect 19:26:43.590240 Received DATA (on stdin) 19:26:43.590252 > 17 bytes data, server => client 19:26:43.590262 'WE ROOLZ: 85208\r\n' 19:26:43.590287 Received DISC (on stdin) 19:26:43.590298 ====> Client forcibly disconnected 19:26:43.590421 Received QUIT (on stdin) 19:26:43.590431 quits 19:26:43.590501 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc381 # the following two lines were created while testing curl machine 127.0.0.1 login frankenstein password wrongone machine 127.0.0.1 login mary password yram === End of file netrc381 === Start of file server.cmd Testnum 381 === End of file server.cmd === Start of file valgrind381 ==100768== ==100768== Process terminating with default action of signal 4 (SIGILL) ==100768== Illegal opcode at address 0x492B75F ==100768== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100768== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100768== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100768== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100768== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100768== by 0x49908EB: curl_version_info (version.c:600) ==100768== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100768== by 0x4003269: main (tool_main.c:195) === End of file valgrind381 test 0386 [HTTP with --json + --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind386 ../src/curl -q --output log/11/curl386.out --include --trace-ascii log/11/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40989/386 --next http://127.0.0.1:40989/3860002 > log/11/stdout386 2> log/11/stderr386 386: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind386 ../src/curl -q --output log/11/curl386.out --include --trace-ascii log/11/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40989/386 --next http://127.0.0.1:40989/3860002 > log/11/stdout386 2> log/11/stderr386 === End of file commands.log === Start of file http_server.log 19:26:44.051144 ====> Client connect 19:26:44.051190 accept_connection 3 returned 4 19:26:44.051217 Read 93 bytes 19:26:44.051229 Process 93 bytes request 19:26:44.051243 Got request: GET /verifiedserver HTTP/1.1 19:26:44.051253 Are-we-friendly question received 19:26:44.051316 Wrote request (93 bytes) input to log/11/server.input 19:26:44.051337 Identifying ourselves as friends 19:26:44.051415 Response sent (56 bytes) and written to log/11/server.response 19:26:44.051426 special request received, no persistency 19:26:44.051436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 53282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 386 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:37089/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind387 ../src/curl -q --output log/17/curl387.out --include --trace-ascii log/17/trace387 --trace-time http://127.0.0.1:35993/387 -sS --tr-encoding > log/17/stdout387 2> log/17/stderr387 End of file server.response === Start of file valgrind386 ==101102== ==101102== Process terminating with default action of signal 4 (SIGILL) ==101102== Illegal opcode at address 0x492B75F ==101102== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101102== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101102== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101102== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101102== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101102== by 0x49908EB: curl_version_info (version.c:600) ==101102== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101102== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101102== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101102== by 0x4003269: main (tool_main.c:195) === End of file valgrind386 test 0376 [--remove-on-error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:37089/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 376: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind376 ../src/curl -q --include --trace-ascii log/5/trace376 --trace-time http://127.0.0.1:37089/376 -o log/5/save-376 --remove-on-error > log/5/stdout376 2> log/5/stderr376 === End of file commands.log === Start of file http_server.log 19:26:43.478101 ====> Client connect 19:26:43.478135 accept_connection 3 returned 4 19:26:43.478155 Read 93 bytes 19:26:43.478165 Process 93 bytes request 19:26:43.478176 Got request: GET /verifiedserver HTTP/1.1 19:26:43.478185 Are-we-friendly question received 19:26:43.478209 Wrote request (93 bytes) input to log/5/server.input 19:26:43.478224 Identifying ourselves as friends 19:26:43.478283 Response sent (56 bytes) and written to log/5/server.response 19:26:43.478292 special request received, no persistency 19:26:43.478300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 35774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind376 ==100623== ==100623== Process terminating with default action of signal 4 (SIGILL) ==100623== Illegal opcode at address 0x492B75F ==100623== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100623== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100623== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100623== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100623== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100623== by 0x49908EB: curl_version_info (version.c:600) ==100623== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100623== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100623== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100623== by 0x4003269: main (tool_main.c:195) === End of file valgrind376 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind389 ../src/curl -q --output log/7/curl389.out --include --trace-ascii log/7/trace389 --trace-time -4 http://curlmachine.localhost:40859/389 > log/7/stdout389 2> log/7/stderr389 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind384 ../src/curl -q --output log/9/curl384.out --include --trace-ascii log/9/trace384 --trace-time --json @- http://127.0.0.1:43733/384 -H "Accept: foobar/*" log/9/stdout384 2> log/9/stderr384 test 0387 [Response with overly long compression chain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind387 ../src/curl -q --output log/17/curl387.out --include --trace-ascii log/17/trace387 --trace-time http://127.0.0.1:35993/387 -sS --tr-encoding > log/17/stdout387 2> log/17/stderr387 387: stderr FAILED: --- log/17/check-expected 2026-10-15 19:26:47.086137063 +0000 +++ log/17/check-generated 2026-10-15 19:26:47.085221676 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response exceeding limit of 5 transfer encodings[CR][LF] == Contents of files in the log/17/ directory after test 387 === Start of file check-expected curl: (61) Reject response exceeding limit of 5 transfer encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind387 ../src/curl -q --output log/17/curl387.out --include --trace-ascii log/17/trace387 --trace-time http://127.0.0.1:35993/387 -sS --tr-encoding > log/17/stdout387 2> log/17/stderr387 === End of file commands.log === Start of file http_server.log 19:26:45.072294 ====> Client connect 19:26:45.072334 accept_connection 3 returned 4 19:26:45.072357 Read 93 bytes 19:26:45.072367 Process 93 bytes request 19:26:45.072380 Got request: GET /verifiedserver HTTP/1.1 19:26:45.072389 Are-we-friendly question received 19:26:45.072418 Wrote request (93 bytes) input to log/17/server.input 19:26:45.072436 Identifying ourselves as friends 19:26:45.072504 Response sent (56 bytes) and written to log/17/server.response 19:26:45.072514 special request received, no persistency 19:26:45.072523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 34416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 387 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind387 ==101110== ==101110== Process terminating with default action of signal 4 (SIGILL) ==101110== Illegal opcode at address 0x492B75F ==101110== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101110== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101110== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101110== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101110== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101110== by 0x49908EB: curl_version_info (version.c:600) ==101110== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101110== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101110== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101110== by 0x4003269: main (tool_main.c:195) === End of file valgrind387 test 0389 [*.localhost is a local host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind389 ../src/curl -q --output log/7/curl389.out --include --trace-ascii log/7/trace389 --trace-time -4 http://curlmachine.localhost:40859/389 > log/7/stdout389 2> log/7/stderr389 389: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind389 ../src/curl -q --output log/7/curl389.out --include --trace-ascii log/7/trace389 --trace-time -4 http://curlmachine.localhost:40859/389 > log/7/stdout389 2> log/7/stderr389 === End of file commands.log === Start of file http_server.log 19:26:44.497882 ====> Client connect 19:26:44.497929 accept_connection 3 returned 4 19:26:44.497955 Read 93 bytes 19:26:44.497964 Process 93 bytes request 19:26:44.497976 Got request: GET /verifiedserver HTTP/1.1 19:26:44.497984 Are-we-friendly question received 19:26:44.498010 Wrote request (93 bytes) input to log/7/server.input 19:26:44.498025 Identifying ourselves as friends 19:26:44.498112 Response sent (56 bytes) and written to log/7/server.response 19:26:44.498121 special request received, no persistency 19:26:44.498129 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 389 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind389 ==101308== ==101308== Process terminating with default action of signal 4 (SIGILL) ==101308== Illegal opcode at address 0x492B75F ==101308== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101308== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101308== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101308== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101308== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101308== by 0x49908EB: curl_version_info (version.c:600) ==101308== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101308== by 0x4003269: main (tool_main.c:195) === End of file valgrind389 test 0384 [HTTP with --json from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind384 ../src/curl -q --output log/9/curl384.out --include --trace-ascii log/9/trace384 --trace-time --json @- http://127.0.0.1:43733/384 -H "Accept: foobar/*" log/9/stdout384 2> log/9/stderr384 384: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind384 ../src/curl -q --output log/9/curl384.out --include --trace-ascii log/9/trace384 --trace-time --json @- http://127.0.0.1:43733/384 -H "Accept: foobar/*" log/9/stdout384 2> log/9/stderr384 === End of file commands.log === Start of file http_server.log 19:26:43.759997 ====> Client connect 19:26:43.760035 accept_connection 3 returned 4 19:26:43.760058 Read 93 bytes 19:26:43.760068 Process 93 bytes request 19:26:43.760081 Got request: GET /verifiedserver HTTP/1.1 19:26:43.760090 Are-we-friendly question received 19:26:43.760123 Wrote request (93 bytes) input to log/9/server.input 19:26:43.760139 Identifying ourselves as friends CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind388 ../src/curl -q --include --trace-ascii log/16/trace388 --trace-time http://127.0.0.1:35903/3880001 -u testuser:testpass --digest http://127.0.0.1:35903/3880002 > log/16/stdout388 2> log/16/stderr388 19:26:43.760206 Response sent (56 bytes) and written to log/9/server.response 19:26:43.760215 special request received, no persistency 19:26:43.760224 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 384 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==100876== ==100876== Process terminating with default action of signal 4 (SIGILL) ==100876== Illegal opcode at address 0x492B75F ==100876== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==100876== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==100876== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==100876== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==100876== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==100876== by 0x49908EB: curl_version_info (version.c:600) ==100876== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==100876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==100876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==100876== by 0x4003269: main (tool_main.c:195) === End of file valgrind384 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind390 ../src/curl -q --include --trace-ascii log/20/trace390 --trace-time http://127.0.0.1:33897/390 file://localhost/startdir/src/build-curl/tests/log/20/test390.txt ftp://127.0.0.1:41549/3900002 --parallel -o log/20/390.a -o log/20/390.b -o log/20/390.c > log/20/stdout390 2> log/20/stderr390 test 0388 [HTTP with Digest and multiple qop values with leading space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind388 ../src/curl -q --include --trace-ascii log/16/trace388 --trace-time http://127.0.0.1:35903/3880001 -u testuser:testpass --digest http://127.0.0.1:35903/3880002 > log/16/stdout388 2> log/16/stderr388 388: stdout FAILED: --- log/16/check-expected 2026-10-15 19:26:47.423639187 +0000 +++ log/16/check-generated 2026-10-15 19:26:47.421813596 +0000 @@ -1,30 +0,0 @@ -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] -HTTP/1.1 401 Authorization Required swsclose[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 26[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 30[CR][LF] -[CR][LF] -This IS the second real page![LF] == Contents of files in the log/16/ directory after test 388 === Start of file check-expected HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] HTTP/1.1 401 Authorization Required swsclose[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 26[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 30[CR][LF] [CR][LF] This IS the second real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind388 ../src/curl -q --include --trace-ascii log/16/trace388 --trace-time http://127.0.0.1:35903/3880001 -u testuser:testpass --digest http://127.0.0.1:35903/3880002 > log/16/stdout388 2> log/16/stderr388 === End of file commands.log === Start of file http_server.log 19:26:45.206819 ====> Client connect 19:26:45.206853 accept_connection 3 returned 4 19:26:45.206874 Read 93 bytes 19:26:45.206884 Process 93 bytes request 19:26:45.206896 Got request: GET /verifiedserver HTTP/1.1 19:26:45.206904 Are-we-friendly question received 19:26:45.206931 Wrote request (93 bytes) input to log/16/server.input 19:26:45.206946 Identifying ourselves as friends 19:26:45.207007 Response sent (56 bytes) and written to log/16/server.response 19:26:45.207017 special request received, no persistency 19:26:45.207025 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 388 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind388 ==101229== ==101229== Process terminating with default action of signal 4 (SIGILL) ==101229== Illegal opcode at address 0x492B75F ==101229== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101229== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101229== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101229== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101229== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101229== by 0x49908EB: curl_version_info (version.c:600) ==101229== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101229== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101229== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101229== by 0x4003269: main (tool_main.c:195) === End of file valgrind388 test 0390 [curl HTTP, FILE and FTP in parallel] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind390 ../src/curl -q --include --trace-ascii log/20/trace390 --trace-time http://127.0.0.1:33897/390 file://localhost/startdir/src/build-curl/tests/log/20/test390.txt ftp://127.0.0.1:41549/3900002 --parallel -o log/20/390.a -o log/20/390.b -o log/20/390.c > log/20/stdout390 2> log/20/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/20/ directory after test 390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind390 ../src/curl -q --include --trace-ascii log/20/trace390 --trace-time http://127.0.0.1:33897/390 file://localhost/startdir/src/build-curl/tests/log/20/test390.txt ftp://127.0.0.1:41549/3900002 --parallel -o log/20/390.a -o log/20/390.b -o log/20/390.c > log/20/stdout390 2> log/20/stderr390 === End of file commands.log === Start of file ftp_server.log 19:26:45.057804 ====> Client connect 19:26:45.058015 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:45.058261 < "USER anonymous" 19:26:45.058292 > "331 We are happy you popped in![CR][LF]" 19:26:45.058442 < "PASS ftp@example.com" 19:26:45.058466 > "230 Welcome you silly person[CR][LF]" 19:26:45.058605 < "PWD" 19:26:45.058634 > "257 "/" is current directory[CR][LF]" 19:26:45.058792 < "EPSV" 19:26:45.058813 ====> Passive DATA channel requested by client 19:26:45.058825 DATA sockfilt for passive data channel starting... 19:26:45.068743 DATA sockfilt for passive data channel started (pid 101378) 19:26:45.068878 DATA sockfilt for passive data channel listens on port 38133 19:26:45.068919 > "229 Entering Passive Mode (|||38133|)[CR][LF]" 19:26:45.068937 Client has been notified that upcoming DATA connection is awaited on port 38133 19:26:45.071079 Client connects to port 38133 19:26:45.071129 ====> Client established passive DATA connection on port 38133 19:26:45.071224 < "TYPE I" 19:26:45.071255 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:45.071423 < "SIZE verifiedserver" 19:26:45.071456 > "213 17[CR][LF]" 19:26:45.071594 < "RETR verifiedserver" 19:26:45.071623 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:45.071711 =====> Closing passive DATA connection... 19:26:45.071726 Server disconnects passive DATA connection 19:26:45.071834 Server disconnected passive DATA connection 19:26:45.071852 DATA sockfilt for passive data channel quits (pid 101378) 19:26:45.072108 DATA sockfilt for passive data channel quit (pid 101378) 19:26:45.072138 =====> Closed passive DATA connection 19:26:45.072167 > "226 File transfer complete[CR][LF]" 19:26:45.125492 < "QUIT" 19:26:45.125559 > "221 bye bye baby[CR][LF]" 19:26:45.148717 MAIN sockfilt said DISC 19:26:45.152038 ====> Client disconnected 19:26:45.152175 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:44.663456 ====> Client connect 19:26:44.663882 Received DATA (on stdin) 19:26:44.663895 > 146 bytes data, server => client 19:26:44.663906 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:44.663916 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:44.663925 '220 \___|\___/|_| \_\_____|\r\n' 19:26:44.663996 < 16 bytes data, client => server 19:26:44.664007 'USER anonymous\r\n' 19:26:44.664148 Received DATA (on stdin) 19:26:44.664160 > 33 bytes data, server => client 19:26:44.664170 '331 We are happy you popped in!\r\n' 19:26:44.664219 < 22 bytes data, client => server 19:26:44.664229 'PASS ftp@example.com\r\n' 19:26:44.664319 Received DATA (on stdin) 19:26:44.664329 > 30 bytes data, server => client 19:26:44.664339 '230 Welcome you silly person\r\n' 19:26:44.664384 < 5 bytes data, client => server 19:26:44.664393 'PWD\r\n' 19:26:44.664488 Received DATA (on stdin) 19:26:44.664499 > 30 bytes data, server => client 19:26:44.664520 '257 "/" is current directory\r\n' 19:26:44.664574 < 6 bytes data, client => server 19:26:44.664583 'EPSV\r\n' 19:26:44.675170 Received DATA (on stdin) 19:26:44.675207 > 39 bytes data, server => client 19:26:44.675217 '229 Entering Passive Mode (|||38133|)\r\n' 19:26:44.675411 < 8 bytes data, client => server 19:26:44.675420 'TYPE I\r\n' 19:26:44.677114 Received DATA (on stdin) 19:26:44.677126 > 33 bytes data, server => client 19:26:44.677136 '200 I modify TYPE as you wanted\r\n' 19:26:44.677200 < 21 bytes data, client => server 19:26:44.677210 'SIZE verifiedserver\r\n' 19:26:44.677313 Received DATA (on stdin) 19:26:44.677322 > 8 bytes data, server => client 19:26:44.677332 '213 17\r\n' 19:26:44.677378 < 21 bytes data, client => server 19:26:44.677388 'RETR verifiedserver\r\n' 19:26:44.678031 Received DATA (on stdin) 19:26:44.678044 > 29 bytes data, server => client 19:26:44.678054 '150 Binary junk (17 bytes).\r\n' 19:26:44.678081 Received DATA (on stdin) 19:26:44.678092 > 28 bytes data, server => client 19:26:44.678103 '226 File transfer complete\r\n' 19:26:44.728012 < 6 bytes data, client => server 19:26:44.728045 'QUIT\r\n' 19:26:44.741218 Received DATA (on stdin) 19:26:44.741254 > 18 bytes data, server => client 19:26:44.741265 '221 bye bye baby\r\n' 19:26:44.747890 ====> Client disconnect 19:26:44.758070 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:45.668651 Running IPv4 version 19:26:45.668732 Listening on port 38133 19:26:45.668783 Wrote pid 101378 to log/20/server/ftp_sockdata.pid 19:26:45.674528 Received PING (on stdin) 19:26:45.674641 Received PORT (on stdin) 19:26:45.675384 ====> Client connect 19:26:45.677586 Received DATA (on stdin) 19:26:45.677597 > 17 bytes data, server => client 19:26:45.677606 'WE ROOLZ: 84833\r\n' 19:26:45.677632 Received DISC (on stdin) 19:26:45.677643 ====> Client forcibly disconnected 19:26:45.677715 Received QUIT (on stdin) 19:26:45.677724 quits 19:26:45.677792 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:26:44.597903 ====> Client connect 19:26:44.597945 accept_connection 3 returned 4 19:26:44.597968 Read 93 bytes 19:26:44.597978 Process 93 bytes request 19:26:44.597991 Got request: GET /verifiedserver HTTP/1.1 19:26:44.598000 Are-we-friendly question received 19:26:44.598027 Wrote request (93 bytes) input to log/20/server.input 19:26:44.598044 Identifying ourselves as friends 19:26:44.598121 Response sent (56 bytes) and written to log/20/server.response 19:26:44.598132 special request received, no persistency 19:26:44.598140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 390 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file test390.txt hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind396 ../src/curl -q --output log/19/curl396.out --include --trace-ascii log/19/trace396 --trace-time http://127.0.0.1:46497/396 --compressed > log/19/stdout396 2> log/19/stderr396 le!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile === End of file test390.txt === Start of file valgrind390 ==101431== ==101431== Process terminating with default action of signal 4 (SIGILL) ==101431== Illegal opcode at address 0x492B75F ==101431== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101431== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101431== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101431== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101431== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101431== by 0x49908EB: curl_version_info (version.c:600) ==101431== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101431== by 0x4003269: main (tool_main.c:195) === End of file valgrind390 test 0396 [HTTP GET zstd compressed content] ../libtool CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind393 ../src/curl -q --output log/6/curl393.out --include --trace-ascii log/6/trace393 --trace-time http://127.0.0.1:33935/393 --max-filesize 2000000 > log/6/stdout393 2> log/6/stderr393 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:40921/394 > log/12/stdout394 2> log/12/stderr394 --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind396 ../src/curl -q --output log/19/curl396.out --include --trace-ascii log/19/trace396 --trace-time http://127.0.0.1:46497/396 --compressed > log/19/stdout396 2> log/19/stderr396 396: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind396 ../src/curl -q --output log/19/curl396.out --include --trace-ascii log/19/trace396 --trace-time http://127.0.0.1:46497/396 --compressed > log/19/stdout396 2> log/19/stderr396 === End of file commands.log === Start of file http_server.log 19:26:45.123429 ====> Client connect 19:26:45.123466 accept_connection 3 returned 4 19:26:45.123488 Read 93 bytes 19:26:45.123498 Process 93 bytes request 19:26:45.123510 Got request: GET /verifiedserver HTTP/1.1 19:26:45.123519 Are-we-friendly question received 19:26:45.123547 Wrote request (93 bytes) input to log/19/server.input 19:26:45.123564 Identifying ourselves as friends 19:26:45.123630 Response sent (56 bytes) and written to log/19/server.response 19:26:45.123640 special request received, no persistency 19:26:45.123648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 46946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 396 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind396 ==101716== ==101716== Process terminating with default action of signal 4 (SIGILL) ==101716== Illegal opcode at address 0x492B75F ==101716== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101716== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101716== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101716== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101716== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101716== by 0x49908EB: curl_version_info (version.c:600) ==101716== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101716== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101716== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101716== by 0x4003269: main (tool_main.c:195) === End of file valgrind396 test 0393 [HTTP max-filesize and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind393 ../src/curl -q --output log/6/curl393.out --include --trace-ascii log/6/trace393 --trace-time http://127.0.0.1:33935/393 --max-filesize 2000000 > log/6/stdout393 2> log/6/stderr393 393: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind393 ../src/curl -q --output log/6/curl393.out --include --trace-ascii log/6/trace393 --trace-time http://127.0.0.1:33935/393 --max-filesize 2000000 > log/6/stdout393 2> log/6/stderr393 === End of file commands.log === Start of file http_server.log 19:26:44.977701 ====> Client connect 19:26:44.977733 accept_connection 3 returned 4 19:26:44.977881 Read 93 bytes 19:26:44.977894 Process 93 bytes request 19:26:44.977907 Got request: GET /verifiedserver HTTP/1.1 19:26:44.977922 Are-we-friendly question received 19:26:44.977956 Wrote request (93 bytes) input to log/6/server.input 19:26:44.977973 Identifying ourselves as friends 19:26:44.978031 Response sent (56 bytes) and written to log/6/server.response 19:26:44.978040 special request received, no persistency 19:26:44.978048 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 46242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 393 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind393 ==101577== ==101577== Process terminating with default action of signal 4 (SIGILL) ==101577== Illegal opcode at address 0x492B75F ==101577== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101577== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101577== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101577== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101577== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101577== by 0x49908EB: curl_version_info (version.c:600) ==101577== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101577== by 0x4003269: main (tool_main.c:195) === End of file valgrind393 test 0394 [HTTP with rubbish in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:40921/394 > log/12/stdout394 2> log/12/stderr394 394: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:40921/394 > log/12/stdout394 2> log/12/stderr394 === End of file commands.log === Start of file http_server.log 19:26:45.046817 ====> Client connect 19:26:45.046877 accept_connection 3 returned 4 19:26:45.046898 Read 93 bytes 19:26:45.046908 Process 93 bytes request 19:26:45.046920 Got request: GET /verifiedserver HTTP/1.1 19:26:45.046929 Are-we-friendly question received 19:26:45.046963 Wrote request (93 bytes) input to log/12/server.input 19:26:45.046982 Identifying ourselves as friends 19:26:45.047044 Response sent (56 bytes) and written to log/12/server.response 19:26:45.047054 special request received, no persistency 19:26:45.047062 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38216CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind392 ../src/curl -q --output log/24/curl392.out --include --trace-ascii log/24/trace392 --trace-time -4 http://localhost:38895/392 -b none http://localhost:38895/392 > log/24/stdout392 2> log/24/stderr392 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind409 ../src/curl -q --output log/13/curl409.out --include --trace-ascii log/13/trace409 --trace-time http://foo.co.uk:38821/409 -b log/13/cookies.txt --resolve foo.co.uk:38821:127.0.0.1 > log/13/stdout409 2> log/13/stderr409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind397 ../src/curl -q --output log/4/curl397.out --include --trace-ascii log/4/trace397 --trace-time http://127.0.0.1:35735/397 --compressed > log/4/stdout397 2> log/4/stderr397 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 394 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind394 ==101640== ==101640== Process terminating with default action of signal 4 (SIGILL) ==101640== Illegal opcode at address 0x492B75F ==101640== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101640== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101640== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101640== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101640== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101640== by 0x49908EB: curl_version_info (version.c:600) ==101640== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101640== by 0x4003269: main (tool_main.c:195) === End of file valgrind394 setenv TZ = GMT test 0392 [HTTP secure cookies over localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind392 ../src/curl -q --output log/24/curl392.out --include --trace-ascii log/24/trace392 --trace-time -4 http://localhost:38895/392 -b none http://localhost:38895/392 > log/24/stdout392 2> log/24/stderr392 392: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind392 ../src/curl -q --output log/24/curl392.out --include --trace-ascii log/24/trace392 --trace-time -4 http://localhost:38895/392 -b none http://localhost:38895/392 > log/24/stdout392 2> log/24/stderr392 === End of file commands.log === Start of file http_server.log 19:26:44.824623 ====> Client connect 19:26:44.824664 accept_connection 3 returned 4 19:26:44.824690 Read 93 bytes 19:26:44.824702 Process 93 bytes request 19:26:44.824716 Got request: GET /verifiedserver HTTP/1.1 19:26:44.824726 Are-we-friendly question received 19:26:44.824756 Wrote request (93 bytes) input to log/24/server.input 19:26:44.824775 Identifying ourselves as friends 19:26:44.824869 Response sent (56 bytes) and written to log/24/server.response 19:26:44.824882 special request received, no persistency 19:26:44.824891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 58646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 392 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind392 ==101445== ==101445== Process terminating with default action of signal 4 (SIGILL) ==101445== Illegal opcode at address 0x492B75F ==101445== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101445== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101445== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101445== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101445== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101445== by 0x49908EB: curl_version_info (version.c:600) ==101445== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101445== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101445== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101445== by 0x4003269: main (tool_main.c:195) === End of file valgrind392 test 0409 [Load cookies from file where some are PSL domains] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind409 ../src/curl -q --output log/13/curl409.out --include --trace-ascii log/13/trace409 --trace-time http://foo.co.uk:38821/409 -b log/13/cookies.txt --resolve foo.co.uk:38821:127.0.0.1 > log/13/stdout409 2> log/13/stderr409 409: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 409 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind409 ../src/curl -q --output log/13/curl409.out --include --trace-ascii log/13/trace409 --trace-time http://foo.co.uk:38821/409 -b log/13/cookies.txt --resolve foo.co.uk:38821:127.0.0.1 > log/13/stdout409 2> log/13/stderr409 === End of file commands.log === Start of file cookies.txt .co.uk TRUE / FALSE 0 bad not-allowed foo.co.uk TRUE / FALSE 0 good allowed === End of file cookies.txt === Start of file http_server.log 19:26:45.698164 ====> Client connect 19:26:45.698207 accept_connection 3 returned 4 19:26:45.698232 Read 93 bytes 19:26:45.698241 Process 93 bytes request 19:26:45.698252 Got request: GET /verifiedserver HTTP/1.1 19:26:45.698259 Are-we-friendly question received 19:26:45.698281 Wrote request (93 bytes) input to log/13/server.input 19:26:45.698294 Identifying ourselves as friends 19:26:45.698355 Response sent (56 bytes) and written to log/13/server.response 19:26:45.698362 special request received, no persistency 19:26:45.698369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 50714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 409 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind409 ==102156== ==102156== Process terminating with default action of signal 4 (SIGILL) ==102156== Illegal opcode at address 0x492B75F ==102156== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102156== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102156== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102156== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102156== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102156== by 0x49908EB: curl_version_info (version.c:600) ==102156== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102156== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102156== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102156== by 0x4003269: main (tool_main.c:195) === End of file valgrind409 test 0397 [HTTP GET zstd compressed content of siCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind391 ../src/curl -q --output log/18/curl391.out --include --trace-ascii log/18/trace391 --trace-time http://127.0.0.1:43739/../../391 --path-as-is -L > log/18/stdout391 2> log/18/stderr391 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind395 ../src/curl -q --output log/10/curl395.out --include --trace-ascii log/10/trace395 --trace-time http://127.0.0.1:40913/395 > log/10/stdout395 2> log/10/stderr395 ze more than CURL_MAX_WRITE_SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind397 ../src/curl -q --output log/4/curl397.out --include --trace-ascii log/4/trace397 --trace-time http://127.0.0.1:35735/397 --compressed > log/4/stdout397 2> log/4/stderr397 397: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind397 ../src/curl -q --output log/4/curl397.out --include --trace-ascii log/4/trace397 --trace-time http://127.0.0.1:35735/397 --compressed > log/4/stdout397 2> log/4/stderr397 === End of file commands.log === Start of file http_server.log 19:26:46.331428 ====> Client connect 19:26:46.331478 accept_connection 3 returned 4 19:26:46.331504 Read 93 bytes 19:26:46.331515 Process 93 bytes request 19:26:46.331529 Got request: GET /verifiedserver HTTP/1.1 19:26:46.331539 Are-we-friendly question received 19:26:46.331567 Wrote request (93 bytes) input to log/4/server.input 19:26:46.331584 Identifying ourselves as friends 19:26:46.331663 Response sent (56 bytes) and written to log/4/server.response 19:26:46.331676 special request received, no persistency 19:26:46.331685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 56034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 397 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind397 ==101910== ==101910== Process terminating with default action of signal 4 (SIGILL) ==101910== Illegal opcode at address 0x492B75F ==101910== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101910== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101910== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101910== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101910== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101910== by 0x49908EB: curl_version_info (version.c:600) ==101910== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101910== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101910== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101910== by 0x4003269: main (tool_main.c:195) === End of file valgrind397 test 0391 [--path-as-is with redirect, keeping dotdots] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind391 ../src/curl -q --output log/18/curl391.out --include --trace-ascii log/18/trace391 --trace-time http://127.0.0.1:43739/../../391 --path-as-is -L > log/18/stdout391 2> log/18/stderr391 391: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind391 ../src/curl -q --output log/18/curl391.out --include --trace-ascii log/18/trace391 --trace-time http://127.0.0.1:43739/../../391 --path-as-is -L > log/18/stdout391 2> log/18/stderr391 === End of file commands.log === Start of file http_server.log 19:26:45.807958 ====> Client connect 19:26:45.808003 accept_connection 3 returned 4 19:26:45.808028 Read 93 bytes 19:26:45.808038 Process 93 bytes request 19:26:45.808052 Got request: GET /verifiedserver HTTP/1.1 19:26:45.808060 Are-we-friendly question received 19:26:45.808092 Wrote request (93 bytes) input to log/18/server.input 19:26:45.808111 Identifying ourselves as friends 19:26:45.808194 Response sent (56 bytes) and written to log/18/server.response 19:26:45.808206 special request received, no persistency 19:26:45.808214 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 391 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind391 ==101433== ==101433== Process terminating with default action of signal 4 (SIGILL) ==101433== Illegal opcode at address 0x492B75F ==101433== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101433== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101433== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101433== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101433== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101433== by 0x49908EB: curl_version_info (version.c:600) ==101433== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101433== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101433== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101433== by 0x4003269: main (tool_main.c:195) === End of file valgrind391 test 0395 [HTTP and out-of-range Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind395 ../src/curl -q --output log/10/curl395.out --include --trace-ascii log/10/trace395 --trace-time http://127.0.0.1:40913/395 > log/10/stdout395 2> log/10/stderr395 395: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind395 ../src/curl -q --output log/10/curl395.out --include --trace-ascii log/10/trace395 --trace-time http://127.0.0.1:40913/395 > log/10/stdout395 2> log/10/stderr395 === End of file commands.log === Start of file http_server.log 19:26:45.100922 ====> Client connect 19:26:45.100966 accept_connection 3 returned 4 19:26:45.101137 Read 93 bytes 19:26:45.101153 Process 93 bytes request 19:26:45.101167 Got request: GET /verifiedserver HTTP/1.1 19:26:45.101176 Are-we-friendly question received 19:26:45.101212 Wrote request (93 bytes) input to log/10/server.input 19:26:45.101231 Identifying ourselves as friends 19:26:45.101323 Response sent (56 bytes) and written to log/10/server.response 19:26:45.101336 special request received, no persistency 19:26:45.101345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind398 ../src/curl -q --output log/23/curl398.out --include --trace-ascii log/23/trace398 --trace-time http://127.0.0.1:44711/398 > log/23/stdout398 2> log/23/stderr398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind402 ../src/curl -q --output log/1/curl402.out --include --trace-ascii log/1/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:40221/402 > log/1/stdout402 2> log/1/stderr402 port 40913) from 127.0.0.1 port 56082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 395 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind395 ==101695== ==101695== Process terminating with default action of signal 4 (SIGILL) ==101695== Illegal opcode at address 0x492B75F ==101695== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101695== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101695== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101695== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101695== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101695== by 0x49908EB: curl_version_info (version.c:600) ==101695== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101695== by 0x4003269: main (tool_main.c:195) === End of file valgrind395 test 0398 [Reject HTTP/1.1 response with colon-less header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind398 ../src/curl -q --output log/23/curl398.out --include --trace-ascii log/23/trace398 --trace-time http://127.0.0.1:44711/398 > log/23/stdout398 2> log/23/stderr398 398: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind398 ../src/curl -q --output log/23/curl398.out --include --trace-ascii log/23/trace398 --trace-time http://127.0.0.1:44711/398 > log/23/stdout398 2> log/23/stderr398 === End of file commands.log === Start of file http_server.log 19:26:45.340221 ====> Client connect 19:26:45.340254 accept_connection 3 returned 4 19:26:45.340274 Read 93 bytes 19:26:45.340284 Process 93 bytes request 19:26:45.340296 Got request: GET /verifiedserver HTTP/1.1 19:26:45.340304 Are-we-friendly question received 19:26:45.340329 Wrote request (93 bytes) input to log/23/server.input 19:26:45.340344 Identifying ourselves as friends 19:26:45.340399 Response sent (56 bytes) and written to log/23/server.response 19:26:45.340408 special request received, no persistency 19:26:45.340415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 398 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind398 ==101909== ==101909== Process terminating with default action of signal 4 (SIGILL) ==101909== Illegal opcode at address 0x492B75F ==101909== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101909== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101909== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101909== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101909== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101909== by 0x49908EB: curl_version_info (version.c:600) ==101909== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101909== by 0x4003269: main (tool_main.c:195) === End of file valgrind398 test 0402 [FTP SSL required on non-SSL server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind402 ../src/curl -q --output log/1/curl402.out --include --trace-ascii log/1/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:40221/402 > log/1/stdout402 2> log/1/stderr402 402: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind402 ../src/curl -q --output log/1/curl402.out --include --trace-ascii log/1/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:40221/402 > log/1/stdout402 2> log/1/stderr402 === End of file commands.log === Start of file ftp_server.log 19:26:45.825787 ====> Client connect 19:26:45.826040 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:45.826358 < "USER anonymous" 19:26:45.826402 > "331 We are happy you popped in![CR][LF]" 19:26:45.826608 < "PASS ftp@example.com" 19:26:45.826644 > "230 Welcome you silly person[CR][LF]" 19:26:45.826816 < "PWD" 19:26:45.826854 > "257 "/" is current directory[CR][LF]" 19:26:45.827030 < "EPSV" 19:26:45.827054 ====> Passive DATA channel requested by client 19:26:45.827069 DATA sockfilt for passive data channel starting... 19:26:45.829544 DATA sockfilt for passive data channel started (pid 101964) 19:26:45.829673 DATA sockfilt for passive data channel listens on port 39439 19:26:45.829942 > "229 Entering Passive Mode (|||39439|)[CR][LF]" 19:26:45.829973 Client has been notified that upcoming DATA connection is awaited on port 39439 19:26:45.830043 Client connects to port 39439 19:26:45.830075 ====> Client established passive DATA connection on port 39439 19:26:45.830164 < "TYPE I" 19:26:45.830203 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:45.830395 < "SIZE verifiedserver" 19:26:45.830441 > "213 17[CR][LF]" 19:26:45.830634 < "RETR verifiedserver" 19:26:45.830673 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:45.830772 =====> Closing passive DATA connection... 19:26:45.830795 Server disconnects passive DATA connection 19:26:45.831057 Server disconnected passive DATA connection 19:26:45.831087 DATA sockfilt for passive data channel quits (pid 101964) 19:26:45.831335 DATA sockfilt for passive data channel quit (pid 101964) 19:26:45.831365 =====> Closed passive DATA connection 19:26:45.831396 > "226 File transfer complete[CR][LF]" 19:26:45.882326 < "QUIT" 19:26:45.882390 > "221 bye bye baby[CR][LF]" 19:26:45.883707 MAIN sockfilt said DISC 19:26:45.883747 ====> Client disconnected 19:26:45.883839 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:46.431675 ====> Client connect 19:26:46.432089 Received DATA (on stdin) 19:26:46.432105 > 146 bytes data, server => client 19:26:46.432116 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:46.432126 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:46.432135 '220 \___|\___/|_| \_\_____|\r\n' 19:26:46.432220 < 16 bytes data, client => serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind405 ../src/curl -q --output log/14/curl405.out --include --trace-ascii log/14/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:37411/path/to/file/405 > log/14/stdout405 2> log/14/stderr405 r 19:26:46.432235 'USER anonymous\r\n' 19:26:46.432437 Received DATA (on stdin) 19:26:46.432450 > 33 bytes data, server => client 19:26:46.432460 '331 We are happy you popped in!\r\n' 19:26:46.432524 < 22 bytes data, client => server 19:26:46.432536 'PASS ftp@example.com\r\n' 19:26:46.432675 Received DATA (on stdin) 19:26:46.432686 > 30 bytes data, server => client 19:26:46.432696 '230 Welcome you silly person\r\n' 19:26:46.432750 < 5 bytes data, client => server 19:26:46.432761 'PWD\r\n' 19:26:46.432882 Received DATA (on stdin) 19:26:46.432893 > 30 bytes data, server => client 19:26:46.432903 '257 "/" is current directory\r\n' 19:26:46.432966 < 6 bytes data, client => server 19:26:46.432978 'EPSV\r\n' 19:26:46.435726 Received DATA (on stdin) 19:26:46.435742 > 39 bytes data, server => client 19:26:46.435762 '229 Entering Passive Mode (|||39439|)\r\n' 19:26:46.435897 < 8 bytes data, client => server 19:26:46.435913 'TYPE I\r\n' 19:26:46.436238 Received DATA (on stdin) 19:26:46.436251 > 33 bytes data, server => client 19:26:46.436261 '200 I modify TYPE as you wanted\r\n' 19:26:46.436322 < 21 bytes data, client => server 19:26:46.436337 'SIZE verifiedserver\r\n' 19:26:46.436477 Received DATA (on stdin) 19:26:46.436490 > 8 bytes data, server => client 19:26:46.436504 '213 17\r\n' 19:26:46.436564 < 21 bytes data, client => server 19:26:46.436579 'RETR verifiedserver\r\n' 19:26:46.436829 Received DATA (on stdin) 19:26:46.436841 > 29 bytes data, server => client 19:26:46.436852 '150 Binary junk (17 bytes).\r\n' 19:26:46.437430 Received DATA (on stdin) 19:26:46.437443 > 28 bytes data, server => client 19:26:46.437453 '226 File transfer complete\r\n' 19:26:46.488165 < 6 bytes data, client => server 19:26:46.488197 'QUIT\r\n' 19:26:46.488439 Received DATA (on stdin) 19:26:46.488453 > 18 bytes data, server => client 19:26:46.488463 '221 bye bye baby\r\n' 19:26:46.489690 ====> Client disconnect 19:26:46.494722 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:45.435267 Running IPv4 version 19:26:45.435447 Listening on port 39439 19:26:45.435491 Wrote pid 101964 to log/1/server/ftp_sockdata.pid 19:26:45.435517 Received PING (on stdin) 19:26:45.435604 Received PORT (on stdin) 19:26:45.436023 ====> Client connect 19:26:45.436916 Received DATA (on stdin) 19:26:45.436930 > 17 bytes data, server => client 19:26:45.436940 'WE ROOLZ: 84935\r\n' 19:26:45.436970 Received DISC (on stdin) 19:26:45.436982 ====> Client forcibly disconnected 19:26:45.437128 Received QUIT (on stdin) 19:26:45.437140 quits 19:26:45.437212 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==102022== ==102022== Process terminating with default action of signal 4 (SIGILL) ==102022== Illegal opcode at address 0x492B75F ==102022== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102022== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102022== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102022== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102022== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102022== by 0x49908EB: curl_version_info (version.c:600) ==102022== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102022== by 0x4003269: main (tool_main.c:195) === End of file valgrind402 test 0405 [FTPS operation to FTP port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind405 ../src/curl -q --output log/14/curl405.out --include --trace-ascii log/14/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:37411/path/to/file/405 > log/14/stdout405 2> log/14/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/14/ directory after test 405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind405 ../src/curl -q --output log/14/curl405.out --include --trace-ascii log/14/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:37411/path/to/file/405 > log/14/stdout405 2> log/14/stderr405 === End of file commands.log === Start of file ftp_server.log 19:26:46.012144 ====> Client connect 19:26:46.012366 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:46.019007 < "USER anonymous" 19:26:46.019078 > "331 We are happy you popped in![CR][LF]" 19:26:46.019302 < "PASS ftp@example.com" 19:26:46.019341 > "230 Welcome you silly person[CR][LF]" 19:26:46.019532 < "PWD" 19:26:46.019572 > "257 "/" is current directory[CR][LF]" 19:26:46.019773 < "EPSV" 19:26:46.019803 ====> Passive DATA channel requested by client 19:26:46.019819 DATA sockfilt for passive data channel starting... 19:26:46.033924 DATA sockfilt for passive data channel started (pid 102119) 19:26:46.035424 DATA sockfilt for passive data channel listens on port 34987 19:26:46.035489 > "229 Entering Passive Mode (|||34987|)[CR][LF]" 19:26:46.035510 Client has been notified that upcoming DATA connection is awaited on port 34987 19:26:46.035790 Client connects to port 34987 19:26:46.035818 ====> Client established passive DATA connection on port 34987 19:26:46.035909 < "TYPE I" 19:26:46.035939 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:46.036087 < "SIZE verifiedserver" 19:26:46.036121 > "213 17[CR][LF]" 19:26:46.036258 < "RETR verifiedserver" 19:26:46.036289 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:46.036388 =====> Closing passive DATA connection... 19:26:46.036403 Server disconnects passive DATA connection 19:26:46.042299 Server disconnected passive DATA connection 19:26:46.042366 DATA sockfilt for passive data channel quits (pid 102119) 19:26:46.042697 DATA sockfilt for passive data channel quit (pid 102119) 19:26:46.042729 =====> Closed passive DATA connection 19:26:46.042774 > "226 File transfer complete[CR][LF]" 19:26:46.082393 < "QUIT" 19:26:46.082456 > "221 bye bye baby[CR][LF]" 19:26:46.083708 MAIN sockfilt said DISC 19:26:46.083742 ====> Client disconnected 19:26:46.083841 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:46.618093 ====> Client connect 19:26:46.618456 Received DATA (on stdin) 19:26:46.618472 > 146 bytes data, server => client 19:26:46.618483 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:46.618494 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:46.618503 '220 \___|\___/|_| \_\_____|\r\n' 19:26:46.624806 < 16 bytes data, client => server 19:26:46.624842 'USER anonymous\r\n' 19:26:46.625164 Received DATA (on stdin) 19:26:46.625179 > 33 bytes data, server => client 19:26:46.625190 '331 We are happy you popped in!\r\n' 19:26:46.625266 < 22 bytes data, client => server 19:26:46.625283 'PASS ftp@example.com\r\n' 19:26:46.625419 Received DATA (on stdin) 19:26:46.625432 > 30 bytes data, server => client 19:26:46.625443 '230 Welcome you silly person\r\n' 19:26:46.625504 < 5 bytes data, client => server 19:26:46.625519 'PWD\r\n' 19:26:46.625649 Received DATA (on stdin) 19:26:46.625662 > 30 bytes data, server => client 19:26:46.625673 '257 "/" is current directory\r\n' 19:26:46.625747 < 6 bytes data, client => server 19:26:46.625763 'EPSV\r\n' 19:26:46.641598 Received DATA (on stdin) 19:26:46.641618 > 39 bytes data, server => client 19:26:46.641629 '229 Entering Passive Mode (|||34987|)\r\n' 19:26:46.641808 < 8 bytes data, client => server 19:26:46.641821 'TYPE I\r\n' 19:26:46.642015 Received DATA (on stdin) 19:26:46.642025 > 33 bytes data, server => client 19:26:46.642035 '200 I modify TYPE as you wanted\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind399 ../src/curl -q --output log/3/curl399.out --include --trace-ascii log/3/trace399 --trace-time -K log/3/input%TESTNUM > log/3/stdout399 2> log/3/stderr399 19:26:46.642085 < 21 bytes data, client => server 19:26:46.642095 'SIZE verifiedserver\r\n' 19:26:46.642193 Received DATA (on stdin) 19:26:46.642203 > 8 bytes data, server => client 19:26:46.642212 '213 17\r\n' 19:26:46.642258 < 21 bytes data, client => server 19:26:46.642267 'RETR verifiedserver\r\n' 19:26:46.642477 Received DATA (on stdin) 19:26:46.642487 > 29 bytes data, server => client 19:26:46.642496 '150 Binary junk (17 bytes).\r\n' 19:26:46.651425 Received DATA (on stdin) 19:26:46.651471 > 28 bytes data, server => client 19:26:46.651484 '226 File transfer complete\r\n' 19:26:46.688268 < 6 bytes data, client => server 19:26:46.688305 'QUIT\r\n' 19:26:46.688553 Received DATA (on stdin) 19:26:46.688567 > 18 bytes data, server => client 19:26:46.688578 '221 bye bye baby\r\n' 19:26:46.689740 ====> Client disconnect 19:26:46.689937 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:46.632260 Running IPv4 version 19:26:46.632357 Listening on port 34987 19:26:46.632397 Wrote pid 102119 to log/14/server/ftp_sockdata.pid 19:26:46.638087 Received PING (on stdin) 19:26:46.640081 Received PORT (on stdin) 19:26:46.641785 ====> Client connect 19:26:46.648074 Received DATA (on stdin) 19:26:46.648109 > 17 bytes data, server => client 19:26:46.648120 'WE ROOLZ: 85053\r\n' 19:26:46.648186 Received DISC (on stdin) 19:26:46.648206 ====> Client forcibly disconnected 19:26:46.648464 Received QUIT (on stdin) 19:26:46.648477 quits 19:26:46.648568 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==102153== ==102153== Process terminating with default action of signal 4 (SIGILL) ==102153== Illegal opcode at address 0x492B75F ==102153== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102153== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102153== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102153== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102153== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102153== by 0x49908EB: curl_version_info (version.c:600) ==102153== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102153== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102153== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102153== by 0x4003269: main (tool_main.c:195) === End of file valgrind405 test 0399 [65536-byte-long hostname in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind399 ../src/curl -q --output log/3/curl399.out --include --trace-ascii log/3/trace399 --trace-time -K log/3/input%TESTNUM > log/3/stdout399 2> log/3/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/3/ directory after test 399 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind399 ../src/curl -q --output log/3/curl399.out --include --trace-ascii log/3/trace399 --trace-time -K log/3/input%TESTNUM > log/3/stdout399 2> log/3/stderr399 === End of file commands.log === Start of file http_server.log 19:26:46.338094 ====> Client connect 19:26:46.338127 accept_connection 3 returned 4 19:26:46.338146 Read 93 bytes 19:26:46.338155 Process 93 bytes request 19:26:46.338166 Got request: GET /verifiedserver HTTP/1.1 19:26:46.338174 Are-we-friendly question received 19:26:46.338198 Wrote request (93 bytes) input to log/3/server.input 19:26:46.338213 Identifying ourselves as friends 19:26:46.338269 Response sent (56 bytes) and written to log/3/server.response 19:26:46.338277 special request received, no persistency 19:26:46.338284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 56884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:40321/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/399 === End of file input%TESTNUM === Start of file server.cmd Testnum 399 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind399 ==101899== ==101899== Process terminating with default action of signal 4 (SIGILL) ==101899== Illegal opcode at address 0x492B75F ==101899== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==101899== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==101899== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==101899== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==101899== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==101899== by 0x49908EB: curl_version_info (version.c:600) ==101899== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==101899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==101899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==101899== by 0x4003269: main (tool_main.c:195) === End of file valgrind399 test 0419 [--dump-header to file that cannot be created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:40321/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/15/ directory after test 419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind419 ../src/curl -q --output log/15/curl419.out --include --trace-ascii log/15/trace419 --trace-time http://127.0.0.1:40321/419 -D loggg/save-here/fails > log/15/stdout419 2> log/15/stderr419 === End of file commands.log === Start of file http_server.log 19:26:47.547523 ====> Client connect 19:26:47.547559 accept_connection 3 returned 4 19:26:47.547581 Read 93 bytes 19:26:47.547591 Process 93 bytes request 19:26:47.547603 Got request: GET /verifiedserver HTTP/1.1 19:26:47.547612 Are-we-friendly question received 19:26:47.547638 Wrote request (93 bytes) input to log/15/server.input 19:26:47.547659 Identifying ourselves as friends 19:26:47.547727 Response sent (56 bytes) and written to log/15/server.response 19:26:47.547737 special request received, no persistency 19:26:47.547745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 42158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind419 ==102535== ==102535== Process terminating with default action of signal 4 (SIGILL) ==102535== Illegal opcode at address 0x492B75F ==102535== at 0x492B7CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind411 ../src/curl -q --output log/22/curl411.out --include --trace-ascii log/22/trace411 --trace-time -K log/22/missing http://localhost > log/22/stdout411 2> log/22/stderr411 5F: formatf.constprop.2 (mprintf.c:1115) ==102535== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102535== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102535== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102535== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102535== by 0x49908EB: curl_version_info (version.c:600) ==102535== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102535== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102535== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102535== by 0x4003269: main (tool_main.c:195) === End of file valgrind419 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-time http://127.0.0.1:34531/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 test 0411 [-K with missing file causes error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind411 ../src/curl -q --output log/22/curl411.out --include --trace-ascii log/22/trace411 --trace-time -K log/22/missing http://localhost > log/22/stdout411 2> log/22/stderr411 411: stderr FAILED: --- log/22/check-expected 2026-10-15 19:26:49.020507264 +0000 +++ log/22/check-generated 2026-10-15 19:26:49.018126722 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/22/missing'[CR][LF] -curl: option -K: error encountered when reading a file[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/22/ directory after test 411 === Start of file check-expected curl: cannot read config from 'log/22/missing'[CR][LF] curl: option -K: error encountered when reading a file[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind411 ../src/curl -q --output log/22/curl411.out --include --trace-ascii log/22/trace411 --trace-time -K log/22/missing http://localhost > log/22/stdout411 2> log/22/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==102162== ==102162== Process terminating with default action of signal 4 (SIGILL) ==102162== Illegal opcode at address 0x492B75F ==102162== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102162== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102162== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102162== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102162== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102162== by 0x49908EB: curl_version_info (version.c:600) ==102162== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102162== by 0x4003269: main (tool_main.c:195) === End of file valgrind411 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:44467/415 > log/8/stdout415 2> log/8/stderr415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind421 ../src/curl -q --output log/5/curl421.out --include --trace-ascii log/5/trace421 --trace-time http://127.0.0.1:37089/421 -w '%{stderr}%{header_json}\n' -s > log/5/stdout421 2> log/5/stderr421 test 0418 [Response with multiple Transfer-Encoding headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-time http://127.0.0.1:34531/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 418: stderr FAILED: --- log/2/check-expected 2026-10-15 19:26:49.113417013 +0000 +++ log/2/check-generated 2026-10-15 19:26:49.111439505 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response exceeding limit of 5 transfer encodings[CR][LF] == Contents of files in the log/2/ directory after test 418 === Start of file check-expected curl: (61) Reject response exceeding limit of 5 transfer encodings[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind418 ../src/curl -q --output log/2/curl418.out --include --trace-ascii log/2/trace418 --trace-time http://127.0.0.1:34531/418 -sS --tr-encoding > log/2/stdout418 2> log/2/stderr418 === End of file commands.log === Start of file http_server.log 19:26:47.454993 ====> Client connect 19:26:47.455039 accept_connection 3 returned 4 19:26:47.455064 Read 93 bytes 19:26:47.455074 Process 93 bytes request 19:26:47.455087 Got request: GET /verifiedserver HTTP/1.1 19:26:47.455096 Are-we-friendly question received 19:26:47.455126 Wrote request (93 bytes) input to log/2/server.input 19:26:47.455142 Identifying ourselves as friends 19:26:47.455239 Response sent (56 bytes) and written to log/2/server.response 19:26:47.455250 special request received, no persistency 19:26:47.455259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 35508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind418 ==102484== ==102484== Process terminating with default action of signal 4 (SIGILL) ==102484== Illegal opcode at address 0x492B75F ==102484== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102484== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102484== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102484== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102484== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102484== by 0x49908EB: curl_version_info (version.c:600) ==102484== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102484== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102484== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102484== by 0x4003269: main (tool_main.c:195) === End of file valgrind418 test 0415 [HTTP response with control code then negative Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:44467/415 > log/8/stdout415 2> log/8/stderr415 415: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind415 ../src/curl -q --output log/8/curl415.out --include --trace-ascii log/8/trace415 --trace-time http://127.0.0.1:44467/415 > log/8/stdout415 2> log/8/stderr415 === End of file commands.log === Start of file http_server.log 19:26:46.098273 ====> Client connect 19:26:46.098312 accept_connection 3 returned 4 19:26:46.098335 Read 93 bytes 19:26:46.098346 Process 93 bytes request 19:26:46.098360 Got request: GET /verifiedserver HTTP/1.1 19:26:46.098368 Are-we-friendly question received 19:26:46.098397 Wrote request (93 bytes) input to log/8/server.input 19:26:46.098414 Identifying ourselves as friends 19:26:46.098479 Response sent (56 bytes) and written to log/8/server.response 19:26:46.098488 special request received, no persistency 19:26:46.098497 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 35786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind415 ==102344== ==102344== Process terminating with default action of signal 4 (SIGILL) ==102344== Illegal opcode at address 0x492B75F ==102344== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102344== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102344== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102344== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102344== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102344== by 0x49908EB: curl_version_info (version.c:600) ==102344== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102344== by 0x4003269: main (tool_main.c:195) === End of file valgrind415 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind416 ../src/curl -q --output log/21/curl416.out --include --trace-ascii log/21/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35787/416 > log/21/stdout416 2> log/21/stderr416 test 0421 [HTTP GET multiple headers and %{header_json}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind421 ../src/curl -q --output log/5/curl421.out --include --trace-ascii log/5/trace421 --trace-time http://127.0.0.1:37089/421 -w '%{stderr}%{header_json}\n' -s > log/5/stdout421 2> log/5/stderr421 421: stderr FAILED: --- log/5/check-expected 2026-10-15 19:26:49.237100927 +0000 +++ log/5/check-generated 2026-10-15 19:26:49.234745680 +0000 @@ -1,19 +0,0 @@ -{"server":["nginx"],[CR][LF] -"date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] -"content-type":["application/json"],[CR][LF] -"content-length":["6"],[CR][LF] -"vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] -"access-control-allow-origin":["*"],[CR][LF] -"referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] -"access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] -"access-control-max-age":["1728000"],[CR][LF] -"access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] -"access-control-expose-headers":[""],[CR][LF] -"etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] -"cache-control":["max-age=0, private, must-revalidate"],[CR][LF] -"x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] -"strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] -"x-content-type-options":["nosniff"],[CR][LF] -"x-xss-protection":["1; mode=block"],[CR][LF] -"feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] -}[CR][LF] == Contents of files in the log/5/ directory after test 421 === Start of file check-expected {"server":["nginx"],[CR][LF] "date":["Tue, 07 Mar 2023 15:14:41 GMT"],[CR][LF] "content-type":["application/json"],[CR][LF] "content-length":["6"],[CR][LF] "vary":["Accept-Encoding","Accept-Encoding","Accept"],[CR][LF] "access-control-allow-origin":["*"],[CR][LF] "referrer-policy":["strict-origin-when-cross-origin","strict-origin-when-cross-origin"],[CR][LF] "access-control-allow-methods":["GET, POST, PUT, DELETE, OPTIONS"],[CR][LF] "access-control-max-age":["1728000"],[CR][LF] "access-control-allow-headers":["Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS"],[CR][LF] "access-control-expose-headers":[""],[CR][LF] "etag":["W/\"2678f9ab2ba550d164e7cc014aefd31e\""],[CR][LF] "cache-control":["max-age=0, private, must-revalidate"],[CR][LF] "x-request-id":["375b343b3d2ecf9b442c0daf00fc4a9a"],[CR][LF] "strict-transport-security":["max-age=31536000; includeSubDomains"],[CR][LF] "x-content-type-options":["nosniff"],[CR][LF] "x-xss-protection":["1; mode=block"],[CR][LF] "feature-policy":["accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind421 ../src/curl -q --output log/5/curl421.out --include --trace-ascii log/5/trace421 --trace-time http://127.0.0.1:37089/421 -w '%{stderr}%{header_json}\n' -s > log/5/stdout421 2> log/5/stderr421 === End of file commands.log === Start of file http_server.log 19:26:46.561742 ====> Client connect 19:26:46.561779 accept_connection 3 returned 4 19:26:46.561803 Read 93 bytes 19:26:46.561814 Process 93 bytes request 19:26:46.561827 Got request: GET /verifiedserver HTTP/1.1 19:26:46.561835 Are-we-friendly question received 19:26:46.561864 Wrote request (93 bytes) input to log/5/server.input 19:26:46.561883 Identifying ourselves as friends 19:26:46.561962 Response sent (56 bytes) and written to log/5/server.response 19:26:46.561976 special request received, no persistency 19:26:46.561986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 35790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind421 ==102562== ==102562== Process terminating with default action of signal 4 (SIGILL) ==102562== Illegal opcode at address 0x492B75F ==102562== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102562== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102562== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102562== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102562== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102562== by 0x49908EB: curl_version_info (version.c:600) ==102562== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102562== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102562== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102562== by 0x4003269: main (tool_main.c:195) === End of file valgrind421 test 0416 [FTP growing file support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind416 ../src/curl -q --output log/21/curl416.out --include --trace-ascii log/21/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35787/416 > log/21/stdout416 2> log/21/stderr416 416: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind416 ../src/curl -q --output log/21/curl416.out --include --trace-ascii log/21/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35787/416 > log/21/stdout416 2> log/21/stderr416 === End of file commands.log === Start of file ftp_server.log 19:26:46.745463 ====> Client connect 19:26:46.745671 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:46.745972 < "USER anonymous" 19:26:46.746008 > "331 We are happy you popped in![CR][LF]" 19:26:46.746175 < "PASS ftp@example.com" 19:26:46.746201 > "230 Welcome you silly person[CR][LF]" 19:26:46.746348 < "PWD" 19:26:46.746376 > "257 "/" is current directory[CR][LF]" 19:26:46.746530 < "EPSV" 19:26:46.746555 ====> Passive DATA channel requested by client 19:26:46.746569 DATA sockfilt for passive data channel starting... 19:26:46.762269 DATA sockfilt for passive data channel started (pid 102431) 19:26:46.762420 DATA sockfilt for passive data channel listens on port 35003 19:26:46.762469 > "229 Entering Passive Mode (|||35003|)[CR][LF]" 19:26:46.762485 Client has been notified that upcoming DATA connection is awaited on port 35003 19:26:46.762802 Client connects to port 35003 19:26:46.762831 ====> Client established passive DATA connection on port 35003 19:26:46.762920 < "TYPE I" 19:26:46.762950 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:46.763100 < "SIZE verifiedserver" 19:26:46.763138 > "213 17[CR][LF]" 19:26:46.763285 < "RETR verifiedserver" 19:26:46.763319 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:43733/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:43733/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:43733/ -L > log/9/stdout424 2> log/9/stderr424 46.763408 =====> Closing passive DATA connection... 19:26:46.763424 Server disconnects passive DATA connection 19:26:46.763644 Server disconnected passive DATA connection 19:26:46.763671 DATA sockfilt for passive data channel quits (pid 102431) 19:26:46.763967 DATA sockfilt for passive data channel quit (pid 102431) 19:26:46.763990 =====> Closed passive DATA connection 19:26:46.764017 > "226 File transfer complete[CR][LF]" 19:26:46.828834 < "QUIT" 19:26:46.828895 > "221 bye bye baby[CR][LF]" 19:26:46.833267 MAIN sockfilt said DISC 19:26:46.833316 ====> Client disconnected 19:26:46.833398 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:46.351581 ====> Client connect 19:26:46.351916 Received DATA (on stdin) 19:26:46.351931 > 146 bytes data, server => client 19:26:46.351942 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:46.351953 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:46.351962 '220 \___|\___/|_| \_\_____|\r\n' 19:26:46.352065 < 16 bytes data, client => server 19:26:46.352076 'USER anonymous\r\n' 19:26:46.352243 Received DATA (on stdin) 19:26:46.352258 > 33 bytes data, server => client 19:26:46.352269 '331 We are happy you popped in!\r\n' 19:26:46.352322 < 22 bytes data, client => server 19:26:46.352332 'PASS ftp@example.com\r\n' 19:26:46.352432 Received DATA (on stdin) 19:26:46.352442 > 30 bytes data, server => client 19:26:46.352452 '230 Welcome you silly person\r\n' 19:26:46.352502 < 5 bytes data, client => server 19:26:46.352512 'PWD\r\n' 19:26:46.352607 Received DATA (on stdin) 19:26:46.352617 > 30 bytes data, server => client 19:26:46.352627 '257 "/" is current directory\r\n' 19:26:46.352685 < 6 bytes data, client => server 19:26:46.352694 'EPSV\r\n' 19:26:46.368730 Received DATA (on stdin) 19:26:46.368748 > 39 bytes data, server => client 19:26:46.368759 '229 Entering Passive Mode (|||35003|)\r\n' 19:26:46.368959 < 8 bytes data, client => server 19:26:46.368972 'TYPE I\r\n' 19:26:46.369187 Received DATA (on stdin) 19:26:46.369197 > 33 bytes data, server => client 19:26:46.369208 '200 I modify TYPE as you wanted\r\n' 19:26:46.369257 < 21 bytes data, client => server 19:26:46.369268 'SIZE verifiedserver\r\n' 19:26:46.369374 Received DATA (on stdin) 19:26:46.369384 > 8 bytes data, server => client 19:26:46.369393 '213 17\r\n' 19:26:46.369444 < 21 bytes data, client => server 19:26:46.369454 'RETR verifiedserver\r\n' 19:26:46.369662 Received DATA (on stdin) 19:26:46.369672 > 29 bytes data, server => client 19:26:46.369682 '150 Binary junk (17 bytes).\r\n' 19:26:46.370254 Received DATA (on stdin) 19:26:46.370266 > 28 bytes data, server => client 19:26:46.370276 '226 File transfer complete\r\n' 19:26:46.431606 < 6 bytes data, client => server 19:26:46.431648 'QUIT\r\n' 19:26:46.435154 Received DATA (on stdin) 19:26:46.435169 > 18 bytes data, server => client 19:26:46.435179 '221 bye bye baby\r\n' 19:26:46.439446 ====> Client disconnect 19:26:46.439650 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:46.362347 Running IPv4 version 19:26:46.362449 Listening on port 35003 19:26:46.362586 Wrote pid 102431 to log/21/server/ftp_sockdata.pid 19:26:46.368427 Received PING (on stdin) 19:26:46.368556 Received PORT (on stdin) 19:26:46.368993 ====> Client connect 19:26:46.369707 Received DATA (on stdin) 19:26:46.369719 > 17 bytes data, server => client 19:26:46.369729 'WE ROOLZ: 84694\r\n' 19:26:46.369752 Received DISC (on stdin) 19:26:46.369764 ====> Client forcibly disconnected 19:26:46.369917 Received QUIT (on stdin) 19:26:46.369927 quits 19:26:46.370001 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==102474== ==102474== Process terminating with default action of signal 4 (SIGILL) ==102474== Illegal opcode at address 0x492B75F ==102474== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102474== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102474== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102474== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102474== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102474== by 0x49908EB: curl_version_info (version.c:600) ==102474== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102474== by 0x4003269: main (tool_main.c:195) === End of file valgrind416 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind422 ../src/curl -q --output log/17/curl422.out --include --trace-ascii log/17/trace422 --trace-time -O -I --next http://127.0.0.1:35993/422 > log/17/stdout422 2> log/17/stderr422 test 0424 [-w with urle.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:43733/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:43733/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:43733/ -L > log/9/stdout424 2> log/9/stderr424 424: stdout FAILED: --- log/9/check-expected 2026-10-15 19:26:49.417261672 +0000 +++ log/9/check-generated 2026-10-15 19:26:49.414706046 +0000 @@ -1,4 +0,0 @@ -anotherhost.example+/4240002+http+++2023+moo.html+[LF] -hello2000+/424+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -anotherhost.example+/4240002+http+++2023+moo.html+[LF] == Contents of files in the log/9/ directory after test 424 === Start of file check-expected anotherhost.example+/4240002+http+++2023+moo.html+[LF] hello2000+/424+h55p+++1+qqqq+ffff[LF] +++++++[LF] anotherhost.example+/4240002+http+++2023+moo.html+[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind424 ../src/curl -q --trace-ascii log/9/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:43733/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:43733/424?qqqq#ffff" -w '%{urle.host}+%{urle.path}+%{urle.scheme}+%{urle.user}+%{urle.password}+%{urle.port}+%{urle.query}+%{urle.fragment}\n' -x http://127.0.0.1:43733/ -L > log/9/stdout424 2> log/9/stderr424 === End of file commands.log === Start of file http_server.log 19:26:46.941759 ====> Client connect 19:26:46.941798 accept_connection 3 returned 4 19:26:46.941823 Read 93 bytes 19:26:46.941832 Process 93 bytes request 19:26:46.941845 Got request: GET /verifiedserver HTTP/1.1 19:26:46.941853 Are-we-friendly question received 19:26:46.941878 Wrote request (93 bytes) input to log/9/server.input 19:26:46.941893 Identifying ourselves as friends 19:26:46.941977 Response sent (56 bytes) and written to log/9/server.response 19:26:46.941986 special request received, no persistency 19:26:46.941993 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind424 ==102860== ==102860== Process terminating with default action of signal 4 (SIGILL) ==102860== Illegal opcode at address 0x492B75F ==102860== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102860== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102860== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102860== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102860== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102860== by 0x49908EB: curl_version_info (version.c:600) ==102860== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102860== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102860== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102860== by 0x4003269: main (tool_main.c:195) === End of file valgrind424 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind420 ../src/curl -q --output log/11/curl420.out --include --trace-ascii log/11/trace420 --trace-time http://127.0.0.1:40989/func_test/del_cookie -b log/11/cookie420 -c log/11/save420 > log/11/stdout420 2> log/11/stderr420 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind425 ../src/curl -q --output log/16/curl425.out --include --trace-ascii log/16/trace425 --trace-time -T log/16/up425 http://127.0.0.1:35903/425/?fullpath > log/16/stdout425 2> log/16/stderr425 test 0422 [use --next with missing URL before it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind422 ../src/curl -q --output log/17/curl422.out --include --trace-ascii log/17/trace422 --trace-time -O -I --next http://127.0.0.1:35993/422 > log/17/stdout422 2> log/17/stderr422 422: stderr FAILED: --- log/17/check-expected 2026-10-15 19:26:49.433934395 +0000 +++ log/17/check-generated 2026-10-15 19:26:49.431369043 +0000 @@ -1,3 +0,0 @@ -curl: missing URL before --next[CR][LF] -curl: option --next: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/17/ directory after test 422 === Start of file check-expected curl: missing URL before --next[CR][LF] curl: option --next: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind422 ../src/curl -q --output log/17/curl422.out --include --trace-ascii log/17/trace422 --trace-time -O -I --next http://127.0.0.1:35993/422 > log/17/stdout422 2> log/17/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==102739== ==102739== Process terminating with default action of signal 4 (SIGILL) ==102739== Illegal opcode at address 0x492B75F ==102739== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102739== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102739== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102739== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102739== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102739== by 0x49908EB: curl_version_info (version.c:600) ==102739== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102739== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102739== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102739== by 0x4003269: main (tool_main.c:195) === End of file valgrind422 test 0420 [Setting cookies set with expired dates that were loaded from jar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind420 ../src/curl -q --output log/11/curl420.out --include --trace-ascii log/11/trace420 --trace-time http://127.0.0.1:40989/func_test/del_cookie -b log/11/cookie420 -c log/11/save420 > log/11/stdout420 2> log/11/stderr420 420: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind420 ../src/curl -q --output log/11/curl420.out --include --trace-ascii log/11/trace420 --trace-time http://127.0.0.1:40989/func_test/del_cookie -b log/11/cookie420 -c log/11/save420 > log/11/stdout420 2> log/11/stderr420 === End of file commands.log === Start of file cookie420 127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie6 991 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie5 990 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie4 950 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie3 900 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 21709598616 mycookie2 5900 #HttpOnly_127.0.0.1 FALSE / FALSE 21709598616 mycookie1 4900 #HttpOnly_127.0.0.1 FALSE /func_test FALSE 0 mycookie 1200 === End of file cookie420 === Start of file http_server.log 19:26:46.534998 ====> Client connect 19:26:46.535034 accept_connection 3 returned 4 19:26:46.535056 Read 93 bytes 19:26:46.535066 Process 93 bytes request 19:26:46.535078 Got request: GET /verifiedserver HTTP/1.1 19:26:46.535086 Are-we-friendly question received 19:26:46.535112 Wrote request (93 bytes) input to log/11/server.input 19:26:46.535128 Identifying ourselves as friends 19:26:46.535198 Response sent (56 bytes) and written to log/11/server.response 19:26:46.535208 special request received, no persistency 19:26:46.535217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 53292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 420 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind420 ==102534== ==102534== Process terminating with default action of signal 4 (SIGILL) ==102534== Illegal opcode at address 0x492B75F ==102534== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102534== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102534== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102534== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102534== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102534== by 0x49908EB: curl_version_info (version.c:600) ==102534== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102534== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102534== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102534== by 0x4003269: main (tool_main.c:195) === End of file valgrind420 test 0425 [HTTP PUT with path ending with slash + query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind425 ../src/curl -q --output log/16/curl425.out --include --trace-ascii log/16/trace425 --trace-time -T log/16/up425 http://127.0.0.1:35903/425/?fullpath > log/16/stdout425 2> log/16/stderr425 425: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 425 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind425 ../src/curl -q --output log/16/curl425.out --include --trace-ascii log/16/trace425 --trace-time -T log/16/up425 http://127.0.0.1:35903/425/?fullpath > log/16/stdout425 2> log/16/stderr425 === End of file commands.log === Start of file http_server.log 19:26:48.105689 ====> Client connect 19:26:48.105726 accept_connection 3 returned 4 19:26:48.105747 Read 93 bytes 19:26:48.105756 Process 93 bytes request 19:26:48.105767 Got request: GET /verifiedserver HTTP/1.1 19:26:48.105775 Are-we-friendly question received 19:26:48.105801 Wrote request (93 bytes) input to log/16/server.input 19:26:48.105817 Identifying ourselves as friends 19:26:48.105874 Response sent (56 bytes) and written to log/16/server.response 19:26:48.105882 special request received, no persistency 19:26:48.105890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind423 ../src/curl -q --trace-ascii log/7/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:40859/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40859/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/7/stdout423 2> log/7/stderr423 Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 425 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==102937== ==102937== Process terminating with default action of signal 4 (SIGILL) ==102937== Illegal opcode at address 0x492B75F ==102937== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102937== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102937== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102937== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102937== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102937== by 0x49908EB: curl_version_info (version.c:600) ==102937== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102937== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102937== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102937== by 0x4003269: main (tool_main.c:195) === End of file valgrind425 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:33897/426 -d foobar -C 3 > log/20/stdout426 2> log/20/stderr426 test 0423 [-w with url.* variables] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind423 ../src/curl -q --trace-ascii log/7/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:40859/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40859/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/7/stdout423 2> log/7/stderr423 423: stdout FAILED: --- log/7/check-expected 2026-10-15 19:26:49.926825075 +0000 +++ log/7/check-generated 2026-10-15 19:26:49.924593748 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+40859+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+40859+qqqq+ffff[LF] == Contents of files in the log/7/ directory after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+40859+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+40859+qqqq+ffff[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind423 ../src/curl -q --trace-ascii log/7/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:40859/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40859/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/7/stdout423 2> log/7/stderr423 === End of file commands.log === Start of file http_server.log 19:26:46.871709 ====> Client connect 19:26:46.871766 accept_connection 3 returned 4 19:26:46.871799 Read 93 bytes 19:26:46.871810 Process 93 bytes request 19:26:46.871823 Got request: GET /verifiedserver HTTP/1.1 19:26:46.871832 Are-we-friendly question received 19:26:46.871905 Wrote request (93 bytes) input to log/7/server.input 19:26:46.871929 Identifying ourselves as friends 19:26:46.872025 Response sent (56 bytes) and written to log/7/server.response 19:26:46.872036 special request received, no persistency 19:26:46.872045 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind423 ==102830== ==102830== Process terminating with default action of signal 4 (SIGILL) ==102830== Illegal opcode at address 0x492B75F ==102830== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==102830== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==102830== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==102830== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==102830== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==102830== by 0x49908EB: curl_version_info (version.c:600) ==102830== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==102830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==102830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==102830== by 0x4003269: main (tool_main.c:195) === End of file valgrind423 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/stderr430 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind434 ../src/curl -q --output log/18/curl434.out --include --trace-ascii log/18/trace434 --trace-time -K log/18/config434 > log/18/stdout434 2> log/18/stderr434 test 0426 [try --data with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:33897/426 -d foobar -C 3 > log/20/stdout426 2> log/20/stderr426 426: stderr FAILED: --- log/20/check-expected 2026-10-15 19:26:50.030599072 +0000 +++ log/20/check-generated 2026-10-15 19:26:50.027904352 +0000 @@ -1 +0,0 @@ -curl: (43) HTTP upload cannot be resumed[CR][LF] == Contents of files in the log/20/ directory after test 426 === Start of file check-expected curl: (43) HTTP upload cannot be resumed[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:33897/426 -d foobar -C 3 > log/20/stdout426 2> log/20/stderr426 === End of file commands.log === Start of file http_server.log 19:26:47.244845 ====> Client connect 19:26:47.244883 accept_connection 3 returned 4 19:26:47.244905 Read 93 bytes 19:26:47.244915 Process 93 bytes request 19:26:47.244929 Got request: GET /verifiedserver HTTP/1.1 19:26:47.244938 Are-we-friendly question received 19:26:47.244969 Wrote request (93 bytes) input to log/20/server.input 19:26:47.244986 Identifying ourselves as friends 19:26:47.245057 Response sent (56 bytes) and written to log/20/server.response 19:26:47.245067 special request received, no persistency 19:26:47.245078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 426 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind426 ==103043== ==103043== Process terminating with default action of signal 4 (SIGILL) ==103043== Illegal opcode at address 0x492B75F ==103043== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103043== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103043== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103043== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103043== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103043== by 0x49908EB: curl_version_info (version.c:600) ==103043== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103043== by 0x4003269: main (tool_main.c:195) === End of file valgrind426 test 0430 [Three -K uses with --next and --data in each] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/stderr430 430: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind430 ../src/curl -q --output log/24/curl430.out --include --trace-ascii log/24/trace430 --trace-time -K log/24/config430-a -K log/24/config430-b -K log/24/config430-c > log/24/stdout430 2> log/24/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:38895/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:38895/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:38895/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 19:26:47.527993 ====> Client connect 19:26:47.528024 accept_connection 3 returned 4 19:26:47.528173 Read 93 bytes 19:26:47.528187 Process 93 bytes request 19:26:47.528199 Got request: GET /verifiedserver HTTP/1.1 19:26:47.528208 Are-we-friendly question received 19:26:47.528238 Wrote request (93 bytes) input to log/24/server.input 19:26:47.528256 Identifying ourselves as friends 19:26:47.528315 Response sent (56 bytes) and written to log/24/server.response 19:26:47.528325 special request received, no persistency 19:26:47.528333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 58652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind430 ==103241== ==103241== Process terminating with default action of signal 4 (SIGILL) ==103241== Illegal opcode at address 0x492B75F ==103241== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103241== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103241== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103241== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103241== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103241== by 0x49908EB: curl_version_info (version.c:600) ==103241== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103241== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103241== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103241== by 0x4003269: main (tool_main.c:195) === End of file valgrind430 test 0434 [-K with a single line without newline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind434 ../src/curl -q --output log/18/curl434.out --include --trace-ascii log/18/trace434 --trace-time -K log/18/config434 > log/18/stdout434 2> log/18/stderr434 434: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind434 ../src/curl -q --output log/18/curl434.out --include --trace-ascii log/18/trace434 --trace-time -K log/18/config434 > log/18/stdout434 2> log/18/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:43739/434 === End of file config434 === Start of file http_server.log 19:26:48.763089 ====CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind427 ../src/curl -q --output log/19/curl427.out --include --trace-ascii log/19/trace427 --trace-time http://127.0.0.1:46497/427 -c log/19/cookies427 -L > log/19/stdout427 2> log/19/stderr427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind428 ../src/curl -q --output log/6/curl428.out --include --trace-ascii log/6/trace428 --trace-time http://127.0.0.1:33935/428 -K log/6/cmd > log/6/stdout428 2> log/6/stderr428 > Client connect 19:26:48.763126 accept_connection 3 returned 4 19:26:48.763148 Read 93 bytes 19:26:48.763157 Process 93 bytes request 19:26:48.763169 Got request: GET /verifiedserver HTTP/1.1 19:26:48.763178 Are-we-friendly question received 19:26:48.763206 Wrote request (93 bytes) input to log/18/server.input 19:26:48.763223 Identifying ourselves as friends 19:26:48.763292 Response sent (56 bytes) and written to log/18/server.response 19:26:48.763302 special request received, no persistency 19:26:48.763310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind434 ==103425== ==103425== Process terminating with default action of signal 4 (SIGILL) ==103425== Illegal opcode at address 0x492B75F ==103425== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103425== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103425== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103425== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103425== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103425== by 0x49908EB: curl_version_info (version.c:600) ==103425== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103425== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103425== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103425== by 0x4003269: main (tool_main.c:195) === End of file valgrind434 test 0427 [Keep Cookie: header within 8190 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind427 ../src/curl -q --output log/19/curl427.out --include --trace-ascii log/19/trace427 --trace-time http://127.0.0.1:46497/427 -c log/19/cookies427 -L > log/19/stdout427 2> log/19/stderr427 427: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind427 ../src/curl -q --output log/19/curl427.out --include --trace-ascii log/19/trace427 --trace-time http://127.0.0.1:46497/427 -c log/19/cookies427 -L > log/19/stdout427 2> log/19/stderr427 === End of file commands.log === Start of file http_server.log 19:26:47.248717 ====> Client connect 19:26:47.248752 accept_connection 3 returned 4 19:26:47.248910 Read 93 bytes 19:26:47.248927 Process 93 bytes request 19:26:47.248939 Got request: GET /verifiedserver HTTP/1.1 19:26:47.248948 Are-we-friendly question received 19:26:47.248981 Wrote request (93 bytes) input to log/19/server.input 19:26:47.249003 Identifying ourselves as friends 19:26:47.249071 Response sent (56 bytes) and written to log/19/server.response 19:26:47.249082 special request received, no persistency 19:26:47.249092 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 46962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 427 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind427 ==103068== ==103068== Process terminating with default action of signal 4 (SIGILL) ==103068== Illegal opcode at address 0x492B75F ==103068== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103068== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103068== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103068== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103068== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103068== by 0x49908EB: curl_version_info (version.c:600) ==103068== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103068== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103068== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103068== by 0x4003269: main (tool_main.c:195) === End of file valgrind427 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0428 [Expand environment variables within config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind428 ../src/curl -q --output log/6/curl428.out --include --trace-ascii log/6/trace428 --trace-time http://127.0.0.1:33935/428 -K log/6/cmd > log/6/stdout428 2> log/6/stderr428 428: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 428 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --variable %BLANK --variable %curl_NOT_SET=default --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind428 ../src/curl -q --output log/6/curl428.out --include --trace-ascii log/6/trace428 --trace-time http://127.0.0.1:33935/428 -K log/6/cmd > log/6/stdout428 2> log/6/stderr428 === End of file commands.log === Start of file http_server.log 19:26:47.405229 ====> Client connect 19:26:47.405276 accept_connection 3 returned 4 19:26:47.405302 Read 93 bytes 19:26:47.405312 Process 93 bytes request 19:26:47.405327 Got request: GET /verifiedserver HTTP/1.1 19:26:47.405336 Are-we-friendly question received 19:26:47.405369 Wrote request (93 bytes) input to log/6/server.input 19:26:47.405389 Identifying ourselves as friends 19:26:47.405573 Response sent (56 bytes) and written to log/6/server.response 19:26:47.405587 special request received, no persistency 19:26:47.405596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 46248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind428 ==103204== ==103204== Process terminating with default action of signal 4 (SIGILL) ==1032CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind429 ../src/curl -q --output log/12/curl429.out --include --trace-ascii log/12/trace429 --trace-time http://127.0.0.1:40921/429 -K log/12/cmd > log/12/stdout429 2> log/12/stderr429 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:40913/435 http://127.0.0.1:40913/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 04== Illegal opcode at address 0x492B75F ==103204== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103204== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103204== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103204== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103204== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103204== by 0x49908EB: curl_version_info (version.c:600) ==103204== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103204== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103204== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103204== by 0x4003269: main (tool_main.c:195) === End of file valgrind428 setenv FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = contents2023 test 0429 [Expand environment variable in config file - too long name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind429 ../src/curl -q --output log/12/curl429.out --include --trace-ascii log/12/trace429 --trace-time http://127.0.0.1:40921/429 -K log/12/cmd > log/12/stdout429 2> log/12/stderr429 429: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 429 === Start of file cmd --expand-data {{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind429 ../src/curl -q --output log/12/curl429.out --include --trace-ascii log/12/trace429 --trace-time http://127.0.0.1:40921/429 -K log/12/cmd > log/12/stdout429 2> log/12/stderr429 === End of file commands.log === Start of file http_server.log 19:26:47.528192 ====> Client connect 19:26:47.528242 accept_connection 3 returned 4 19:26:47.528276 Read 93 bytes 19:26:47.528289 Process 93 bytes request 19:26:47.528303 Got request: GET /verifiedserver HTTP/1.1 19:26:47.528313 Are-we-friendly question received 19:26:47.528354 Wrote request (93 bytes) input to log/12/server.input 19:26:47.528376 Identifying ourselves as friends 19:26:47.528498 Response sent (56 bytes) and written to log/12/server.response 19:26:47.528516 special request received, no persistency 19:26:47.528524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind429 ==103229== ==103229== Process terminating with default action of signal 4 (SIGILL) ==103229== Illegal opcode at address 0x492B75F ==103229== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103229== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103229== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103229== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103229== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103229== by 0x49908EB: curl_version_info (version.c:600) ==103229== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103229== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103229== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103229== by 0x4003269: main (tool_main.c:195) === End of file valgrind429 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:38821/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind440 ../src/curl -q --include --trace-ascii log/1/trace440 --trace-time -x http://127.0.0.1:38815 http://this.hsts.example./440 --hsts log/1/input440 -w '%{url_effective}\n' > log/1/stdout440 2> log/1/stderr440 test 0435 [verify -w local/remote port+ip after connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:40913/435 http://127.0.0.1:40913/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 435: stdout FAILED: --- log/10/check-expected 2026-10-15 19:26:50.525069619 +0000 +++ log/10/check-generated 2026-10-15 19:26:50.521129497 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 40913[LF] -HTTP/1.1 200 OK[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -local port == [digits][LF] -local ip == 127.0.0.1[LF] -remote_ip == 127.0.0.1[LF] -remote_port == 40913[LF] == Contents of files in the log/10/ directory after test 435 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 40913[LF] HTTP/1.1 200 OK[CR][LF] Content-Length: 0[CR][LF] [CR][LF] local port == [digits][LF] local ip == 127.0.0.1[LF] remote_ip == 127.0.0.1[LF] remote_port == 40913[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind435 ../src/curl -q --include --trace-ascii log/10/trace435 --trace-time http://127.0.0.1:40913/435 http://127.0.0.1:40913/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/10/stdout435 2> log/10/stderr435 === End of file commands.log === Start of file http_server.log 19:26:47.922801 ====> Client connect 19:26:47.922843 accept_connection 3 returned 4 19:26:47.922869 Read 93 bytes 19:26:47.922880 Process 93 bytes request 19:26:47.922894 Got request: GET /verifiedserver HTTP/1.1 19:26:47.922903 Are-we-friendly question received 19:26:47.922968 Wrote request (93 bytes) input to log/10/server.input 19:26:47.922990 Identifying ourselves as friends 19:26:47.923067 Response sent (56 bytes) and written to log/10/server.response 19:26:47.923078 special request received, no persistency 19:26:47.923086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 435 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind435 ==103580== ==103580== Process terminating with default action of signal 4 (SIGILL) ==103580== Illegal opcode at address 0x492B75F ==103580== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103580== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103580== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103580== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103580== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103580== by 0x49908EB: curl_version_info (version.c:600) ==103580== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103580== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103580== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103580== by 0x4003269: main (tool_main.c:195) === End of file valgrind435 test 0431 [Two -K uses with --next and then one on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:38821/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 431: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind431 ../src/curl -q --output log/13/curl431.out --include --trace-ascii log/13/trace431 --trace-time -K log/13/config431-a -K log/13/config431-b --next -d c 127.0.0.1:38821/4310003 -H "c: c" > log/13/stdout431 2> log/13/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:38821/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:38821/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 19:26:47.708596 ====> Client connect 19:26:47.708635 accept_connection 3 returned 4 19:26:47.708660 Read 93 bytes 19:26:47.708671 Process 93 bytes request 19:26:47.708684 Got request: GET /verifiedserver HTTP/1.1 19:26:47.708693 Are-we-friendly question received 19:26:47.708737 Wrote request (93 bytes) input to log/13/server.input 19:26:47.708756 Identifying ourselves as friends 19:26:47.708832 Response sent (56 bytes) and written to log/13/server.response 19:26:47.708842 special request received, no persistency 19:26:47.708850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 50718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind431 ==103417== ==103417== Process terminating with default action of signal 4 (SIGILL) ==103417== Illegal opcode at address 0x492B75F ==103417== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103417== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103417== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103417== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103417== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103417== by 0x49908EB: curl_version_info (version.c:600) ==103417== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103417== by 0x4003269: main (tool_main.c:195) === End of file valgrind431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind432 ../src/curl -q --output log/4/curl432.out --include --trace-ascii log/4/trace432 --trace-time -K log/4/config432 > log/4/stdout432 2> log/4/stderr432 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind436 ../src/curl --output log/23/curl436.out --include --trace-ascii log/23/trace436 --trace-time 127.0.0.1:44711/436 > log/23/stdout436 2> log/23/stderr436 test 0440 [HSTS with trailing-dot hostname in URL but none in hsts file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind440 ../src/curl -q --include --trace-ascii log/1/trace440 --trace-time -x http://127.0.0.1:38815 http://this.hsts.example./440 --hsts log/1/input440 -w '%{url_effective}\n' > log/1/stdout440 2> log/1/stderr440 440: stdout FAILED: --- log/1/check-expected 2026-10-15 19:26:50.739330909 +0000 +++ log/1/check-generated 2026-10-15 19:26:50.737748648 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example./440[LF] == Contents of files in the log/1/ directory after test 440 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example./440[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind440 ../src/curl -q --include --trace-ascii log/1/trace440 --trace-time -x http://127.0.0.1:38815 http://this.hsts.example./440 --hsts log/1/input440 -w '%{url_effective}\n' > log/1/stdout440 2> log/1/stderr440 === End of file commands.log === Start of file http_server.log 19:26:49.057484 ====> Client connect 19:26:49.057520 accept_connection 3 returned 4 19:26:49.057618 Read 93 bytes 19:26:49.057630 Process 93 bytes request 19:26:49.057642 Got request: GET /verifiedserver HTTP/1.1 19:26:49.057650 Are-we-friendly question received 19:26:49.057681 Wrote request (93 bytes) input to log/1/server.input 19:26:49.057697 Identifying ourselves as friends 19:26:49.057753 Response sent (56 bytes) and written to log/1/server.response 19:26:49.057762 special request received, no persistency 19:26:49.057770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 44290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file input440 this.hsts.example "99991001 04:47:41" === End of file input440 === Start of file server.cmd Testnum 440 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind440 ==103704== ==103704== Process terminating with default action of signal 4 (SIGILL) ==103704== Illegal opcode at address 0x492B75F ==103704== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103704== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103704== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103704== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103704== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103704== by 0x49908EB: curl_version_info (version.c:600) ==103704== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103704== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103704== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103704== by 0x4003269: main (tool_main.c:195) === End of file valgrind440 test 0432 [Use -K with --next and --config from within] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind432 ../src/curl -q --output log/4/curl432.out --include --trace-ascii log/4/trace432 --trace-time -K log/4/config432 > log/4/stdout432 2> log/4/stderr432 432: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind432 ../src/curl -q --output log/4/curl432.out --include --trace-ascii log/4/trace432 --trace-time -K log/4/config432 > log/4/stdout432 2> log/4/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:35735/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:35735/4320002 header = "b: b" data = "b" config = "log/4/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:35735/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 19:26:48.774844 ====> Client connect 19:26:48.774880 accept_connection 3 returned 4 19:26:48.774902 Read 93 bytes 19:26:48.774911 Process 93 bytes request 19:26:48.774924 Got request: GET /verifiedserver HTTP/1.1 19:26:48.774933 Are-we-friendly question received 19:26:48.774959 Wrote request (93 bytes) input to log/4/server.input 19:26:48.774976 Identifying ourselves as friends 19:26:48.775037 Response sent (56 bytes) and written to log/4/server.response 19:26:48.775046 special request received, no persistency 19:26:48.775054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 56050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind432 ==103473== ==103473== Process terminating with default action of signal 4 (SIGILL) ==103473== Illegal opcode at address 0x492B75F ==103473== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103473== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103473== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103473== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103473== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103473== by 0x49908EB: curl_version_info (version.c:600) ==103473== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103473== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103473== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103473== by 0x4003269: main (tool_main.c:195) === End of file valgrind432 setenv CURL_HOME = /startdir/src/build-curl/tests/log/23 test 0436 [Find .curlrc in .config/curlrc via CURL_HOME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind436 ../src/curl --output log/23/curl436.out --include --trace-ascii log/23/trace436 --trace-time 127.0.0.1:44711/436 > log/23/stdout436 2> log/23/stderr436 436: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 436 === Start of file commands.log ../libtool --mode=execute /uCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind441 ../src/curl -q --include --trace-ascii log/14/trace441 --trace-time -x http://127.0.0.1:45467 http://this.hsts.example/441 --hsts log/14/input441 -w '%{url_effective}\n' > log/14/stdout441 2> log/14/stderr441 sr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind436 ../src/curl --output log/23/curl436.out --include --trace-ascii log/23/trace436 --trace-time 127.0.0.1:44711/436 > log/23/stdout436 2> log/23/stderr436 === End of file commands.log === Start of file http_server.log 19:26:47.975340 ====> Client connect 19:26:47.975387 accept_connection 3 returned 4 19:26:47.975415 Read 93 bytes 19:26:47.975427 Process 93 bytes request 19:26:47.975441 Got request: GET /verifiedserver HTTP/1.1 19:26:47.975450 Are-we-friendly question received 19:26:47.975481 Wrote request (93 bytes) input to log/23/server.input 19:26:47.975499 Identifying ourselves as friends 19:26:47.975584 Response sent (56 bytes) and written to log/23/server.response 19:26:47.975596 special request received, no persistency 19:26:47.975604 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 436 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind436 ==103648== ==103648== Process terminating with default action of signal 4 (SIGILL) ==103648== Illegal opcode at address 0x492B75F ==103648== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103648== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103648== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103648== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103648== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103648== by 0x49908EB: curl_version_info (version.c:600) ==103648== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103648== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103648== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103648== by 0x4003269: main (tool_main.c:195) === End of file valgrind436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind444 ../src/curl -q --output log/22/curl444.out --include --trace-ascii log/22/trace444 --trace-time http://attack.invalid:35989/a/b/444 -c log/22/cookie444 --resolve attack.invalid:35989:127.0.0.1 > log/22/stdout444 2> log/22/stderr444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind442 ../src/curl -q --output log/3/curl442.out --include --trace-ascii log/3/trace442 --trace-time http://attack.invalid:36161/a/b/442 -b log/3/cookie442 --resolve attack.invalid:36161:127.0.0.1 -L > log/3/stdout442 2> log/3/stderr442 test 0441 [HSTS with no t-dot hostname in URL but t-dot in file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind441 ../src/curl -q --include --trace-ascii log/14/trace441 --trace-time -x http://127.0.0.1:45467 http://this.hsts.example/441 --hsts log/14/input441 -w '%{url_effective}\n' > log/14/stdout441 2> log/14/stderr441 441: stdout FAILED: --- log/14/check-expected 2026-10-15 19:26:51.313990713 +0000 +++ log/14/check-generated 2026-10-15 19:26:51.310956520 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/441[LF] == Contents of files in the log/14/ directory after test 441 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/441[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind441 ../src/curl -q --include --trace-ascii log/14/trace441 --trace-time -x http://127.0.0.1:45467 http://this.hsts.example/441 --hsts log/14/input441 -w '%{url_effective}\n' > log/14/stdout441 2> log/14/stderr441 === End of file commands.log === Start of file http_server.log 19:26:48.222197 ====> Client connect 19:26:48.222236 accept_connection 3 returned 4 19:26:48.222260 Read 93 bytes 19:26:48.222270 Process 93 bytes request 19:26:48.222281 Got request: GET /verifiedserver HTTP/1.1 19:26:48.222290 Are-we-friendly question received 19:26:48.222321 Wrote request (93 bytes) input to log/14/server.input 19:26:48.222338 Identifying ourselves as friends 19:26:48.222406 Response sent (56 bytes) and written to log/14/server.response 19:26:48.222416 special request received, no persistency 19:26:48.222425 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 48670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file input441 this.hsts.example. "99991001 04:47:41" === End of file input441 === Start of file server.cmd Testnum 441 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind441 ==103813== ==103813== Process terminating with default action of signal 4 (SIGILL) ==103813== Illegal opcode at address 0x492B75F ==103813== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103813== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103813== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103813== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103813== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103813== by 0x49908EB: curl_version_info (version.c:600) ==103813== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103813== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103813== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103813== by 0x4003269: main (tool_main.c:195) === End of file valgrind441 test 0444 [Many Set-Cookie response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind444 ../src/curl -q --output log/22/curl444.out --include --trace-ascii log/22/trace444 --trace-time http://attack.invalid:35989/a/b/444 -c log/22/cookie444 --resolve attack.invalid:35989:127.0.0.1 > log/22/stdout444 2> log/22/stderr444 444: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind444 ../src/curl -q --output log/22/curl444.out --include --trace-ascii log/22/trace444 --trace-time http://attack.invalid:35989/a/b/444 -c log/22/cookie444 --resolve attack.invalid:35989:127.0.0.1 > log/22/stdout444 2> log/22/stderr444 === End of file commands.log === Start of file http_server.log 19:26:48.737397 ====> Client connect 19:26:48.737434 accept_connection 3 returned 4 19:26:48.737457 Read 93 bytes 19:26:48.737467 Process 93 bytes request 19:26:48.737481 Got request: GET /verifiedserver HTTP/1.1 19:26:48.737489 Are-we-friendly question received 19:26:48.737519 Wrote request (93 bytes) input to log/22/server.input 19:26:48.737535 Identifying ourselves as friends 19:26:48.737605 Response sent (56 bytes) and written to log/22/server.response 19:26:48.737615 special request received, no persistency 19:26:48.737623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 56590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 444 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind444 ==104027== ==104027== Process terminating with default action of signal 4 (SIGILL) ==104027== Illegal opcode at address 0x492B75F ==104027== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104027== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104027== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104027== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104027== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104027== by 0x49908EB: curl_version_info (version.c:600) ==104027== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104027== by 0x4003269: main (tool_main.c:195) === End of file valgrind444 test 0442 [Send capped huge number of matching cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind442 ../src/curl -q --output log/3/curl442.out --include --trace-ascii log/3/trace442 --trace-time http://attack.invalid:36161/a/b/442 -b log/3/cookie442 --resolve attack.invalid:36161:127.0.0.1 -L > log/3/stdout442 2> log/3/stderr442 442: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 442 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind442 ../src/curl -q --output log/3/curl442.out --include --trace-ascii log/3/trace442 --trace-time http://attack.invalid:36161/a/b/442 -b log/3/cookie442 --resolve attack.invalid:36161:127.0.0.1 -L > log/3/stdout442 2> log/3/stderr442 === End of file commands.log === Start of file cookie442 attack.invalid TRUE / FALSE 0 name1 could-be-large-1 attack.invalid TRUE / FALSE 0 name2 could-be-large-2 attack.invalid TRUE / FALSE 0 name3 could-be-large-3 attack.invalid TRUE / FALSE 0 name4 could-be-large-4 attack.invalid TRUE / FALSE 0 name5 could-be-large-5 attack.invalid TRUE / FALSE 0 name6 could-be-large-6 attack.invalid TRUE / FALSE 0 name7 could-be-large-7 attack.invalid TRUE / FALSE 0 name8 could-be-large-8 attack.invalid TRUE / FALSE 0 name9 could-be-large-9 attack.invalid TRUE / FALSE 0 name10 could-be-large-10 attack.invalid TRUE / FALSE 0 name11 could-be-large-11 attack.invalid TRUE / FALSE 0 name12 could-be-large-12 attack.invalid TRUE / FALSE 0 name13 could-be-large-13 attack.invalid TRUE / FALSE 0 name14 could-be-large-14 attack.invalid TRUE / FALSE 0 name15 could-be-large-15 attack.invalid TRUE / FALSE 0 name16 could-be-large-16 attack.invalid TRUE / FALSE 0 name17 could-be-large-17 attack.invalid TRUE / FALSE 0 name18 could-be-large-18 attack.invalid TRUE / FALSE 0 name19 could-be-large-19 attack.invalid TRUE / FALSE 0 name20 could-be-large-20 attack.invalid TRUE / FALSE 0 name21 could-be-large-21 attack.invalid TRUE / FALSE 0 name22 could-be-large-22 attack.invalid TRUE / FALSE 0 name23 could-be-large-23 attack.invalid TRUE / FALSE 0 name24 could-be-large-24 attack.invalid TRUE / FALSE 0 name25 could-be-large-25 attack.invalid TRUE / FALSE 0 name26 could-be-large-26 attack.invalid TRUE / FALSE 0 name27 could-be-large-27 attack.invalid TRUE / FALSE 0 name28 could-be-large-28 attack.invalid TRUE / FALSE 0 name29 could-be-large-29 attack.invalid TRUE / FALSE 0 name30 could-be-large-30 attack.invalid TRUE / FALSE 0 name31 could-be-large-31 attack.invalid TRUE / FALSE 0 name32 could-be-large-32 attack.invalid TRUE / FALSE 0 name33 could-be-large-33 attack.invalid TRUE / FALSE 0 name34 could-be-large-34 attack.invalid TRUE / FALSE 0 name35 could-be-large-35 attack.invalid TRUE / FALSE 0 name36 could-be-large-36 attack.invalid TRUE / FALSE 0 name37 could-be-large-37 attack.invalid TRUE / FALSE 0 name38 could-be-large-38 attack.invalid TRUE / FALSE 0 name39 could-be-large-39 attack.invalid TRUE / FALSE 0 name40 could-be-large-40 attack.invalid TRUE / FALSE 0 name41 could-be-large-41 attack.invalid TRUE / FALSE 0 name42 could-be-large-42 attack.invalid TRUE / FALSE 0 name43 could-be-large-43 attack.invalid TRUE / FALSE 0 name44 could-be-large-44 attack.invalid TRUE / FALSE 0 name45 could-be-large-45 attack.invalid TRUE / FALSE 0 name46 could-be-large-46 attack.invalid TRUE / FALSE 0 name47 could-be-large-47 attack.invalid TRUE / FALSE 0 name48 could-be-large-48 attack.invalid TRUE / FALSE 0 name49 could-be-large-49 attack.invalid TRUE / FALSE 0 name50 could-be-large-50 attack.invalid TRUE / FALSE 0 name51 could-be-large-51 attack.invalid TRUE / FALSE 0 name52 could-be-large-52 attack.invalid TRUE / FALSE 0 name53 could-be-large-53 attack.invalid TRUE / FALSE 0 name54 could-be-large-54 attack.invalid TRUE / FALSE 0 name55 could-be-large-55 attack.invalid TRUE / FALSE 0 name56 could-be-large-56 attack.invalid TRUE / FALSE 0 name57 could-be-large-57 attack.invalid TRUE / FALSE 0 name58 could-be-large-58 attack.invalid TRUE / FALSE 0 name59 could-be-large-59 attack.invalid TRUE / FALSE 0 name60 could-be-large-60 attack.invalid TRUE / FALSE 0 name61 could-be-large-61 attack.invalid TRUE / FALSE 0 name62 could-be-large-62 attack.invalid TRUE / FALSE 0 name63 could-be-large-63 attack.invalid TRUE / FALSE 0 name64 could-be-large-64 attack.invalid TRUE / FALSE 0 name65 could-be-large-65 attack.invalid TRUE / FALSE 0 name66 could-be-large-66 attack.invalid TRUE / FALSE 0 name67 could-be-large-67 attack.invalid TRUE / FALSE 0 name68 could-be-large-68 attack.invalid TRUE / FALSE 0 name69 could-be-large-69 attack.invalid TRUE / FALSE 0 name70 could-be-large-70 attack.invalid TRUE / FALSE 0 name71 could-be-large-71 attack.invalid TRUE / FALSE 0 name72 could-be-large-72 attack.invalid TRUE / FALSE 0 name73 could-be-large-73 attack.invalid TRUE / FALSE 0 name74 could-be-large-74 attack.invalid TRUE / FALSE 0 name75 could-be-large-75 attack.invalid TRUE / FALSE 0 name76 could-be-large-76 attack.invalid TRUE / FALSE 0 name77 could-be-large-77 attack.invalid TRUE / FALSE 0 name78 could-be-large-78 attack.invalid TRUE / FALSE 0 name79 could-be-large-79 attack.invalid TRUE / FALSE 0 name80 could-be-large-80 attack.invalid TRUE / FALSE 0 name81 could-be-large-81 attack.invalid TRUE / FALSE 0 name82 could-be-large-82 attack.invalid TRUE / FALSE 0 name83 could-be-large-83 attack.invalid TRUE / FALSE 0 name84 could-be-large-84 attack.invalid TRUE / FALSE 0 name85 could-be-large-85 attack.invalid TRUE / FALSE 0 name86 could-be-large-86 attack.invalid TRUE / FALSE 0 name87 could-be-large-87 attack.invalid TRUE / FALSE 0 name88 could-be-large-88 attack.invalid TRUE / FALSE 0 name89 could-be-large-89 attack.invalid TRUE / FALSE 0 name90 could-be-large-90 attack.invalid TRUE / FALSE 0 name91 could-be-large-91 attack.invalid TRUE / FALSE 0 name92 could-be-large-92 attack.invalid TRUE / FALSE 0 name93 could-be-large-93 attack.invalid TRUE / FALSE 0 name94 could-be-large-94 attack.invalid TRUE / FALSE 0 name95 could-be-large-95 attack.invalid TRUE / FALSE 0 name96 could-be-large-96 attack.invalid TRUE / FALSE 0 name97 could-be-large-97 attack.invalid TRUE / FALSE 0 name98 could-be-large-98 attack.invalid TRUE / FALSE 0 name99 could-be-large-99 attack.invalid TRUE / FALSE 0 name100 could-be-large-100 attack.invalid TRUE / FALSE 0 name101 could-be-large-101 attack.invalid TRUE / FALSE 0 name102 could-be-large-102 attack.invalid TRUE / FALSE 0 name103 could-be-large-103 attack.invalid TRUE / FALSE 0 name104 could-be-large-104 attack.invalid TRUE / FALSE 0 name105 could-be-large-105 attack.invalid TRUE / FALSE 0 name106 could-be-large-106 attack.invalid TRUE / FALSE 0 name107 could-be-large-107 attack.invalid TRUE / FALSE 0 name108 could-be-large-108 attack.invalid TRUE / FALSE 0 name109 could-be-large-109 attack.invalid TRUE / FALSE 0 name110 could-be-large-110 attack.invalid TRUE / FALSE 0 name111 could-be-large-111 attack.invalid TRUE / FALSE 0 name112 could-be-large-112 attack.invalid TRUE / FALSE 0 name113 could-be-large-113 attack.invalid TRUE / FALSE 0 name114 could-be-large-114 attack.invalid TRUE / FALSE 0 name115 could-be-large-115 attack.invalid TRUE / FALSE 0 name116 could-be-large-116 attack.invalid TRUE / FALSE 0 name117 could-be-large-117 attack.invalid TRUE / FALSE 0 name118 could-be-large-118 attack.invalid TRUE / FALSE 0 name119 could-be-large-119 attack.invalid TRUE / FALSE 0 name120 could-be-large-120 attack.invalid TRUE / FALSE 0 name121 could-be-large-121 attack.invalid TRUE / FALSE 0 name122 could-be-large-122 attack.invalid TRUE / FALSE 0 name123 could-be-large-123 attack.invalid TRUE / FALSE 0 name124 could-be-large-124 attack.invalid TRUE / FALSE 0 name125 could-be-large-125 attack.invalid TRUE / FALSE 0 name126 could-be-large-126 attack.invalid TRUE / FALSE 0 name127 could-be-large-127 attack.invalid TRUE / FALSE 0 name128 could-be-large-128 attack.invalid TRUE / FALSE 0 name129 could-be-large-129 attack.invalid TRUE / FALSE 0 name130 could-be-large-130 attack.invalid TRUE / FALSE 0 name131 could-be-large-131 attack.invalid TRUE / FALSE 0 name132 could-be-large-132 attack.invalid TRUE / FALSE 0 name133 could-be-large-133 attack.invalid TRUE / FALSE 0 name134 could-be-large-134 attack.invalid TRUE / FALSE 0 name135 could-be-large-135 attack.invalid TRUE / FALSE 0 name136 could-be-large-136 attack.invalid TRUE / FALSE 0 name137 could-be-large-137 attack.invalid TRUE / FALSE 0 name138 could-be-large-138 attack.invalid TRUE / FALSE 0 name139 could-be-large-139 attack.invalid TRUE / FALSE 0 name140 could-be-large-140 attack.iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind450 ../src/curl -q --output log/5/curl450.out --include --trace-ascii log/5/trace450 --trace-time http://127.0.0.1:37089/450 --variable what@log/5/junk --expand-data "{{what:trim:url}}" > log/5/stdout450 2> log/5/stderr450 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind443 ../src/curl -q --output log/15/curl443.out --include --trace-ascii log/15/trace443 --trace-time http://attack.invalid:40321/a/b/443 -b log/15/cookie443 --resolve attack.invalid:40321:127.0.0.1 -L > log/15/stdout443 2> log/15/stderr443 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind451 ../src/curl -q --output log/21/curl451.out --include --trace-ascii log/21/trace451 --trace-time http://127.0.0.1:39881/451 --variable what@log/21/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/21/stdout451 2> log/21/stderr451 nvalid TRUE / FALSE 0 name141 could-be-large-141 attack.invalid TRUE / FALSE 0 name142 could-be-large-142 attack.invalid TRUE / FALSE 0 name143 could-be-large-143 attack.invalid TRUE / FALSE 0 name144 could-be-large-144 attack.invalid TRUE / FALSE 0 name145 could-be-large-145 attack.invalid TRUE / FALSE 0 name146 could-be-large-146 attack.invalid TRUE / FALSE 0 name147 could-be-large-147 attack.invalid TRUE / FALSE 0 name148 could-be-large-148 attack.invalid TRUE / FALSE 0 name149 could-be-large-149 attack.invalid TRUE / FALSE 0 name150 could-be-large-150 attack.invalid TRUE / FALSE 0 name151 could-be-large-151 === End of file cookie442 === Start of file http_server.log 19:26:49.468927 ====> Client connect 19:26:49.468970 accept_connection 3 returned 4 19:26:49.468996 Read 93 bytes 19:26:49.469007 Process 93 bytes request 19:26:49.469021 Got request: GET /verifiedserver HTTP/1.1 19:26:49.469030 Are-we-friendly question received 19:26:49.469064 Wrote request (93 bytes) input to log/3/server.input 19:26:49.469084 Identifying ourselves as friends 19:26:49.469159 Response sent (56 bytes) and written to log/3/server.response 19:26:49.469171 special request received, no persistency 19:26:49.469180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 56888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 442 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind442 ==103896== ==103896== Process terminating with default action of signal 4 (SIGILL) ==103896== Illegal opcode at address 0x492B75F ==103896== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103896== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103896== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103896== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103896== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103896== by 0x49908EB: curl_version_info (version.c:600) ==103896== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103896== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103896== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103896== by 0x4003269: main (tool_main.c:195) === End of file valgrind442 test 0450 [Variable from file that is trimmed and URL encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind450 ../src/curl -q --output log/5/curl450.out --include --trace-ascii log/5/trace450 --trace-time http://127.0.0.1:37089/450 --variable what@log/5/junk --expand-data "{{what:trim:url}}" > log/5/stdout450 2> log/5/stderr450 450: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 450 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind450 ../src/curl -q --output log/5/curl450.out --include --trace-ascii log/5/trace450 --trace-time http://127.0.0.1:37089/450 --variable what@log/5/junk --expand-data "{{what:trim:url}}" > log/5/stdout450 2> log/5/stderr450 === End of file commands.log === Start of file http_server.log 19:26:48.973970 ====> Client connect 19:26:48.974018 accept_connection 3 returned 4 19:26:48.974170 Read 93 bytes 19:26:48.974185 Process 93 bytes request 19:26:48.974199 Got request: GET /verifiedserver HTTP/1.1 19:26:48.974207 Are-we-friendly question received 19:26:48.974241 Wrote request (93 bytes) input to log/5/server.input 19:26:48.974258 Identifying ourselves as friends 19:26:48.974351 Response sent (56 bytes) and written to log/5/server.response 19:26:48.974361 special request received, no persistency 19:26:48.974369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 35802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file junk space with space === End of file junk === Start of file server.cmd Testnum 450 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind450 ==104166== ==104166== Process terminating with default action of signal 4 (SIGILL) ==104166== Illegal opcode at address 0x492B75F ==104166== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104166== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104166== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104166== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104166== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104166== by 0x49908EB: curl_version_info (version.c:600) ==104166== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104166== by 0x4003269: main (tool_main.c:195) === End of file valgrind450 test 0443 [Cookie header in request no longer than 8K] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind443 ../src/curl -q --output log/15/curl443.out --include --trace-ascii log/15/trace443 --trace-time http://attack.invalid:40321/a/b/443 -b log/15/cookie443 --resolve attack.invalid:40321:127.0.0.1 -L > log/15/stdout443 2> log/15/stderr443 443: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind443 ../src/curl -q --output log/15/curl443.out --include --trace-ascii log/15/trace443 --trace-time http://attack.invalid:40321/a/b/443 -b log/15/cookie443 --resolve attack.invalid:40321:127.0.0.1 -L > log/15/stdout443 2> log/15/stderr443 === End of file commands.log === Start of file cookie443 attack.invalid TRUE / FALSE 0 huge-1 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-1 attack.invalid TRUE / FALSE 0 huge-2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-2 attack.invalid TRUE / FALSE 0 huge-3 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-3 attack.invalid TRUE / FALSE 0 huge-4 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-4 attack.invalid TRUE / FALSE 0 huge-5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-5 attack.invalid TRUE / FALSE 0 huge-6 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-6 attack.invalid TRUE / FALSE 0 huge-7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-7 attack.invalid TRUE / FALSE 0 huge-8 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-8 attack.invalid TRUE / FALSE 0 huge-9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-9 attack.invalid TRUE / FALSE 0 huge-10 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10 attack.invalid TRUE / FALSE 0 huge-11 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-11 attack.invalid TRUE / FALSE 0 huge-12 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-12 attack.invalid TRUE / FALSE 0 huge-13 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-13 attack.invalid TRUE / FALSE 0 huge-14 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-14 attack.invalid TRUE / FALSE 0 huge-15 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-15 attack.invalid TRUE / FALSE 0 huge-16 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-16 attack.invalid TRUE / FALSE 0 huge-17 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind449 ../src/curl -q --output log/8/curl449.out --include --trace-ascii log/8/trace449 --trace-time http://127.0.0.1:44467/449 -K log/8/cmd > log/8/stdout449 2> log/8/stderr449 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-17 attack.invalid TRUE / FALSE 0 huge-18 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-18 attack.invalid TRUE / FALSE 0 huge-19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-19 attack.invalid TRUE / FALSE 0 huge-20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-20 === End of file cookie443 === Start of file http_server.log 19:26:49.636278 ====> Client connect 19:26:49.636318 accept_connection 3 returned 4 19:26:49.636341 Read 93 bytes 19:26:49.636350 Process 93 bytes request 19:26:49.636363 Got request: GET /verifiedserver HTTP/1.1 19:26:49.636371 Are-we-friendly question received 19:26:49.636396 Wrote request (93 bytes) input to log/15/server.input 19:26:49.636411 Identifying ourselves as friends 19:26:49.636485 Response sent (56 bytes) and written to log/15/server.response 19:26:49.636493 special request received, no persistency 19:26:49.636501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 42172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind443 ==103961== ==103961== Process terminating with default action of signal 4 (SIGILL) ==103961== Illegal opcode at address 0x492B75F ==103961== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==103961== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==103961== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==103961== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==103961== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==103961== by 0x49908EB: curl_version_info (version.c:600) ==103961== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==103961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==103961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==103961== by 0x4003269: main (tool_main.c:195) === End of file valgrind443 test 0451 [Variable from file that is JSON and URL encoded (with NUL byte)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind451 ../src/curl -q --output log/21/curl451.out --include --trace-ascii log/21/trace451 --trace-time http://127.0.0.1:39881/451 --variable what@log/21/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/21/stdout451 2> log/21/stderr451 451: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 451 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind451 ../src/curl -q --output log/21/curl451.out --include --trace-ascii log/21/trace451 --trace-time http://127.0.0.1:39881/451 --variable what@log/21/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/21/stdout451 2> log/21/stderr451 === End of file commands.log === Start of file http_server.log 19:26:49.062220 ====> Client connect 19:26:49.062261 accept_connection 3 returned 4 19:26:49.062289 Read 93 bytes 19:26:49.062301 Process 93 bytes request 19:26:49.062324 Got request: GET /verifiedserver HTTP/1.1 19:26:49.062333 Are-we-friendly question received 19:26:49.062363 Wrote request (93 bytes) input to log/21/server.input 19:26:49.062381 Identifying ourselves as friends 19:26:49.062478 Response sent (56 bytes) and written to log/21/server.response 19:26:49.062492 special request received, no persistency 19:26:49.062501 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 44050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 451 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind451 ==104279== ==104279== Process terminating with default action of signal 4 (SIGILL) ==104279== Illegal opcode at address 0x492B75F ==104279== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104279== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104279== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104279== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104279== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104279== by 0x49908EB: curl_version_info (version.c:600) ==104279== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104279== by 0x4003269: main (tool_main.c:195) === End of file valgrind451 setenv FUNVALUE = contents setenv VALUE2 = curl setenv BLANK = test 0449 [Environment variables in config file w/o [expand]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind449 ../src/curl -q --output log/8/curl449.out --include --trace-ascii log/8/trace449 --trace-time http://127.0.0.1:44467/449 -K log/8/cmd > log/8/stdout449 2> log/8/stderr449 449: protocol FAILED! There was no contentCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind454 ../src/curl -q --output log/11/curl454.out --include --trace-ascii log/11/trace454 --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/11/stdout454 2> log/11/stderr454 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind448 ../src/curl -q --output log/2/curl448.out --include --trace-ascii log/2/trace448 --trace-time http://127.0.0.1:34531/448 -K log/2/cmd > log/2/stdout448 2> log/2/stderr448 at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 449 === Start of file cmd -d 1{{FUNVALUE}}2{{VALUE2}}3{{CURL_NOT_SET}}4{{BLANK}}5\{{verbatim}}6{{not.good}}7{{}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind449 ../src/curl -q --output log/8/curl449.out --include --trace-ascii log/8/trace449 --trace-time http://127.0.0.1:44467/449 -K log/8/cmd > log/8/stdout449 2> log/8/stderr449 === End of file commands.log === Start of file http_server.log 19:26:48.898900 ====> Client connect 19:26:48.932181 accept_connection 3 returned 4 19:26:48.932224 Read 93 bytes 19:26:48.932234 Process 93 bytes request 19:26:48.932247 Got request: GET /verifiedserver HTTP/1.1 19:26:48.932255 Are-we-friendly question received 19:26:48.932290 Wrote request (93 bytes) input to log/8/server.input 19:26:48.932306 Identifying ourselves as friends 19:26:48.932400 Response sent (56 bytes) and written to log/8/server.response 19:26:48.932409 special request received, no persistency 19:26:48.932417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 35792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 449 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind449 ==104147== ==104147== Process terminating with default action of signal 4 (SIGILL) ==104147== Illegal opcode at address 0x492B75F ==104147== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104147== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104147== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104147== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104147== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104147== by 0x49908EB: curl_version_info (version.c:600) ==104147== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104147== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104147== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104147== by 0x4003269: main (tool_main.c:195) === End of file valgrind449 test 0454 [Variable using illegal function separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind454 ../src/curl -q --output log/11/curl454.out --include --trace-ascii log/11/trace454 --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/11/stdout454 2> log/11/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/11/ directory after test 454 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind454 ../src/curl -q --output log/11/curl454.out --include --trace-ascii log/11/trace454 --trace-time http://127.0.0.1:40989/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/11/stdout454 2> log/11/stderr454 === End of file commands.log === Start of file http_server.log 19:26:49.262309 ====> Client connect 19:26:49.262362 accept_connection 3 returned 4 19:26:49.262392 Read 93 bytes 19:26:49.262403 Process 93 bytes request 19:26:49.262417 Got request: GET /verifiedserver HTTP/1.1 19:26:49.262426 Are-we-friendly question received 19:26:49.262454 Wrote request (93 bytes) input to log/11/server.input 19:26:49.262472 Identifying ourselves as friends 19:26:49.262568 Response sent (56 bytes) and written to log/11/server.response 19:26:49.262579 special request received, no persistency 19:26:49.262587 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 53298 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 454 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind454 ==104498== ==104498== Process terminating with default action of signal 4 (SIGILL) ==104498== Illegal opcode at address 0x492B75F ==104498== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104498== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104498== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104498== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104498== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104498== by 0x49908EB: curl_version_info (version.c:600) ==104498== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104498== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104498== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104498== by 0x4003269: main (tool_main.c:195) === End of file valgrind454 setenv FUNVALUE = contents setenv VALUE2 = curl test 0448 [Environment variables within config file, unbalanced braces] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind448 ../src/curl -q --output log/2/curl448.out --include --trace-ascii log/2/trace448 --trace-time http://127.0.0.1:34531/448 -K log/2/cmd > log/2/stdout448 2> log/2/stderr448 448: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 448 === Start of file cmd --variable %FUNVALUE --variable %VALUE2 --expand-data 1{{FUNVALUE}}2{{VALUE2}}3{{curl_NOT_SET}}4{{AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}}5{{broken === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind448 ../src/curl -q --output log/2/curl448.out --include --trace-ascii log/2/trace448 --trace-time http://127.0.0.1:34531/448 -K log/2/cmd > log/2/stdout448 2> log/2/stderr448 === End of file commands.log === Start of file http_server.log 19:26:49.838852 ====> Client connect 19:26:49.838893 accept_connection 3 returned 4 19:26:49.838918 Read 93 bytes 19:26:49.838928 Process 93 bytes request 19:26:49.838942 Got request: GET /verifiedserver HTTP/1.1 19:26:49.838951 Are-we-friendly question received 19:26:49.838979 Wrote request (93 bytes) input to log/2/server.input 19:26:49.838996 Identifying ourselves as friends 19:26:49.839097 Response sent (56 bytes) and written to log/2/server.response 19:26:49.839110 special request received, no persistency 19:26:49.839119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind453 ../src/curl -q --output log/17/curl453.out --include --trace-ascii log/17/trace453 --trace-time http://127.0.0.1:35993/453 --variable what@log/17/junk --expand-data "{{what}}" > log/17/stdout453 2> log/17/stderr453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind455 ../src/curl -q --output log/16/curl455.out --include --trace-ascii log/16/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35903/{{moby:b64}}/{{what:64dec}}/455" > log/16/stdout455 2> log/16/stderr455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind452 ../src/curl -q --output log/9/curl452.out --include --trace-ascii log/9/trace452 --trace-time http://127.0.0.1:43733/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/9/stdout452 2> log/9/stderr452 * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 35522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind448 ==104148== ==104148== Process terminating with default action of signal 4 (SIGILL) ==104148== Illegal opcode at address 0x492B75F ==104148== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104148== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104148== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104148== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104148== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104148== by 0x49908EB: curl_version_info (version.c:600) ==104148== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104148== by 0x4003269: main (tool_main.c:195) === End of file valgrind448 test 0455 [Variable using base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind455 ../src/curl -q --output log/16/curl455.out --include --trace-ascii log/16/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35903/{{moby:b64}}/{{what:64dec}}/455" > log/16/stdout455 2> log/16/stderr455 455: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind455 ../src/curl -q --output log/16/curl455.out --include --trace-ascii log/16/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:35903/{{moby:b64}}/{{what:64dec}}/455" > log/16/stdout455 2> log/16/stderr455 === End of file commands.log === Start of file http_server.log 19:26:50.415643 ====> Client connect 19:26:50.415680 accept_connection 3 returned 4 19:26:50.415703 Read 93 bytes 19:26:50.415713 Process 93 bytes request 19:26:50.415726 Got request: GET /verifiedserver HTTP/1.1 19:26:50.415734 Are-we-friendly question received 19:26:50.415760 Wrote request (93 bytes) input to log/16/server.input 19:26:50.415777 Identifying ourselves as friends 19:26:50.415852 Response sent (56 bytes) and written to log/16/server.response 19:26:50.415861 special request received, no persistency 19:26:50.415869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind455 ==104593== ==104593== Process terminating with default action of signal 4 (SIGILL) ==104593== Illegal opcode at address 0x492B75F ==104593== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104593== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104593== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104593== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104593== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104593== by 0x49908EB: curl_version_info (version.c:600) ==104593== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104593== by 0x4003269: main (tool_main.c:195) === End of file valgrind455 test 0453 [Variable output containing NUL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind453 ../src/curl -q --output log/17/curl453.out --include --trace-ascii log/17/trace453 --trace-time http://127.0.0.1:35993/453 --variable what@log/17/junk --expand-data "{{what}}" > log/17/stdout453 2> log/17/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/17/ directory after test 453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind453 ../src/curl -q --output log/17/curl453.out --include --trace-ascii log/17/trace453 --trace-time http://127.0.0.1:35993/453 --variable what@log/17/junk --expand-data "{{what}}" > log/17/stdout453 2> log/17/stderr453 === End of file commands.log === Start of file http_server.log 19:26:50.148928 ====> Client connect 19:26:50.148967 accept_connection 3 returned 4 19:26:50.149155 Read 93 bytes 19:26:50.149169 Process 93 bytes request 19:26:50.149181 Got request: GET /verifiedserver HTTP/1.1 19:26:50.149189 Are-we-friendly question received 19:26:50.149220 Wrote request (93 bytes) input to log/17/server.input 19:26:50.149236 Identifying ourselves as friends 19:26:50.149293 Response sent (56 bytes) and written to log/17/server.response 19:26:50.149302 special request received, no persistency 19:26:50.149310 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 34426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file junk  === End of file junk === Start of file server.cmd Testnum 453 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind453 ==104395== ==104395== Process terminating with default action of signal 4 (SIGILL) ==104395== Illegal opcode at address 0x492B75F ==104395== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104395== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104395== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104395== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104395== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104395== by 0x49908EB: curl_version_info (version.c:600) ==104395== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104395== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104395== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104395== by 0x4003269: main (tool_main.c:195) === End of file valgrind453 test 0452 [Variable using illegal fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind456 ../src/curl -q --output log/7/curl456.out --include --trace-ascii log/7/trace456 --trace-time http://127.0.0.1:40859/456 --variable what@log/7/junk --expand-data "{{what}}" > log/7/stdout456 2> log/7/stderr456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:33897/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 unction in expansion] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind452 ../src/curl -q --output log/9/curl452.out --include --trace-ascii log/9/trace452 --trace-time http://127.0.0.1:43733/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/9/stdout452 2> log/9/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/9/ directory after test 452 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind452 ../src/curl -q --output log/9/curl452.out --include --trace-ascii log/9/trace452 --trace-time http://127.0.0.1:43733/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/9/stdout452 2> log/9/stderr452 === End of file commands.log === Start of file http_server.log 19:26:49.114104 ====> Client connect 19:26:49.114140 accept_connection 3 returned 4 19:26:49.114163 Read 93 bytes 19:26:49.114173 Process 93 bytes request 19:26:49.114185 Got request: GET /verifiedserver HTTP/1.1 19:26:49.114194 Are-we-friendly question received 19:26:49.114222 Wrote request (93 bytes) input to log/9/server.input 19:26:49.114237 Identifying ourselves as friends 19:26:49.114299 Response sent (56 bytes) and written to log/9/server.response 19:26:49.114308 special request received, no persistency 19:26:49.114316 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34990 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 452 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind452 ==104344== ==104344== Process terminating with default action of signal 4 (SIGILL) ==104344== Illegal opcode at address 0x492B75F ==104344== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104344== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104344== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104344== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104344== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104344== by 0x49908EB: curl_version_info (version.c:600) ==104344== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104344== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104344== by 0x4003269: main (tool_main.c:195) === End of file valgrind452 test 0456 [Variable output starting with NUL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind456 ../src/curl -q --output log/7/curl456.out --include --trace-ascii log/7/trace456 --trace-time http://127.0.0.1:40859/456 --variable what@log/7/junk --expand-data "{{what}}" > log/7/stdout456 2> log/7/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/7/ directory after test 456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind456 ../src/curl -q --output log/7/curl456.out --include --trace-ascii log/7/trace456 --trace-time http://127.0.0.1:40859/456 --variable what@log/7/junk --expand-data "{{what}}" > log/7/stdout456 2> log/7/stderr456 === End of file commands.log === Start of file http_server.log 19:26:49.652080 ====> Client connect 19:26:49.652120 accept_connection 3 returned 4 19:26:49.652145 Read 93 bytes 19:26:49.652155 Process 93 bytes request 19:26:49.652169 Got request: GET /verifiedserver HTTP/1.1 19:26:49.652177 Are-we-friendly question received 19:26:49.652205 Wrote request (93 bytes) input to log/7/server.input 19:26:49.652222 Identifying ourselves as friends 19:26:49.652302 Response sent (56 bytes) and written to log/7/server.response 19:26:49.652312 special request received, no persistency 19:26:49.652320 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file junk hello === End of file junk === Start of file server.cmd Testnum 456 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind456 ==104681== ==104681== Process terminating with default action of signal 4 (SIGILL) ==104681== Illegal opcode at address 0x492B75F ==104681== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104681== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104681== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104681== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104681== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104681== by 0x49908EB: curl_version_info (version.c:600) ==104681== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104681== by 0x4003269: main (tool_main.c:195) === End of file valgrind456 test 0457 [chunked Transfer-Encoding with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:33897/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 457: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 457 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:33897/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 === End of file commands.log === Start of file http_server.log 19:26:49.741840 ====> Client connect 19:26:49.741880 accept_connection 3 returned 4 19:26:49.741903 Read 93 bytes 19:26:49.741913 Process 93 bytes request 19:26:49.741927 Got request: GET /verifiedserver HTTP/1.1 19:26:49.741935 Are-we-friendly question received 19:26:49.741963 Wrote request (93 bytes) input to log/20/server.input 19:26:49.741980 Identifying ourselves as friends 19:26:49.742043 Response sent (56 bytes) and written to log/20/server.response 19:26:49.742053 special request received, no persistency 19:26:49.742061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:40921/462 -K log/12/cmd > log/12/stdout462 2> log/12/stderr462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind459 ../src/curl -q --output log/18/curl459.out --include --trace-ascii log/18/trace459 --trace-time http://127.0.0.1:43739/459 --config log/18/config --silent > log/18/stdout459 2> log/18/stderr459 .1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 40118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind457 ==104720== ==104720== Process terminating with default action of signal 4 (SIGILL) ==104720== Illegal opcode at address 0x492B75F ==104720== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104720== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104720== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104720== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104720== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104720== by 0x49908EB: curl_version_info (version.c:600) ==104720== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104720== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104720== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104720== by 0x4003269: main (tool_main.c:195) === End of file valgrind457 test 0462 [Missing environment variables in config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:40921/462 -K log/12/cmd > log/12/stdout462 2> log/12/stderr462 curl returned 132, when expecting 2 462: exit FAILED == Contents of files in the log/12/ directory after test 462 === Start of file cmd variable %MISSING expand-data {{MISSING}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:40921/462 -K log/12/cmd > log/12/stdout462 2> log/12/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==104872== ==104872== Process terminating with default action of signal 4 (SIGILL) ==104872== Illegal opcode at address 0x492B75F ==104872== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104872== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104872== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104872== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104872== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104872== by 0x49908EB: curl_version_info (version.c:600) ==104872== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104872== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104872== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104872== by 0x4003269: main (tool_main.c:195) === End of file valgrind462 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind460 ../src/curl -q --output log/19/curl460.out --include --trace-ascii log/19/trace460 --trace-time --expand-url > log/19/stdout460 2> log/19/stderr460 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind458 ../src/curl -q --include --trace-ascii log/24/trace458 --trace-time http://127.0.0.1:38895/458 -K log/24/cmd > log/24/stdout458 2> log/24/stderr458 setenv COLUMNS = 10000 test 0459 [config file with argument using whitespace missing quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind459 ../src/curl -q --output log/18/curl459.out --include --trace-ascii log/18/trace459 --trace-time http://127.0.0.1:43739/459 --config log/18/config --silent > log/18/stdout459 2> log/18/stderr459 459: stderr FAILED: --- log/18/check-expected 2026-10-15 19:26:52.872687389 +0000 +++ log/18/check-generated 2026-10-15 19:26:52.870616530 +0000 @@ -1 +0,0 @@ -log/18/config:1 Option 'data' uses argument with unquoted whitespace. This may cause side-effects. Consider double quotes. == Contents of files in the log/18/ directory after test 459 === Start of file check-expected log/18/config:1 Option 'data' uses argument with unquoted whitespace. This may cause side-effects. Consider double quotes. === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind459 ../src/curl -q --output log/18/curl459.out --include --trace-ascii log/18/trace459 --trace-time http://127.0.0.1:43739/459 --config log/18/config --silent > log/18/stdout459 2> log/18/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 19:26:50.935767 ====> Client connect 19:26:50.935817 accept_connection 3 returned 4 19:26:50.935846 Read 93 bytes 19:26:50.935857 Process 93 bytes request 19:26:50.935962 Got request: GET /verifiedserver HTTP/1.1 19:26:50.935976 Are-we-friendly question received 19:26:50.936020 Wrote request (93 bytes) input to log/18/server.input 19:26:50.936039 Identifying ourselves as friends 19:26:50.936130 Response sent (56 bytes) and written to log/18/server.response 19:26:50.936142 special request received, no persistency 19:26:50.936151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 459 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind459 ==104873== ==104873== Process terminating with default action of signal 4 (SIGILL) ==104873== Illegal opcode at address 0x492B75F ==104873== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104873== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104873== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104873== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104873== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104873== by 0x49908EB: curl_version_info (version.c:600) ==104873== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104873== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104873== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104873== by 0x4003269: main (tool_main.c:195) === End of file valgrind459 test 0460 [try --expand without an argument] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind460 ../src/curl -q --output log/19/curl460.out --include --trace-ascii log/19/trace460 --trace-time --expand-url > log/19/stdout460 2> log/19/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/19/ directory after test 460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind460 ../src/curl -q --output log/19/curl460.out --include --trace-ascii log/19/trace460 --trace-time --expand-url > log/19/stdout460 2> log/19/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==104858== ==104858== Process terminating with default action of signal 4 (SIGILL) ==104858== Illegal opcode at address 0x492B75F ==104858== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104858== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104858== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104858== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104858== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104858== by 0x49908EB: curl_version_info (version.c:600) ==104858== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104858== by 0x4003269: main (tool_main.c:195) === End of file valgrind460 setenv FUNVALUE = contents458 setenv VALUE2 = curl test 0458 [variable expand the filename with --expand-output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind458 ../src/curl -q --include --trace-ascii log/24/trace458 --trace-time http://127.0.0.1:38895/458 -K log/24/cmd > log/24/stdout458 2> log/24/stderr458 458: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 458 === Start of file cmd --variable %FUNVALUE --expand-output log/24/{{FUNVALUE}} === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind458 ../src/curl -q --include --trace-ascii log/24/trace458 --trace-time http://127.0.0.1:38895/458 -K log/24/cmd > log/24/stdout458 2> log/24/stderr458 === End of file commands.log === Start of file http_server.log 19:26:49.865267 ====> Client connect 19:26:49.865298 accept_connection 3 returned 4 19:26:49.865318 Read 93 bytes 19:26:49.865327 Process 93 bytes request 19:26:49.865339 Got request: GET /verifiedserver HTTP/1.1 19:26:49.865347 Are-we-friendly question received 19:26:49.865370 Wrote request (93 bytes) input to log/24/server.input 19:26:49.865385 Identifying ourselves as friends 19:26:49.865441 Response sent (56 bytes) and written to log/24/server.response 19:26:49.865449 special request received, no persistency 19:26:49.865457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 58662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind458 ==104800== ==104800== Process terminating with default action of signal 4 (SIGILL) ==104800== Illegal opcode at address 0x492B75F ==104800== at 0x492B7CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind463 ../src/curl -q --output log/10/curl463.out --include --trace-ascii log/10/trace463 --trace-time -d @log/10/input463 http://127.0.0.1:40913/463 > log/10/stdout463 2> log/10/stderr463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind461 ../src/curl -q --output log/6/curl461.out --include --trace-ascii log/6/trace461 --trace-time http://127.0.0.1:33935/461 -H host: > log/6/stdout461 2> log/6/stderr461 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind467 ../src/curl -q --output log/13/curl467.out --include --trace-ascii log/13/trace467 --trace-time curl -v http://example.com > log/13/stdout467 2> log/13/stderr467 5F: formatf.constprop.2 (mprintf.c:1115) ==104800== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104800== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104800== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104800== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104800== by 0x49908EB: curl_version_info (version.c:600) ==104800== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104800== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104800== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104800== by 0x4003269: main (tool_main.c:195) === End of file valgrind458 test 0463 [HTTP with -d @file with file containing CR, LF and NUL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind463 ../src/curl -q --output log/10/curl463.out --include --trace-ascii log/10/trace463 --trace-time -d @log/10/input463 http://127.0.0.1:40913/463 > log/10/stdout463 2> log/10/stderr463 463: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 463 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind463 ../src/curl -q --output log/10/curl463.out --include --trace-ascii log/10/trace463 --trace-time -d @log/10/input463 http://127.0.0.1:40913/463 > log/10/stdout463 2> log/10/stderr463 === End of file commands.log === Start of file http_server.log 19:26:50.223949 ====> Client connect 19:26:50.223985 accept_connection 3 returned 4 19:26:50.224006 Read 93 bytes 19:26:50.224015 Process 93 bytes request 19:26:50.224028 Got request: GET /verifiedserver HTTP/1.1 19:26:50.224036 Are-we-friendly question received 19:26:50.224063 Wrote request (93 bytes) input to log/10/server.input 19:26:50.224079 Identifying ourselves as friends 19:26:50.224142 Response sent (56 bytes) and written to log/10/server.response 19:26:50.224151 special request received, no persistency 19:26:50.224160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file input463 one two three fourfive === End of file input463 === Start of file server.cmd Testnum 463 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind463 ==105106== ==105106== Process terminating with default action of signal 4 (SIGILL) ==105106== Illegal opcode at address 0x492B75F ==105106== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105106== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105106== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105106== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105106== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105106== by 0x49908EB: curl_version_info (version.c:600) ==105106== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105106== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105106== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105106== by 0x4003269: main (tool_main.c:195) === End of file valgrind463 test 0461 [disable Host: when specified as lower case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind461 ../src/curl -q --output log/6/curl461.out --include --trace-ascii log/6/trace461 --trace-time http://127.0.0.1:33935/461 -H host: > log/6/stdout461 2> log/6/stderr461 461: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 461 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind461 ../src/curl -q --output log/6/curl461.out --include --trace-ascii log/6/trace461 --trace-time http://127.0.0.1:33935/461 -H host: > log/6/stdout461 2> log/6/stderr461 === End of file commands.log === Start of file http_server.log 19:26:50.052086 ====> Client connect 19:26:50.052125 accept_connection 3 returned 4 19:26:50.052150 Read 93 bytes 19:26:50.052161 Process 93 bytes request 19:26:50.052174 Got request: GET /verifiedserver HTTP/1.1 19:26:50.052183 Are-we-friendly question received 19:26:50.052215 Wrote request (93 bytes) input to log/6/server.input 19:26:50.052235 Identifying ourselves as friends 19:26:50.052314 Response sent (56 bytes) and written to log/6/server.response 19:26:50.052327 special request received, no persistency 19:26:50.052336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 46260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 461 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind461 ==104981== ==104981== Process terminating with default action of signal 4 (SIGILL) ==104981== Illegal opcode at address 0x492B75F ==104981== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==104981== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==104981== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==104981== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==104981== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==104981== by 0x49908EB: curl_version_info (version.c:600) ==104981== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==104981== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==104981== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==104981== by 0x4003269: main (tool_main.c:195) === End of file valgrind461 test 0467 [non-existing short option letter (after one that exists)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind467 ../src/curl -q --output log/13/curl467.out --include --trace-ascii log/13/trace467 --trace-time curl -v http://example.com > log/13/stdout467 2> log/13/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/13/ directory after test 467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind467 ../src/curl -q --output log/13/curl467.out --include --trace-ascii log/13/trace467 --trace-time curl -v http://example.com > log/13/stdout467 2> log/13/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:38815/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 == Start of file valgrind467 ==105159== ==105159== Process terminating with default action of signal 4 (SIGILL) ==105159== Illegal opcode at address 0x492B75F ==105159== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105159== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105159== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105159== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105159== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105159== by 0x49908EB: curl_version_info (version.c:600) ==105159== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105159== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105159== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105159== by 0x4003269: main (tool_main.c:195) === End of file valgrind467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind470 ../src/curl -q --output log/23/curl470.out --include --trace-ascii log/23/trace470 --trace-time 127.0.0.1:44711 --no-progress-meter -K "log/23/input470" > log/23/stdout470 2> log/23/stderr470 test 0468 [set -w in config, then reset -w to blank on cmdline] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:38815/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 468: stdout FAILED: --- log/1/check-expected 2026-10-15 19:26:53.379990824 +0000 +++ log/1/check-generated 2026-10-15 19:26:53.377173287 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/1/ directory after test 468 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file cmd468 -w "output\n" === End of file cmd468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind468 ../src/curl -q --trace-ascii log/1/trace468 --trace-time http://127.0.0.1:38815/468 -K log/1/cmd468 -w "" > log/1/stdout468 2> log/1/stderr468 === End of file commands.log === Start of file http_server.log 19:26:51.409334 ====> Client connect 19:26:51.409366 accept_connection 3 returned 4 19:26:51.409385 Read 93 bytes 19:26:51.409394 Process 93 bytes request 19:26:51.409407 Got request: GET /verifiedserver HTTP/1.1 19:26:51.409415 Are-we-friendly question received 19:26:51.409440 Wrote request (93 bytes) input to log/1/server.input 19:26:51.409454 Identifying ourselves as friends 19:26:51.409510 Response sent (56 bytes) and written to log/1/server.response 19:26:51.409519 special request received, no persistency 19:26:51.409526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 44294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind468 ==105212== ==105212== Process terminating with default action of signal 4 (SIGILL) ==105212== Illegal opcode at address 0x492B75F ==105212== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105212== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105212== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105212== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105212== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105212== by 0x49908EB: curl_version_info (version.c:600) ==105212== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105212== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105212== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105212== by 0x4003269: main (tool_main.c:195) === End of file valgrind468 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind469 ../src/curl -q --output log/4/curl469.out --include --trace-ascii log/4/trace469 --trace-time -H “host: 127.0.0.1:35735/“ -s > log/4/stdout469 2> log/4/stderr469 test 0470 [warn about Unicode quote character read from config file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind470 ../src/curl -q --output log/23/curl470.out --include --trace-ascii log/23/trace470 --trace-time 127.0.0.1:44711 --no-progress-meter -K "log/23/input470" > log/23/stdout470 2> log/23/stderr470 470: stderr FAILED: --- log/23/check-expected 2026-10-15 19:26:53.423856924 +0000 +++ log/23/check-generated 2026-10-15 19:26:53.420497230 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] -Warning: ASCII was intended?[CR][LF] == Contents of files in the log/23/ directory after test 470 === Start of file check-expected Warning: The argument '%e2%80%9chost:fake%e2%80%9d' starts with a Unicode character. Maybe [CR][LF] Warning: ASCII was intended?[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind470 ../src/curl -q --output log/23/curl470.out --include --trace-ascii log/23/trace470 --trace-time 127.0.0.1:44711 --no-progress-meter -K "log/23/input470" > log/23/stdout470 2> log/23/stderr470 === End of file commands.log === Start of file http_server.log 19:26:50.595542 ====> Client connect 19:26:50.595581 accept_connection 3 returned 4 19:26:50.595606 Read 93 bytes 19:26:50.595618 Process 93 bytes request 19:26:50.595634 Got request: GET /verifiedserver HTTP/1.1 19:26:50.595644 Are-we-friendly question received 19:26:50.595675 Wrote request (93 bytes) input to log/23/server.input 19:26:50.595694 Identifying ourselves as friends 19:26:50.595763 Response sent (56 bytes) and written to log/23/server.response 19:26:50.595775 special request received, no persistency 19:26:50.595783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 49002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file input470 -H “host:fake” === End of file input470 === Start of file server.cmd Testnum 470 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind470 ==105329== ==105329== Process terminating with default action of signal 4 (SIGILL) ==105329== Illegal opcode at address 0x492B75F ==105329== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105329== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105329== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105329== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105329== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105329== by 0x49908EB: curl_version_info (version.c:600) ==105329== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105329== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105329== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105329== by 0x4003269: main (tool_main.c:195) === End of file valgrind470 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-time "http://127.0.0.1:45467/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-time "ftp://127.0.0.1:42249/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:39881/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/stderr477 test 0469 [warn about Unicode quote character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind469 ../src/curl -q --output log/4/curl469.out --include --trace-ascii log/4/trace469 --trace-time -H “host: 127.0.0.1:35735/“ -s > log/4/stdout469 2> log/4/stderr469 469: stderr FAILED: --- log/4/check-expected 2026-10-15 19:26:53.670271060 +0000 +++ log/4/check-generated 2026-10-15 19:26:53.667110441 +0000 @@ -1,2 +0,0 @@ -Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] -Warning: was intended?[LF] == Contents of files in the log/4/ directory after test 469 === Start of file check-expected Warning: The argument '%e2%80%9chost:' starts with a Unicode character. Maybe ASCII [LF] Warning: was intended?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind469 ../src/curl -q --output log/4/curl469.out --include --trace-ascii log/4/trace469 --trace-time -H “host: 127.0.0.1:35735/“ -s > log/4/stdout469 2> log/4/stderr469 === End of file commands.log === Start of file http_server.log 19:26:51.602982 ====> Client connect 19:26:51.603017 accept_connection 3 returned 4 19:26:51.603038 Read 93 bytes 19:26:51.603047 Process 93 bytes request 19:26:51.603060 Got request: GET /verifiedserver HTTP/1.1 19:26:51.603069 Are-we-friendly question received 19:26:51.603097 Wrote request (93 bytes) input to log/4/server.input 19:26:51.603113 Identifying ourselves as friends 19:26:51.603173 Response sent (56 bytes) and written to log/4/server.response 19:26:51.603182 special request received, no persistency 19:26:51.603191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 56062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 469 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind469 ==105327== ==105327== Process terminating with default action of signal 4 (SIGILL) ==105327== Illegal opcode at address 0x492B75F ==105327== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105327== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105327== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105327== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105327== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105327== by 0x49908EB: curl_version_info (version.c:600) ==105327== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105327== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105327== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105327== by 0x4003269: main (tool_main.c:195) === End of file valgrind469 test 0471 [Reject HTTP/1.1 to HTTP/2 switch on the same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-time "http://127.0.0.1:45467/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 471: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 471 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind471 ../src/curl -q --include --trace-ascii log/14/trace471 --trace-time "http://127.0.0.1:45467/{471,4710001}" -o "log/14/dumpit#1.dump" > log/14/stdout471 2> log/14/stderr471 === End of file commands.log === Start of file http_server.log 19:26:51.039594 ====> Client connect 19:26:51.039640 accept_connection 3 returned 4 19:26:51.039666 Read 93 bytes 19:26:51.039676 Process 93 bytes request 19:26:51.039689 Got request: GET /verifiedserver HTTP/1.1 19:26:51.039699 Are-we-friendly question received 19:26:51.039728 Wrote request (93 bytes) input to log/14/server.input 19:26:51.039745 Identifying ourselves as friends 19:26:51.039832 Response sent (56 bytes) and written to log/14/server.response 19:26:51.039843 special request received, no persistency 19:26:51.039851 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 48686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 471 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind471 ==105470== ==105470== Process terminating with default action of signal 4 (SIGILL) ==105470== Illegal opcode at address 0x492B75F ==105470== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105470== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105470== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105470== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105470== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105470== by 0x49908EB: curl_version_info (version.c:600) ==105470== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105470== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105470== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105470== by 0x4003269: main (tool_main.c:195) === End of file valgrind471 test 0477 [HTTP GET with maximum filesize with a redirect sending data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:39881/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/stderr477 477: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 477 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:39881/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/stderr477 === End of file commands.log === Start of file http_server.log 19:26:51.572783 ====> Client connect 19:26:51.572820 accept_connection 3 returned 4 19:26:51.572843 Read 93 bytes 19:26:51.572854 Process 93 bytes request 19:26:51.572869 Got request: GET /verifiedserver HTTP/1.1 19:26:51.572878 Are-we-friendly question received 19:26:51.572932 Wrote request (93 bytes) input to log/21/server.input 19:26:51.572950 Identifying ourselves as friends 19:26:51.573018 Response sent (56 bytes) and written to log/21/server.response 19:26:51.573030 special request received, no persistency 19:26:51.573039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 51946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 477 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind477 ==105684== ==105684== Process terminating with default action of signal 4 (SIGILL) ==105684== Illegal opcode at address 0x492B75F ==105684== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105684== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105684== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105684== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105684== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105684== by 0x49908EB: curl_version_info (version.c:600) ==105684== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105684== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105684== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105684== by 0x4003269: main (tool_main.c:195) === End of file valgrind477 test 0475 [FTP PASV upload ASCII file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-time "ftp://127.0.0.1:42249/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 475: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind475 ../src/curl -q --output log/3/curl475.out --include --trace-ascii log/3/trace475 --trace-time "ftp://127.0.0.1:42249/475;type=a" -T log/3/test475.txt > log/3/stdout475 2> log/3/stderr475 === End of file commands.log === Start of file ftp_server.log 19:26:51.778834 ====> Client connect 19:26:51.779045 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:51.779352 < "USER anonymous" 19:26:51.779390 > "331 We are happy you popped in![CR][LF]" 19:26:51.779573 < "PASS ftp@example.com" 19:26:51.779602 > "230 Welcome you silly person[CR][LF]" 19:26:51.779767 < "PWD" 19:26:51.779802 > "257 "/" is current directory[CR][LF]" 19:26:51.779974 < "EPSV" 19:26:51.780002 ====> Passive DATA channel requested by client 19:26:51.780017 DATA sockfilt for passive data channel starting... 19:26:51.783593 DATA sockfilt for passive data channel started (pid 105610) 19:26:51.783724 DATA sockfilt for passive data channel listens on port 39691 19:26:51.783774 > "229 Entering Passive Mode (|||39691|)[CR][LF]" 19:26:51.783793 Client has been notified that upcoming DATA connection is awaited on port 39691 19:26:51.784106 Client connects to port 39691 19:26:51.784143 ====> Client established passive DATA connection on port 39691 19:26:51.784232 < "TYPE I" 19:26:51.784266 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:51.784441 < "SIZE verifiedserver" 19:26:51.784481 > "213 17[CR][LF]" 19:26:51.784643 < "RETR verifiedserver" 19:26:51.784680 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:51.784767 =====> Closing passive DATA connection... 19:26:51.784783 Server disconnects passive DATA connection 19:26:51.785024 Server disconnected passive DATA connection 19:26:51.785051 DATA sockfilt for passive data channel quits (pid 105610) 19:26:51.785414 DATA sockfilt for passive data channel quit (pid 105610) 19:26:51.785439 =====> Closed passive DATA connection 19:26:51.785469 > "226 File transfer complete[CR][LF]" 19:26:51.826765 < "QUIT" 19:26:51.826823 > "221 bye bye baby[CR][LF]" 19:26:51.827932 MAIN sockfilt said DISC 19:26:51.827974 ====> Client disconnected 19:26:51.828056 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:52.386037 ====> Client connect 19:26:52.386407 Received DATA (on stdin) 19:26:52.386423 > 146 bytes data, server => client 19:26:52.386435 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:52.386445 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:52.386454 '220 \___|\___/|_| \_\_____|\r\n' 19:26:52.386546 < 16 bytes data, client => server 19:26:52.386559 'USER anonymous\r\n' 19:26:52.386736 Received DATA (on stdin) 19:26:52.386747 > 33 bytes data, server => client 19:26:52.386757 '331 We are happy you popped in!\r\n' 19:26:52.386815 < 22 bytes data, client => server 19:26:52.386827 'PASS ftp@example.com\r\n' 19:26:52.386946 Received DATA (on stdin) 19:26:52.386956 > 30 bytes data, server => client 19:26:52.386966 '230 Welcome you silly person\r\n' 19:26:52.387019 < 5 bytes data, client => server 19:26:52.387030 'PWD\r\n' 19:26:52.387145 Received DATA (on stdin) 19:26:52.387156 > 30 bytes data, server => client 19:26:52.387166 '257 "/" is current directory\r\n' 19:26:52.387229 < 6 bytes data, client => server 19:26:52.387241 'EPSV\r\n' 19:26:52.391149 Received DATA (on stdin) 19:26:52.391165 > 39 bytes data, server => client 19:26:52.391176 '229 Entering Passive Mode (|||39691|)\r\n' 19:26:52.391364 < 8 bytes data, client => server 19:26:52.391380 'TYPE I\r\n' 19:26:52.391610 Received DATA (on stdin) 19:26:52.391622 > 33 bytes data, server => client 19:26:52.391632 '200 I modify TYPE as you wanted\r\n' 19:26:52.391690 < 21 bytes data, client => server 19:26:52.391702 'SIZE verifiedserver\r\n' 19:26:52.391823 Received DATA (on stdin) 19:26:52.391833 > 8 bytes data, server => client 19:26:52.391843 '213 17\r\n' 19:26:52.391898 < 21 bytes data, client => server 19:26:52.391913 'RETR verifiedserver\r\n' 19:26:52.392128 Received DATA (on stdin) 19:26:52.392139 > 29 bytes data, server => client 19:26:52.392148 '150 Binary junk (17 bytes).\r\n' 19:26:52.392812 Received DATA (on stdin) 19:26:52.392824 > 28 bytes data, server => client 19:26:52.392834 '226 File transfer complete\r\n' 19:26:52.433918 < 6 bytes data, client => server 19:26:52.433952 'QUIT\r\n' 19:26:52.434181 Received DATA (on stdin) 19:26:52.434194 > 18 bytes data, server => client 19:26:52.434204 '221 bye bye baby\r\n' 19:26:52.435226 ====> Client disconnect 19:26:52.435409 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:51.390563 Running IPv4 version 19:26:51.390659 Listening on port 39691 19:26:51.390704 Wrote pid 105610 to log/3/server/ftp_sockdata.pid 19:26:51.390874 Received PING (on stdin) 19:26:51.390970 Received PORT (on stdin) 19:26:51.391401 ====> Client connect 19:26:51.392207 Received DATA (on stdin) 19:26:51.392222 > 17 bytes data, server => client 19:26:51.392231 'WE ROOLZ: 84710\r\n' 19:26:51.392295 Received DISC (on stdin) 19:26:51.392308 ====> Client forcibly disconnected 19:26:51.392401 Received QUIT (on stdin) 19:26:51.392411 quits 19:26:51.392526 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 475 === End of file server.cmd === Start of file test475.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind473 ../src/curl -q --output log/22/curl473.out --include --trace-ascii log/22/trace473 --trace-time http://127.0.0.1:35989/473 --etag-save log/22/etag473 > log/22/stdout473 2> log/22/stderr473 used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test475.txt === Start of file valgrind475 ==105659== ==105659== Process terminating with default action of signal 4 (SIGILL) ==105659== Illegal opcode at address 0x492B75F ==105659== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105659== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105659== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105659== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105659== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105659== by 0x49908EB: curl_version_info (version.c:600) ==105659== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105659== by 0x4003269: main (tool_main.c:195) === End of file valgrind475 test 0473 [Check if --etag-save saved correct etag to a file on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind473 ../src/curl -q --output log/22/curl473.out --include --trace-ascii log/22/trace473 --trace-time http://127.0.0.1:35989/473 --etag-save log/22/etag473 > log/22/stdout473 2> log/22/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind484 ../src/curl -q --output log/9/curl484.out --include --trace-ascii log/9/trace484 --trace-time http://example.com/484 --etag-compare log/9/etag484 --etag-save log/9/etag484 --url http://example.net/fooo > log/9/stdout484 2> log/9/stderr484 stderr473 473: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind473 ../src/curl -q --output log/22/curl473.out --include --trace-ascii log/22/trace473 --trace-time http://127.0.0.1:35989/473 --etag-save log/22/etag473 > log/22/stdout473 2> log/22/stderr473 === End of file commands.log === Start of file http_server.log 19:26:51.194986 ====> Client connect 19:26:51.195019 accept_connection 3 returned 4 19:26:51.195040 Read 93 bytes 19:26:51.195049 Process 93 bytes request 19:26:51.195061 Got request: GET /verifiedserver HTTP/1.1 19:26:51.195069 Are-we-friendly question received 19:26:51.195094 Wrote request (93 bytes) input to log/22/server.input 19:26:51.195108 Identifying ourselves as friends 19:26:51.195164 Response sent (56 bytes) and written to log/22/server.response 19:26:51.195173 special request received, no persistency 19:26:51.195180 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 56604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind473 ==105525== ==105525== Process terminating with default action of signal 4 (SIGILL) ==105525== Illegal opcode at address 0x492B75F ==105525== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105525== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105525== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105525== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105525== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105525== by 0x49908EB: curl_version_info (version.c:600) ==105525== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105525== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105525== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105525== by 0x4003269: main (tool_main.c:195) === End of file valgrind473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind483 ../src/curl -q --output log/16/curl483.out --include --trace-ascii log/16/trace483 --trace-time http://127.0.0.1:35903/483 -c log/16/c483 > log/16/stdout483 2> log/16/stderr483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind478 ../src/curl -q --output log/8/curl478.out --include --trace-ascii log/8/trace478 --trace-time --netrc --netrc-file log/8/netrc478 -x http://127.0.0.1:44467/ http://debbie@github.com/ > log/8/stdout478 2> log/8/stderr478 test 0484 [Use --etag-compare and -save with more than one URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind484 ../src/curl -q --output log/9/curl484.out --include --trace-ascii log/9/trace484 --trace-time http://example.com/484 --etag-compare log/9/etag484 --etag-save log/9/etag484 --url http://example.net/fooo > log/9/stdout484 2> log/9/stderr484 484: stderr FAILED: --- log/9/check-expected 2026-10-15 19:26:54.477943020 +0000 +++ log/9/check-generated 2026-10-15 19:26:54.473602691 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --url: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/9/ directory after test 484 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --url: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind484 ../src/curl -q --output log/9/curl484.out --include --trace-ascii log/9/trace484 --trace-time http://example.com/484 --etag-compare log/9/etag484 --etag-save log/9/etag484 --url http://example.net/fooo > log/9/stdout484 2> log/9/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==105977== ==105977== Process terminating with default action of signal 4 (SIGILL) ==105977== Illegal opcode at address 0x492B75F ==105977== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105977== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105977== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105977== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105977== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105977== by 0x49908EB: curl_version_info (version.c:600) ==105977== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105977== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105977== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105977== by 0x4003269: main (tool_main.c:195) === End of file valgrind484 test 0483 [HTTP cookies with long expire dates] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind483 ../src/curl -q --output log/16/curl483.out --include --trace-ascii log/16/trace483 --trace-time http://127.0.0.1:35903/483 -c log/16/c483 > log/16/stdout483 2> log/16/stderr483 483: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind483 ../src/curl -q --output log/16/curl483.out --include --trace-ascii log/16/trace483 --trace-time http://127.0.0.1:35903/483 -c log/16/c483 > log/16/stdout483 2> log/16/stderr483 === End of file commands.log === Start of file http_server.log 19:26:52.902119 ====> Client connect 19:26:52.902179 accept_connection 3 returned 4 19:26:52.902203 Read 93 bytes 19:26:52.902213 Process 93 bytes request 19:26:52.902226 Got request: GET /verifiedserver HTTP/1.1 19:26:52.902235 Are-we-friendly question received 19:26:52.902261 Wrote request (93 bytes) input to log/16/server.input 19:26:52.902278 Identifying ourselves as friends 19:26:52.902340 Response sent (56 bytes) and written to log/16/server.response 19:26:52.902350 special request received, no persistency 19:26:52.902358 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 40914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind483 ==106052== ==106052== Process terminating with default action of signal 4 (SIGILL) ==106052== Illegal opcode at address 0x492B75F ==106052== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106052== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106052== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106052== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106052== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106052== by 0x49908EB: curl_version_info (version.c:600) ==106052== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106052== by 0x4003269: main (tool_main.c:195) === End of file valgrind483 test 0478 [.netrc with multiple accounts for same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind478 ../src/curl -q --output log/8/curl478.out --include --trace-ascii log/8/trace478 --trace-time --netrc --netrc-file log/8/netrc478 -x http://127.0.0.1:44467/ http://debbie@github.com/ > log/8/stdout478 2> log/8/stderr478 478: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 478 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind478 ../src/curl -q --output log/8/curl478.out --include --trace-ascii log/8/trace478 --trace-time --netrc --netrc-file log/8/netrc478 -x http://127.0.0.1:44467/ http://debbie@github.com/ > log/8/stdout478 2> log/8/stderr478 === End of file commands.log === Start of file http_server.log 19:26:51.660986 ====> Client connect 19:26:51.661027 accept_connection 3 returned 4 19:26:51.661051 Read 93 bytes 19:26:51.661061 Process 93 bytes request 19:26:51.661074 Got request: GET /verifiedserver HTTP/1.1 19:26:51.661083 Are-we-friendly question received 19:26:51.661115 Wrote request (93 bytes) input to log/8/server.input 19:26:51.661132 Identifying ourselves as friends 19:26:51.661205 Response sent (56 bytes) and written to log/8/server.response 19:26:51.661217 special request received, no persistency 19:26:51.661226 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 51296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file netrc478 machine github.com password weird password firstone login daniel machine github.com machine github.com login debbie machine github.com password weird password "sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind476 ../src/curl -q --output log/5/curl476.out --include --trace-ascii log/5/trace476 --trace-time "ftp://127.0.0.1:39641/476;type=a" -T log/5/test476.txt > log/5/stdout476 2> log/5/stderr476 econd\r" login debbie === End of file netrc478 === Start of file server.cmd Testnum 478 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind478 ==105773== ==105773== Process terminating with default action of signal 4 (SIGILL) ==105773== Illegal opcode at address 0x492B75F ==105773== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105773== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105773== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105773== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105773== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105773== by 0x49908EB: curl_version_info (version.c:600) ==105773== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105773== by 0x4003269: main (tool_main.c:195) === End of file valgrind478 test 0476 [FTP PASV upload ASCII file already using CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind476 ../src/curl -q --output log/5/curl476.out --include --trace-ascii log/5/trace476 --trace-time "ftp://127.0.0.1:39641/476;type=a" -T log/5/test476.txt > log/5/stdout476 2> log/5/stderr476 476: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind476 ../src/curl -q --output log/5/curl476.out --include --trace-ascii log/5/trace476 --trace-time "ftp://127.0.0.1:39641/476;type=a" -T log/5/test476.txt > log/5/stdout476 2> log/5/stderr476 === End of file commands.log === Start of file ftp_server.log 19:26:51.918808 ====> Client connect 19:26:51.919002 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:51.922695 < "USER anonymous" 19:26:51.922745 > "331 We are happy you popped in![CR][LF]" 19:26:51.927332 < "PASS ftp@example.com" 19:26:51.927374 > "230 Welcome you silly person[CR][LF]" 19:26:51.929656 < "PWD" 19:26:51.929698 > "257 "/" is current directory[CR][LF]" 19:26:51.932312 < "EPSV" 19:26:51.932345 ====> Passive DATA channel requested by client 19:26:51.932362 DATA sockfilt for passive data channel starting... 19:26:51.945437 DATA sockfilt for passive data channel started (pid 105657) 19:26:51.945622 DATA sockfilt for passive data channel listens on port 40995 19:26:51.945690 > "229 Entering Passive Mode (|||40995|)[CR][LF]" 19:26:51.945717 Client has been notified that upcoming DATA connection is awaited on port 40995 19:26:51.946070 Client connects to port 40995 19:26:51.946103 ====> Client established passive DATA connection on port 40995 19:26:51.946208 < "TYPE I" 19:26:51.946249 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:51.946446 < "SIZE verifiedserver" 19:26:51.946492 > "213 17[CR][LF]" 19:26:51.946690 < "RETR verifiedserver" 19:26:51.946731 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:51.946843 =====> Closing passive DATA connection... 19:26:51.946871 Server disconnects passive DATA connection 19:26:51.947129 Server disconnected passive DATA connection 19:26:51.947162 DATA sockfilt for passive data channel quits (pid 105657) 19:26:51.947480 DATA sockfilt for passive data channel quit (pid 105657) 19:26:51.947511 =====> Closed passive DATA connection 19:26:51.947543 > "226 File transfer complete[CR][LF]" 19:26:51.998977 < "QUIT" 19:26:51.999040 > "221 bye bye baby[CR][LF]" 19:26:52.000366 MAIN sockfilt said DISC 19:26:52.000405 ====> Client disconnected 19:26:52.000476 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:51.526051 ====> Client connect 19:26:51.526385 Received DATA (on stdin) 19:26:51.526398 > 146 bytes data, server => client 19:26:51.526409 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:51.526419 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:51.526428 '220 \___|\___/|_| \_\_____|\r\n' 19:26:51.529655 < 16 bytes data, client => server 19:26:51.529685 'USER anonymous\r\n' 19:26:51.530126 Received DATA (on stdin) 19:26:51.530142 > 33 bytes data, server => client 19:26:51.530153 '331 We are happy you popped in!\r\n' 19:26:51.534555 < 22 bytes data, client => server 19:26:51.534579 'PASS ftp@example.com\r\n' 19:26:51.534751 Received DATA (on stdin) 19:26:51.534763 > 30 bytes data, server => client 19:26:51.534773 '230 Welcome you silly person\r\n' 19:26:51.536920 < 5 bytes data, client => server 19:26:51.536938 'PWD\r\n' 19:26:51.537074 Received DATA (on stdin) 19:26:51.537084 > 30 bytes data, server => client 19:26:51.537094 '257 "/" is current directory\r\n' 19:26:51.539579 < 6 bytes data, client => server 19:26:51.539597 'EPSV\r\n' 19:26:51.553110 Received DATA (on stdin) 19:26:51.553127 > 39 bytes data, server => client 19:26:51.553138 '229 Entering Passive Mode (|||40995|)\r\n' 19:26:51.553389 < 8 bytes data, client => server 19:26:51.553404 'TYPE I\r\n' 19:26:51.553636 Received DATA (on stdin) 19:26:51.553649 > 33 bytes data, server => client 19:26:51.553659 '200 I modify TYPE as you wanted\r\n' 19:26:51.553723 < 21 bytes data, client => server 19:26:51.553736 'SIZE verifiedserver\r\n' 19:26:51.553880 Received DATA (on stdin) 19:26:51.553893 > 8 bytes data, server => client 19:26:51.553903 '213 17\r\n' 19:26:51.553967 < 21 bytes data, client => server 19:26:51.553983 'RETR verifiedserver\r\n' 19:26:51.554355 Received DATA (on stdin) 19:26:51.554368 > 29 bytes data, server => client 19:26:51.554379 '150 Binary junk (17 bytes).\r\n' 19:26:51.554928 Received DATA (on stdin) 19:26:51.554941 > 28 bytes data, server => client 19:26:51.554952 '226 File transfer complete\r\n' 19:26:51.606187 < 6 bytes data, client => server 19:26:51.606213 'QUIT\r\n' 19:26:51.606447 Received DATA (on stdin) 19:26:51.606463 > 18 bytes data, server => client 19:26:51.606474 '221 bye bye baby\r\n' 19:26:51.607695 ====> Client disconnect 19:26:51.607871 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:51.542889 Running IPv4 version 19:26:51.542991 Listening on port 40995 19:26:51.543035 Wrote pid 105657 to log/5/server/ftp_sockdata.pid 19:26:51.552711 Received PING (on stdin) 19:26:51.552881 Received PORT (on stdin) 19:26:51.553353 ====> Client connect 19:26:51.554256 Received DATA (on stdin) 19:26:51.554270 > 17 bytes data, server => client 19:26:51.554280 'WE ROOLZ: 85245\r\n' 19:26:51.554312 Received DISC (on stdin) 19:26:51.554327 ====> Client forcibly disconnected 19:26:51.554556 Received QUIT (on stdin) 19:26:51.554569 quits 19:26:51.554647 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 476 === End of file server.cmd === Start of file test476.txt a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === File too long: 349 lines omitted here a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind486 ../src/curl -q --output log/20/curl486.out --include --trace-ascii log/20/trace486 --trace-time --netrc --netrc-file log/20/netrc486 -L -x http://127.0.0.1:33897/ http://a.com/ > log/20/stdout486 2> log/20/stderr486 ying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this === End of file test476.txt === Start of file valgrind476 ==105722== ==105722== Process terminating with default action of signal 4 (SIGILL) ==105722== Illegal opcode at address 0x492B75F ==105722== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105722== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105722== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105722== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105722== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105722== by 0x49908EB: curl_version_info (version.c:600) ==105722== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105722== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105722== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105722== by 0x4003269: main (tool_main.c:195) === End of file valgrind476 test 0486 [.netrc with redirect and "default" with no password or login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind486 ../src/curl -q --output log/20/curl486.out --include --trace-ascii log/20/trace486 --trace-time --netrc --netrc-file log/20/netrc486 -L -x http://127.0.0.1:33897/ http://a.com/ > log/20/stdout486 2> log/20/stderr486 486: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 486 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind486 ../src/curl -q --output log/20/curl486.out --include --trace-ascii log/20/trace486 --trace-time --netrc --netrc-file log/20/netrc486 -L -x http://127.0.0.1:33897/ http://a.com/ > log/20/stdout486 2> log/20/stderr486 === End of file commands.log === Start of file http_server.loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind481 ../src/curl -q --trace-ascii log/2/trace481 --trace-time http://127.0.0.1:34531/481 --no-clobber -C 1 -o "log/2/481" > log/2/stdout481 2> log/2/stderr481 g 19:26:52.252235 ====> Client connect 19:26:52.252271 accept_connection 3 returned 4 19:26:52.252294 Read 93 bytes 19:26:52.252304 Process 93 bytes request 19:26:52.252317 Got request: GET /verifiedserver HTTP/1.1 19:26:52.252326 Are-we-friendly question received 19:26:52.252354 Wrote request (93 bytes) input to log/20/server.input 19:26:52.252371 Identifying ourselves as friends 19:26:52.252437 Response sent (56 bytes) and written to log/20/server.response 19:26:52.252447 special request received, no persistency 19:26:52.252455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 45498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file netrc486 machine a.com login alice password alicespassword default === End of file netrc486 === Start of file server.cmd Testnum 486 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind486 ==106277== ==106277== Process terminating with default action of signal 4 (SIGILL) ==106277== Illegal opcode at address 0x492B75F ==106277== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106277== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106277== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106277== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106277== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106277== by 0x49908EB: curl_version_info (version.c:600) ==106277== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106277== by 0x4003269: main (tool_main.c:195) === End of file valgrind486 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 test 0481 [--no-clobber with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind481 ../src/curl -q --trace-ascii log/2/trace481 --trace-time http://127.0.0.1:34531/481 --no-clobber -C 1 -o "log/2/481" > log/2/stdout481 2> log/2/stderr481 481: stderr FAILED: --- log/2/check-expected 2026-10-15 19:26:55.014836562 +0000 +++ log/2/check-generated 2026-10-15 19:26:55.010175308 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/2/ directory after test 481 === Start of file 481 initial content === End of file 481 === Start of file check-expected curl: --continue-at is mutually exclusive with --no-clobber[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind481 ../src/curl -q --trace-ascii log/2/trace481 --trace-time http://127.0.0.1:34531/481 --no-clobber -C 1 -o "log/2/481" > log/2/stdout481 2> log/2/stderr481 === End of file commands.log === Start of file http_server.log 19:26:52.839375 ====> Client connect 19:26:52.839408 accept_connection 3 returned 4 19:26:52.840117 Read 93 bytes 19:26:52.840135 Process 93 bytes request 19:26:52.840149 Got request: GET /verifiedserver HTTP/1.1 19:26:52.840158 Are-we-friendly question received 19:26:52.840197 Wrote request (93 bytes) input to log/2/server.input 19:26:52.840216 Identifying ourselves as friends 19:26:52.840276 Response sent (56 bytes) and written to log/2/server.response 19:26:52.840285 special request received, no persistency 19:26:52.840293 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 50912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind481 ==105941== ==105941== Process terminating with default action of signal 4 (SIGILL) ==105941== Illegal opcode at address 0x492B75F ==105941== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105941== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105941== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105941== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105941== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105941== by 0x49908EB: curl_version_info (version.c:600) ==105941== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105941== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105941== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105941== by 0x4003269: main (tool_main.c:195) === End of file valgrind481 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:40321/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind492 ../src/curl -q --output log/6/curl492.out --include --trace-ascii log/6/trace492 --trace-time 'http://127.0.0.1:33935/{one,two}/' -T '{log/6/first492,log/6/second492}' -H "Testno: 492" > log/6/stdout492 2> log/6/stderr492 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind488 ../src/curl -q --output log/18/curl488.out --include --trace-ascii log/18/trace488 --trace-time --output-dir log/18 --url @- log/18/stdout488 2> log/18/stderr488 test 0482 [--remove-on-error with --continue-at] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 482: stderr FAILED: --- log/17/check-expected 2026-10-15 19:26:55.037729352 +0000 +++ log/17/check-generated 2026-10-15 19:26:55.033481829 +0000 @@ -1,3 +0,0 @@ -curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] -curl: option -C: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/17/ directory after test 482 === Start of file check-expected curl: --continue-at is mutually exclusive with --remove-on-error[CR][LF] curl: option -C: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind482 ../src/curl -q --trace-ascii log/17/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/17/482" > log/17/stdout482 2> log/17/stderr482 === End of file commands.log === Start of file http_server.log 19:26:52.856400 ====> Client connect 19:26:52.856446 accept_connection 3 returned 4 19:26:52.856473 Read 93 bytes 19:26:52.856484 Process 93 bytes request 19:26:52.856497 Got request: GET /verifiedserver HTTP/1.1 19:26:52.856506 Are-we-friendly question received 19:26:52.856537 Wrote request (93 bytes) input to log/17/server.input 19:26:52.856553 Identifying ourselves as friends 19:26:52.856640 Response sent (56 bytes) and written to log/17/server.response 19:26:52.856651 special request received, no persistency 19:26:52.856659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind482 ==106003== ==106003== Process terminating with default action of signal 4 (SIGILL) ==106003== Illegal opcode at address 0x492B75F ==106003== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106003== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106003== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106003== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106003== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106003== by 0x49908EB: curl_version_info (version.c:600) ==106003== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106003== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106003== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106003== by 0x4003269: main (tool_main.c:195) === End of file valgrind482 test 0479 [.netrc with redirect and default without password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:40321/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 479: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind479 ../src/curl -q --output log/15/curl479.out --include --trace-ascii log/15/trace479 --trace-time --netrc --netrc-file log/15/netrc479 -L -x http://127.0.0.1:40321/ http://a.com/ > log/15/stdout479 2> log/15/stderr479 === End of file commands.log === Start of file http_server.log 19:26:52.679637 ====> Client connect 19:26:52.679676 accept_connection 3 returned 4 19:26:52.679862 Read 93 bytes 19:26:52.679881 Process 93 bytes request 19:26:52.679896 Got request: GET /verifiedserver HTTP/1.1 19:26:52.679905 Are-we-friendly question received 19:26:52.679940 Wrote request (93 bytes) input to log/15/server.input 19:26:52.679960 Identifying ourselves as friends 19:26:52.680031 Response sent (56 bytes) and written to log/15/server.response 19:26:52.680044 special request received, no persistency 19:26:52.680053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 38280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file netrc479 machine a.com login alice password alicespassword default login bob === End of file netrc479 === Start of file server.cmd Testnum 479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind479 ==105768== ==105768== Process terminating with default action of signal 4 (SIGILL) ==105768== Illegal opcode at address 0x492B75F ==105768== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==105768== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==105768== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==105768== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==105768== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==105768== by 0x49908EB: curl_version_info (version.c:600) ==105768== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==105768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==105768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==105768== by 0x4003269: main (tool_main.c:195) === End of file valgrind479 test 0492 [Two globbed HTTP PUTs to two globbed URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind492 ../src/curl -q --output log/6/curl492.out --include --trace-ascii log/6/trace492 --trace-time 'http://127.0.0.1:33935/{one,two}/' -T '{log/6/first492,log/6/second492}' -H "Testno: 492" > log/6/stdout492 2> log/6/stderr492 492: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind492 ../src/curl -q --output log/6/curl492.out --include --trace-ascii log/6/trace492 --trace-time 'http://127.0.0.1:33935/{one,two}/' -T '{log/6/first492,log/6/second492}' -H "Testno: 492" > log/6/stdout492 2> log/6/stderr492 === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind485 ../src/curl -q --output log/7/curl485.out --include --trace-ascii log/7/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/7/etag485 > log/7/stdout485 2> log/7/stderr485 End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 19:26:52.865959 ====> Client connect 19:26:52.866000 accept_connection 3 returned 4 19:26:52.866025 Read 93 bytes 19:26:52.866037 Process 93 bytes request 19:26:52.866054 Got request: GET /verifiedserver HTTP/1.1 19:26:52.866064 Are-we-friendly question received 19:26:52.866096 Wrote request (93 bytes) input to log/6/server.input 19:26:52.866116 Identifying ourselves as friends 19:26:52.866190 Response sent (56 bytes) and written to log/6/server.response 19:26:52.866201 special request received, no persistency 19:26:52.866213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 41618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file second492 second 492 contents === End of file second492 === Start of file server.cmd Testnum 492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind492 ==106683== ==106683== Process terminating with default action of signal 4 (SIGILL) ==106683== Illegal opcode at address 0x492B75F ==106683== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106683== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106683== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106683== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106683== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106683== by 0x49908EB: curl_version_info (version.c:600) ==106683== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106683== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106683== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106683== by 0x4003269: main (tool_main.c:195) === End of file valgrind492 test 0488 [Download two URLs provided on stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind488 ../src/curl -q --output log/18/curl488.out --include --trace-ascii log/18/trace488 --trace-time --output-dir log/18 --url @- log/18/stdout488 2> log/18/stderr488 488: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 488 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind488 ../src/curl -q --output log/18/curl488.out --include --trace-ascii log/18/trace488 --trace-time --output-dir log/18 --url @- log/18/stdout488 2> log/18/stderr488 === End of file commands.log === Start of file http_server.log 19:26:53.529674 ====> Client connect 19:26:53.529715 accept_connection 3 returned 4 19:26:53.530496 Read 93 bytes 19:26:53.530516 Process 93 bytes request 19:26:53.530531 Got request: GET /verifiedserver HTTP/1.1 19:26:53.530541 Are-we-friendly question received 19:26:53.530580 Wrote request (93 bytes) input to log/18/server.input 19:26:53.530600 Identifying ourselves as friends 19:26:53.530675 Response sent (56 bytes) and written to log/18/server.response 19:26:53.530687 special request received, no persistency 19:26:53.530697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 58386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 488 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:43739/a http://127.0.0.1:43739/b === End of file stdin-for-488 === Start of file valgrind488 ==106403== ==106403== Process terminating with default action of signal 4 (SIGILL) ==106403== Illegal opcode at address 0x492B75F ==106403== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106403== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106403== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106403== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106403== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106403== by 0x49908EB: curl_version_info (version.c:600) ==106403== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106403== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106403== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106403== by 0x4003269: main (tool_main.c:195) === End of file valgrind488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind489 ../src/curl -q --output log/19/curl489.out --include --trace-ascii log/19/trace489 --trace-time --output-dir log/19 --url @log/19/urls > log/19/stdout489 2> log/19/stderr489 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind480 ../src/curl -q --output log/11/curl480.out --include --trace-ascii log/11/trace480 --trace-time --netrc --netrc-file log/11/netrc480 pop3://127.0.0.1:45393/480 > log/11/stdout480 2> log/11/stderr480 test 0485 [--etag-compare and -save with more than one URL, URLs specified first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind485 ../src/curl -q --output log/7/curl485.out --include --trace-ascii log/7/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/7/etag485 > log/7/stdout485 2> log/7/stderr485 485: stderr FAILED: --- log/7/check-expected 2026-10-15 19:26:55.330619244 +0000 +++ log/7/check-generated 2026-10-15 19:26:55.326752083 +0000 @@ -1,3 +0,0 @@ -curl: The etag options only work on a single URL[CR][LF] -curl: option --etag-save: is badly used here[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/7/ directory after test 485 === Start of file check-expected curl: The etag options only work on a single URL[CR][LF] curl: option --etag-save: is badly used here[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind485 ../src/curl -q --output log/7/curl485.out --include --trace-ascii log/7/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/7/etag485 > log/7/stdout485 2> log/7/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==106213== ==106213== Process terminating with default action of signal 4 (SIGILL) ==106213== Illegal opcode at address 0x492B75F ==106213== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106213== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106213== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106213== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106213== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106213== by 0x49908EB: curl_version_info (version.c:600) ==106213== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106213== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106213== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106213== by 0x4003269: main (tool_main.c:195) === End of file valgrind485 test 0489 [Download two URLs provided in a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind489 ../src/curl -q --output log/19/curl489.out --include --trace-ascii log/19/trace489 --trace-time --output-dir log/19 --url @log/19/urls > log/19/stdout489 2> log/19/stderr489 489: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 489 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind489 ../src/curl -q --output log/19/curl489.out --include --trace-ascii log/19/trace489 --trace-time --output-dir log/19 --url @log/19/urls > log/19/stdout489 2> log/19/stderr489 === End of file commands.log === Start of file http_server.log 19:26:52.589363 ====> Client connect 19:26:52.589402 accept_connection 3 returned 4 19:26:52.590503 Read 93 bytes 19:26:52.590523 Process 93 bytes request 19:26:52.590536 Got request: GET /verifiedserver HTTP/1.1 19:26:52.590545 Are-we-friendly question received 19:26:52.590583 Wrote request (93 bytes) input to log/19/server.input 19:26:52.590601 Identifying ourselves as friends 19:26:52.590666 Response sent (56 bytes) and written to log/19/server.response 19:26:52.590676 special request received, no persistency 19:26:52.590684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 50022 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file urls http://127.0.0.1:46497/a http://127.0.0.1:46497/b === End of file urls === Start of file valgrind489 ==106434== ==106434== Process terminating with default action of signal 4 (SIGILL) ==106434== Illegal opcode at address 0x492B75F ==106434== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106434== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106434== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106434== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106434== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106434== by 0x49908EB: curl_version_info (version.c:600) ==106434== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106434== by 0x4003269: main (tool_main.c:195) === End of file valgrind489 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/pop3_server.pid" --logfile "log/11/pop3_server.log" --logdir "log/11" --portfile "log/11/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45393 (log/11/server/pop3_server.port) RUN: POP3 server is PID 105846 port 45393 * pid pop3 => 105846 105846 test 0480 [Reject .netrc with credentials using CRLF for POP3] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind480 ../src/curl -q --output log/11/curl480.out --include --trace-ascii log/11/trace480 --trace-time --netrc --netrc-file log/11/netrc480 pop3://127.0.0.1:45393/480 > log/11/stdout480 2> log/11/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/11/ directory after test 480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind480 ../src/curl -q --output log/11/curl480.out --include --trace-ascii log/11/trace480 --trace-time --netrc --netrc-file log/11/netrc480 pop3://127.0.0.1:45393/480 > log/11/stdout480 2> log/11/stderr480 === End of file commands.log === Start of file netrc480 machine 127.0.0.1 login alice password "password\r\ncommand" === End of file netrc480 === Start of file pop3_server.log 19:26:52.289022 POP3 server listens on port IPv4/45393 19:26:52.289183 logged pid 105846 in log/11/server/pop3_server.pid 19:26:52.289247 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:26:52.894984 Running IPv4 version 19:26:52.895069 Listening on port 45393 19:26:52.895108 Wrote pid 105996 to log/11/server/pop3_sockfilt.pid 19:26:52.895217 Wrote port 45393 to log/11/server/pop3_server.port 19:26:52.896320 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 480 === End of file server.cmd === Start of file valgrind480 ==106575== ==106575== Process terminating with default action of signal 4 (SIGILL) ==106575== Illegal opcode at address 0x492B75F ==106575== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106575== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind496 ../src/curl -q --output log/4/curl496.out --include --trace-ascii log/4/trace496 --trace-time 0 -Z -Tz > log/4/stdout496 2> log/4/stderr496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind490 ../src/curl -q --output log/24/curl490.out --include --trace-ascii log/24/trace490 --trace-time http://127.0.0.1:38895/490 -T '{log/24/in490,log/24/in490}' > log/24/stdout490 2> log/24/stderr490 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind487 ../src/curl -q --output log/12/curl487.out --include --trace-ascii log/12/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:40921/{{what:64dec}}/487" -g > log/12/stdout487 2> log/12/stderr487 by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106575== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106575== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106575== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106575== by 0x49908EB: curl_version_info (version.c:600) ==106575== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106575== by 0x4003269: main (tool_main.c:195) === End of file valgrind480 test 0496 [parallel upload missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind496 ../src/curl -q --output log/4/curl496.out --include --trace-ascii log/4/trace496 --trace-time 0 -Z -Tz > log/4/stdout496 2> log/4/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/4/ directory after test 496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind496 ../src/curl -q --output log/4/curl496.out --include --trace-ascii log/4/trace496 --trace-time 0 -Z -Tz > log/4/stdout496 2> log/4/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==106980== ==106980== Process terminating with default action of signal 4 (SIGILL) ==106980== Illegal opcode at address 0x492B75F ==106980== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106980== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106980== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106980== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106980== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106980== by 0x49908EB: curl_version_info (version.c:600) ==106980== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106980== by 0x4003269: main (tool_main.c:195) === End of file valgrind496 test 0490 [Two globbed HTTP PUTs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind490 ../src/curl -q --output log/24/curl490.out --include --trace-ascii log/24/trace490 --trace-time http://127.0.0.1:38895/490 -T '{log/24/in490,log/24/in490}' > log/24/stdout490 2> log/24/stderr490 490: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 490 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind490 ../src/curl -q --output log/24/curl490.out --include --trace-ascii log/24/trace490 --trace-time http://127.0.0.1:38895/490 -T '{log/24/in490,log/24/in490}' > log/24/stdout490 2> log/24/stderr490 === End of file commands.log === Start of file http_server.log 19:26:52.673058 ====> Client connect 19:26:52.673092 accept_connection 3 returned 4 19:26:52.673115 Read 93 bytes 19:26:52.673123 Process 93 bytes request 19:26:52.673135 Got request: GET /verifiedserver HTTP/1.1 19:26:52.673143 Are-we-friendly question received 19:26:52.673164 Wrote request (93 bytes) input to log/24/server.input 19:26:52.673178 Identifying ourselves as friends 19:26:52.673248 Response sent (56 bytes) and written to log/24/server.response 19:26:52.673256 special request received, no persistency 19:26:52.673263 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 34968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file in490 surprise === End of file in490 === Start of file server.cmd Testnum 490 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind490 ==106497== ==106497== Process terminating with default action of signal 4 (SIGILL) ==106497== Illegal opcode at address 0x492B75F ==106497== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106497== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106497== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106497== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106497== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106497== by 0x49908EB: curl_version_info (version.c:600) ==106497== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106497== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106497== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106497== by 0x4003269: main (tool_main.c:195) === End of file valgrind490 test 0487 [Variable using 64dec with bad base64] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind487 ../src/curl -q --output log/12/curl487.out --include --trace-ascii log/12/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:40921/{{what:64dec}}/487" -g > log/12/stdout487 2> log/12/stderr487 487: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind487 ../src/curl -q --output log/12/curl487.out --include --trace-ascii log/12/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:40921/{{what:64dec}}/487" -g > log/12/stdout487 2> log/12/stderr487 === End of file commands.log === Start of file http_server.log 19:26:52.532966 ====> Client connect 19:26:52.533004 accept_connection 3 returned 4 19:26:52.533161 Read 93 bytes 19:26:52.533177 Process 93 bytes request 19:26:52.533188 Got request: GET /verifiedserver HTTP/1.1 19:26:52.533197 Are-we-friendly question received 19:26:52.533231 Wrote request (93 bytes) input to log/12/server.input 19:26:52.533248 Identifying ourselves as friends 19:26:52.533314 Response sent (56 bytes) and written to log/12/server.response 19:26:52.533324 special request received, no persistency 19:26:52.533332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind487 ==106400== ==10CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind491 ../src/curl -q --output log/10/curl491.out --include --trace-ascii log/10/trace491 --trace-time http://127.0.0.1:40913/491 -T '{log/10/in491,log/10/bad491}' > log/10/stdout491 2> log/10/stderr491 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 6400== Process terminating with default action of signal 4 (SIGILL) ==106400== Illegal opcode at address 0x492B75F ==106400== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106400== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106400== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106400== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106400== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106400== by 0x49908EB: curl_version_info (version.c:600) ==106400== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106400== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106400== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106400== by 0x4003269: main (tool_main.c:195) === End of file valgrind487 test 0491 [Two globbed HTTP PUTs, the second upload file is missing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind491 ../src/curl -q --output log/10/curl491.out --include --trace-ascii log/10/trace491 --trace-time http://127.0.0.1:40913/491 -T '{log/10/in491,log/10/bad491}' > log/10/stdout491 2> log/10/stderr491 491: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 491 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind491 ../src/curl -q --output log/10/curl491.out --include --trace-ascii log/10/trace491 --trace-time http://127.0.0.1:40913/491 -T '{log/10/in491,log/10/bad491}' > log/10/stdout491 2> log/10/stderr491 === End of file commands.log === Start of file http_server.log 19:26:52.855454 ====> Client connect 19:26:52.855492 accept_connection 3 returned 4 19:26:52.855517 Read 93 bytes 19:26:52.855527 Process 93 bytes request 19:26:52.855540 Got request: GET /verifiedserver HTTP/1.1 19:26:52.855549 Are-we-friendly question received 19:26:52.855576 Wrote request (93 bytes) input to log/10/server.input 19:26:52.855593 Identifying ourselves as friends 19:26:52.855661 Response sent (56 bytes) and written to log/10/server.response 19:26:52.855671 special request received, no persistency 19:26:52.855680 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file in491 surprise === End of file in491 === Start of file server.cmd Testnum 491 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind491 ==106642== ==106642== Process terminating with default action of signal 4 (SIGILL) ==106642== Illegal opcode at address 0x492B75F ==106642== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106642== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106642== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106642== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106642== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106642== by 0x49908EB: curl_version_info (version.c:600) ==106642== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106642== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106642== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106642== by 0x4003269: main (tool_main.c:195) === End of file valgrind491 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind495 ../src/curl -q --output log/23/curl495.out --include --trace-ascii log/23/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44711/495 --netrc-optional > log/23/stdout495 2> log/23/stderr495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/2/stdout507 2> log/2/stderr507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:35989/500 log/22/ip500 > log/22/stdout500 2> log/22/stderr500 test 0502 [simple multi file:// get] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 502: data FAILED: --- log/16/check-expected 2026-10-15 19:26:56.233560317 +0000 +++ log/16/check-generated 2026-10-15 19:26:56.229891339 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/16/ directory after test 502 === Start of file check-expected foo[LF] bar swsclose[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/16/test502.txt > log/16/stdout502 2> log/16/stderr502 === End of file commands.log === Start of file server.cmd Testnum 502 === End of file server.cmd === Start of file test502.txt foo bar swsclose bar foo moo === End of file test502.txt === Start of file valgrind502 ==107276== ==107276== Process terminating with default action of signal 4 (SIGILL) ==107276== Illegal opcode at address 0x51CC63F ==107276== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107276== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107276== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107276== by 0x40041AF: main (first.c:264) === End of file valgrind502 test 0495 [user+password in URL with optional netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind495 ../src/curl -q --output log/23/curl495.out --include --trace-ascii log/23/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44711/495 --netrc-optional > log/23/stdout495 2> log/23/stderr495 495: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind495 ../src/curl -q --output log/23/curl495.out --include --trace-ascii log/23/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44711/495 --netrc-optional > log/23/stdout495 2> log/23/stderr495 === End of file commands.log === Start of file http_server.log 19:26:53.139792 ====> Client connect 19:26:53.139831 accept_connection 3 returned 4 19:26:53.139853 Read 93 bytes 19:26:53.139862 Process 93 bytes request 19:26:53.139874 Got request: GET /verifiedserver HTTP/1.1 19:26:53.139882 Are-we-friendly question received 19:26:53.139905 Wrote request (93 bytes) input to log/23/server.input 19:26:53.139920 Identifying ourselves as friends 19:26:53.139984 Response sent (56 bytes) and written to log/23/server.response 19:26:53.139992 special request received, no persistency 19:26:53.140000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 33066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind495 ==106903== ==106903== Process terminating with default action of signal 4 (SIGILL) ==106903== Illegal opcode at address 0x492B75F ==106903== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106903== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106903== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106903== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106903== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106903== by 0x49908EB: curl_version_info (version.c:600) ==106903== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106903== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106903== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106903== by 0x4003269: main (tool_main.c:195) === End of file valgrind495 test 0507 [multi interface get with non-existing hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/2/stdout507 2> log/2/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/2/ directory after test 507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/2/stdout507 2> log/2/stderr507 === End of file commands.log === Start of file http_server.log 19:26:55.720211 ====> Client connect 19:26:55.720244 accept_connection 3 returned 4 19:26:55.721373 Read 93 bytes 19:26:55.721392 Process 93 bytes request 19:26:55.721408 Got request: GET /verifiedserver HTTP/1.1 19:26:55.721417 Are-we-friendly question received 19:26:55.721451 Wrote request (93 bytes) input to log/2/server.input 19:26:55.721471 Identifying ourselves as friends 19:26:55.721550 Response sent (56 bytes) and written to log/2/server.response 19:26:55.721562 special request received, no persistency 19:26:55.721571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 50926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 507 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind507 ==107631== ==107631== Process terminating with default action of signal 4 (SIGILL) ==107631== Illegal opcode at address 0x51CC63F ==107631== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107631== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107631== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107631== by 0x40041AF: main (first.c:264) === End of file valgrind507 test 0500 [simple libcurl HTTP GET tool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:35989/500 log/22/ip500 > log/22/stdout500 2> log/22/stderr500 500: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 500 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/5/stdout504 2> log/5/stderr504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind494 ../src/curl -q --output log/1/curl494.out --include --trace-ascii log/1/trace494 --trace-time --netrc --netrc-file log/1/netrc494 ftp://127.0.0.1:40221/494 > log/1/stdout494 2> log/1/stderr494 ck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:35989/500 log/22/ip500 > log/22/stdout500 2> log/22/stderr500 === End of file commands.log === Start of file http_server.log 19:26:54.037166 ====> Client connect 19:26:54.037202 accept_connection 3 returned 4 19:26:54.037306 Read 93 bytes 19:26:54.037321 Process 93 bytes request 19:26:54.037335 Got request: GET /verifiedserver HTTP/1.1 19:26:54.037344 Are-we-friendly question received 19:26:54.037377 Wrote request (93 bytes) input to log/22/server.input 19:26:54.037394 Identifying ourselves as friends 19:26:54.037456 Response sent (56 bytes) and written to log/22/server.response 19:26:54.037467 special request received, no persistency 19:26:54.037476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 52978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind500 ==107228== ==107228== Process terminating with default action of signal 4 (SIGILL) ==107228== Illegal opcode at address 0x51CC63F ==107228== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107228== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107228== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107228== by 0x40041AF: main (first.c:264) === End of file valgrind500 test 0494 [skip 'macdef' when parsing netrc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind494 ../src/curl -q --output log/1/curl494.out --include --trace-ascii log/1/trace494 --trace-time --netrc --netrc-file log/1/netrc494 ftp://127.0.0.1:40221/494 > log/1/stdout494 2> log/1/stderr494 494: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind494 ../src/curl -q --output log/1/curl494.out --include --trace-ascii log/1/trace494 --trace-time --netrc --netrc-file log/1/netrc494 ftp://127.0.0.1:40221/494 > log/1/stdout494 2> log/1/stderr494 === End of file commands.log === Start of file ftp_server.log 19:26:53.455478 ====> Client connect 19:26:53.455691 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:53.465587 < "USER anonymous" 19:26:53.465650 > "331 We are happy you popped in![CR][LF]" 19:26:53.475528 < "PASS ftp@example.com" 19:26:53.475598 > "230 Welcome you silly person[CR][LF]" 19:26:53.475819 < "PWD" 19:26:53.475860 > "257 "/" is current directory[CR][LF]" 19:26:53.476057 < "EPSV" 19:26:53.476089 ====> Passive DATA channel requested by client 19:26:53.476106 DATA sockfilt for passive data channel starting... 19:26:53.485460 DATA sockfilt for passive data channel started (pid 106869) 19:26:53.485605 DATA sockfilt for passive data channel listens on port 45009 19:26:53.485653 > "229 Entering Passive Mode (|||45009|)[CR][LF]" 19:26:53.485670 Client has been notified that upcoming DATA connection is awaited on port 45009 19:26:53.486005 Client connects to port 45009 19:26:53.486042 ====> Client established passive DATA connection on port 45009 19:26:53.486139 < "TYPE I" 19:26:53.486178 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:53.486362 < "SIZE verifiedserver" 19:26:53.486407 > "213 17[CR][LF]" 19:26:53.486580 < "RETR verifiedserver" 19:26:53.486617 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:53.486727 =====> Closing passive DATA connection... 19:26:53.486746 Server disconnects passive DATA connection 19:26:53.486984 Server disconnected passive DATA connection 19:26:53.487012 DATA sockfilt for passive data channel quits (pid 106869) 19:26:53.487304 DATA sockfilt for passive data channel quit (pid 106869) 19:26:53.487332 =====> Closed passive DATA connection 19:26:53.487363 > "226 File transfer complete[CR][LF]" 19:26:53.532940 < "QUIT" 19:26:53.533018 > "221 bye bye baby[CR][LF]" 19:26:53.548760 MAIN sockfilt said DISC 19:26:53.548814 ====> Client disconnected 19:26:53.548896 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:54.063056 ====> Client connect 19:26:54.063418 Received DATA (on stdin) 19:26:54.063435 > 146 bytes data, server => client 19:26:54.063446 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:54.063456 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:54.063465 '220 \___|\___/|_| \_\_____|\r\n' 19:26:54.073056 < 16 bytes data, client => server 19:26:54.073088 'USER anonymous\r\n' 19:26:54.073376 Received DATA (on stdin) 19:26:54.073392 > 33 bytes data, server => client 19:26:54.073403 '331 We are happy you popped in!\r\n' 19:26:54.079807 < 22 bytes data, client => server 19:26:54.079840 'PASS ftp@example.com\r\n' 19:26:54.083322 Received DATA (on stdin) 19:26:54.083342 > 30 bytes data, server => client 19:26:54.083352 '230 Welcome you silly person\r\n' 19:26:54.083435 < 5 bytes data, client => server 19:26:54.083449 'PWD\r\n' 19:26:54.083577 Received DATA (on stdin) 19:26:54.083589 > 30 bytes data, server => client 19:26:54.083599 '257 "/" is current directory\r\n' 19:26:54.083674 < 6 bytes data, client => server 19:26:54.083689 'EPSV\r\n' 19:26:54.093393 Received DATA (on stdin) 19:26:54.093409 > 39 bytes data, server => client 19:26:54.093420 '229 Entering Passive Mode (|||45009|)\r\n' 19:26:54.093630 < 8 bytes data, client => server 19:26:54.093648 'TYPE I\r\n' 19:26:54.093895 Received DATA (on stdin) 19:26:54.093907 > 33 bytes data, server => client 19:26:54.093918 '200 I modify TYPE as you wanted\r\n' 19:26:54.093979 < 21 bytes data, client => server 19:26:54.093991 'SIZE verifiedserver\r\n' 19:26:54.094123 Received DATA (on stdin) 19:26:54.094135 > 8 bytes data, server => client 19:26:54.094144 '213 17\r\n' 19:26:54.094201 < 21 bytes data, client => server 19:26:54.094213 'RETR verifiedserver\r\n' 19:26:54.094463 Received DATA (on stdin) 19:26:54.094475 > 29 bytes data, server => client 19:26:54.094485 '150 Binary junk (17 bytes).\r\n' 19:26:54.095079 Received DATA (on stdin) 19:26:54.095091 > 28 bytes data, server => client 19:26:54.095102 '226 File transfer complete\r\n' 19:26:54.140411 < 6 bytes data, client => server 19:26:54.140443 'QUIT\r\n' 19:26:54.140749 Received DATA (on stdin) 19:26:54.140761 > 18 bytes data, server => client 19:26:54.140770 '221 bye bye baby\r\n' 19:26:54.156403 ====> Client disconnect 19:26:54.156627 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:53.086151 Running IPv4 version 19:26:53.086266 Listening on port 45009 19:26:53.086305 Wrote pid 106869 to log/1/server/ftp_sockdata.pid 19:26:53.093071 Received PING (on stdin) 19:26:53.093217 Received PORT (on stdin) 19:26:53.093670 ====> Client connect 19:26:53.094513 Received DATA (on stdin) 19:26:53.094525 > 17 bytes data, server => client 19:26:53.094534 'WE ROOLZ: 84935\r\n' 19:26:53.094561 Received DISC (on stdin) 19:26:53.094572 ====> Client forcibly disconnected 19:26:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind493 ../src/curl -q --include --trace-ascii log/13/trace493 --trace-time -x http://127.0.0.1:38821 http://this.hsts.example/493 --hsts log/13/input493 -w '%{url_effective}\n' > log/13/stdout493 2> log/13/stderr493 53.094736 Received QUIT (on stdin) 19:26:53.094748 quits 19:26:53.094829 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc494 macdef testmacro bin cd default cd login put login.bin cd .. cd password put password.bin quit machine 127.0.0.1 login user1 password passwd1 === End of file netrc494 === Start of file server.cmd Testnum 494 === End of file server.cmd === Start of file valgrind494 ==106929== ==106929== Process terminating with default action of signal 4 (SIGILL) ==106929== Illegal opcode at address 0x492B75F ==106929== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106929== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106929== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106929== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106929== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106929== by 0x49908EB: curl_version_info (version.c:600) ==106929== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106929== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106929== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106929== by 0x4003269: main (tool_main.c:195) === End of file valgrind494 test 0504 [simple multi through local proxy without listener] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/5/stdout504 2> log/5/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/5/ directory after test 504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/5/stdout504 2> log/5/stderr504 === End of file commands.log === Start of file server.cmd Testnum 504 === End of file server.cmd === Start of file valgrind504 ==107484== ==107484== Process terminating with default action of signal 4 (SIGILL) ==107484== Illegal opcode at address 0x51CC63F ==107484== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107484== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107484== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107484== by 0x40041AF: main (first.c:264) === End of file valgrind504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind497 ../src/curl -q --output log/14/curl497.out --include --trace-ascii log/14/trace497 --trace-time http://127.0.0.1:45467/497 > log/14/stdout497 2> log/14/stderr497 CMD (0): ./libtest/libtests lib518 http://127.0.0.1:40913/518 > log/10/stdout518 2> log/10/stderr518 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind501 ./libtest/libtests lib501 - > log/9/stdout501 2> log/9/stderr501 test 0493 [HSTS and %{url_effective} after upgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind493 ../src/curl -q --include --trace-ascii log/13/trace493 --trace-time -x http://127.0.0.1:38821 http://this.hsts.example/493 --hsts log/13/input493 -w '%{url_effective}\n' > log/13/stdout493 2> log/13/stderr493 493: stdout FAILED: --- log/13/check-expected 2026-10-15 19:26:56.410522438 +0000 +++ log/13/check-generated 2026-10-15 19:26:56.409079410 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 403 not OK at all[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] -https://this.hsts.example/493[LF] == Contents of files in the log/13/ directory after test 493 === Start of file check-expected HTTP/1.1 403 not OK at all[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] https://this.hsts.example/493[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind493 ../src/curl -q --include --trace-ascii log/13/trace493 --trace-time -x http://127.0.0.1:38821 http://this.hsts.example/493 --hsts log/13/input493 -w '%{url_effective}\n' > log/13/stdout493 2> log/13/stderr493 === End of file commands.log === Start of file http_server.log 19:26:52.933068 ====> Client connect 19:26:52.933107 accept_connection 3 returned 4 19:26:52.934207 Read 93 bytes 19:26:52.934846 Process 93 bytes request 19:26:52.946431 Got request: GET /verifiedserver HTTP/1.1 19:26:52.946459 Are-we-friendly question received 19:26:52.946512 Wrote request (93 bytes) input to log/13/server.input 19:26:52.946536 Identifying ourselves as friends 19:26:52.946625 Response sent (56 bytes) and written to log/13/server.response 19:26:52.946639 special request received, no persistency 19:26:52.946648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 36044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file input493 .hsts.example "99991001 04:47:41" === End of file input493 === Start of file server.cmd Testnum 493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind493 ==106756== ==106756== Process terminating with default action of signal 4 (SIGILL) ==106756== Illegal opcode at address 0x492B75F ==106756== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==106756== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==106756== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==106756== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==106756== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==106756== by 0x49908EB: curl_version_info (version.c:600) ==106756== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==106756== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==106756== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==106756== by 0x4003269: main (tool_main.c:195) === End of file valgrind493 test 0497 [Reject too large accumulated HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind497 ../src/curl -q --output log/14/curl497.out --include --trace-ascii log/14/trace497 --trace-time http://127.0.0.1:45467/497 > log/14/stdout497 2> log/14/stderr497 497: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind497 ../src/curl -q --output log/14/curl497.out --include --trace-ascii log/14/trace497 --trace-time http://127.0.0.1:45467/497 > log/14/stdout497 2> log/14/stderr497 === End of file commands.log === Start of file http_server.log 19:26:53.679930 ====> Client connect 19:26:53.679978 accept_connection 3 returned 4 19:26:53.686702 Read 93 bytes 19:26:53.686729 Process 93 bytes request 19:26:53.686743 Got request: GET /verifiedserver HTTP/1.1 19:26:53.686752 Are-we-friendly question received 19:26:53.686801 Wrote request (93 bytes) input to log/14/server.input 19:26:53.686824 Identifying ourselves as friends 19:26:53.686896 Response sent (56 bytes) and written to log/14/server.response 19:26:53.686907 special request received, no persistency 19:26:53.686915 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 39674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind497 ==107104== ==107104== Process terminating with default action of signal 4 (SIGILL) ==107104== Illegal opcode at address 0x492B75F ==107104== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==107104== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==107104== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==107104== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==107104== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==107104== by 0x49908EB: curl_version_info (version.c:600) ==107104== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==107104== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==107104== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==107104== by 0x4003269: main (tool_main.c:195) === End of file valgrind497 test 0501 [simple libcurl attempt operation without URL set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind501 ./libtest/libtests lib501 - > log/9/stdout501 2> log/9/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/9/ directory after test 501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind501 ./libtest/libtests lib501 - > log/9/stdout501 2> log/9/stderr501 === End of file commands.log === Start of file server.cmd Testnum 501 === End of file server.cmd === Start of file valgrind501 ==107268== ==107268== Process terminating with default action of signal 4 (SIGILL) ==107268== Illegal opcode at address 0x51CC63F ==107268== at 0x51CC63F: formatf.constprop.1 (mprintf.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:40859/512 > log/7/stdout512 2> log/7/stderr512 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41549/505 log/20/upload505 > log/20/stdout505 2> log/20/stderr505 c:1115) ==107268== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107268== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107268== by 0x40041AF: main (first.c:264) === End of file valgrind501 prechecked ./libtest/libtests lib518 check test 0518 [HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:40913/518 > log/10/stdout518 2> log/10/stderr518 valgrind SKIPPED --pd---e--- OK (471 out of 1890, remaining: 02:59, took 0.325s, duration: 00:59) test 0512 [simple curl_easy_duplicate() test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:40859/512 > log/7/stdout512 2> log/7/stderr512 512: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 512 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:40859/512 > log/7/stdout512 2> log/7/stderr512 === End of file commands.log === Start of file http_server.log 19:26:55.013519 ====> Client connect 19:26:55.013561 accept_connection 3 returned 4 19:26:55.013585 Read 93 bytes 19:26:55.013595 Process 93 bytes request 19:26:55.013608 Got request: GET /verifiedserver HTTP/1.1 19:26:55.013617 Are-we-friendly question received 19:26:55.013650 Wrote request (93 bytes) input to log/7/server.input 19:26:55.013668 Identifying ourselves as friends 19:26:55.013744 Response sent (56 bytes) and written to log/7/server.response 19:26:55.013756 special request received, no persistency 19:26:55.013764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 45950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 512 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind512 ==107876== ==107876== Process terminating with default action of signal 4 (SIGILL) ==107876== Illegal opcode at address 0x51CC63F ==107876== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107876== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107876== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107876== by 0x40041AF: main (first.c:264) === End of file valgrind512 test 0505 [FTP upload with rename after transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41549/505 log/20/upload505 > log/20/stdout505 2> log/20/stderr505 505: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:41549/505 log/20/upload505 > log/20/stdout505 2> log/20/stderr505 === End of file commands.log === Start of file ftp_server.log 19:26:55.055475 ====> Client connect 19:26:55.055666 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:55.056022 < "USER anonymous" 19:26:55.056061 > "331 We are happy you popped in![CR][LF]" 19:26:55.056252 < "PASS ftp@example.com" 19:26:55.056282 > "230 Welcome you silly person[CR][LF]" 19:26:55.056448 < "PWD" 19:26:55.056482 > "257 "/" is current directory[CR][LF]" 19:26:55.056649 < "EPSV" 19:26:55.056673 ====> Passive DATA channel requested by client 19:26:55.056687 DATA sockfilt for passive data channel starting... 19:26:55.062960 DATA sockfilt for passive data channel started (pid 107572) 19:26:55.063073 DATA sockfilt for passive data channel listens on port 38383 19:26:55.063110 > "229 Entering Passive Mode (|||38383|)[CR][LF]" 19:26:55.063127 Client has been notified that upcoming DATA connection is awaited on port 38383 19:26:55.063386 Client connects to port 38383 19:26:55.063415 ====> Client established passive DATA connection on port 38383 19:26:55.063487 < "TYPE I" 19:26:55.063514 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:55.063655 < "SIZE verifiedserver" 19:26:55.063689 > "213 17[CR][LF]" 19:26:55.063813 < "RETR verifiedserver" 19:26:55.063840 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:55.063920 =====> Closing passive DATA connection... 19:26:55.063933 Server disconnects passive DATA connection 19:26:55.064108 Server disconnected passive DATA connection 19:26:55.064129 DATA sockfilt for passive data channel quits (pid 107572) 19:26:55.064370 DATA sockfilt for passive data channel quit (pid 107572) 19:26:55.064393 =====> Closed passive DATA connection 19:26:55.064417 > "226 File transfer complete[CR][LF]" 19:26:55.110391 < "QUIT" 19:26:55.110456 > "221 bye bye baby[CR][LF]" 19:26:55.111552 MAIN sockfilt said DISC 19:26:55.111595 ====> Client disconnected 19:26:55.111688 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:54.663411 ====> Client connect 19:26:54.663739 Received DATA (on stdin) 19:26:54.663755 > 146 bytes data, server => client 19:26:54.663766 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:54.663776 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:54.663784 '220 \___|\___/|_| \_\_____|\r\n' 19:26:54.663922 < 16 bytes data, client => server 19:26:54.663936 'USER anonymous\r\n' 19:26:54.664117 Received DATA (on stdin) 19:26:54.664129 > 33 bytes data, server => client 19:26:54.664139 '331 We are happy you popped in!\r\n' 19:26:54.664200 < 22 bytes data, client => server 19:26:54.664212 'PASS ftp@example.com\r\n' 19:26:54.664335 Received DATA (on stdin) 19:26:54.664347 > 30 bytes data, server => client 19:26:54.664357 '230 Welcome you silly person\r\n' 19:26:54.664412 < 5 bytes data, client => server 19:26:54.664422 'PWD\r\n' 19:26:54.664534 Received DATA (on stdin) 19:26:54.664545 > 30 bytes data, server => client 19:26:54.664555 '257 "/" is current directory\r\n' 19:26:54.664615 < 6 bytes data, client => server 19:26:54.664626 'EPSV\r\n' 19:26:54.671184 Received DATA (on stdin) 19:26:54.671196 > 39 bytes data, server => client 19:26:54.671207 '229 Entering Passive Mode (|||38383|)\r\n' 19:26:54.671365 < 8 bytes data, client => server 19:26:54.671378 'TYPE I\r\n' 19:26:54.671565 Received DATA (on stdin) 19:26:54.671574 > 33 bytes data, server => client 19:26:54.671583 '200 I modify TYPE as you wanted\r\n' 19:26:54.671634 < 21 bytes data, client => server 19:26:54.671642 'SIZE verifiedserver\r\n' 19:26:54.671739 Received DATA (on stdin) 19:26:54.671748 > 8 bytes data, server => client 19:26:54.671756 '213 17\r\n' 19:26:54.671799 < 21 bytes data, client => server 19:26:54.671807 'RETR verifiedserver\r\n' 19:26:54.671985 Received DATA (on stdin) 19:26:54.671994 > 29 bytes data, server => client 19:26:54.672002 '150 Binary junk (17 bytes).\r\n' 19:26:54.672470 Received DATA (on stdin) 19:26:54.672480 > 28 bytes data, serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind503 ./libtest/libtests lib503 http://machine.503:44467/503 127.0.0.1:33431 > log/8/stdout503 2> log/8/stderr503 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind498 ../src/curl -q --output log/21/curl498.out --include --trace-ascii log/21/trace498 --trace-time http://127.0.0.1:39881/498 --max-redirs 400 --location > log/21/stdout498 2> log/21/stderr498 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:33935/510 > log/6/stdout510 2> log/6/stderr510 ver => client 19:26:54.672488 '226 File transfer complete\r\n' 19:26:54.718237 < 6 bytes data, client => server 19:26:54.718271 'QUIT\r\n' 19:26:54.718536 Received DATA (on stdin) 19:26:54.718553 > 18 bytes data, server => client 19:26:54.718564 '221 bye bye baby\r\n' 19:26:54.719558 ====> Client disconnect 19:26:54.719767 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:55.670823 Running IPv4 version 19:26:55.670900 Listening on port 38383 19:26:55.670937 Wrote pid 107572 to log/20/server/ftp_sockdata.pid 19:26:55.670956 Received PING (on stdin) 19:26:55.671042 Received PORT (on stdin) 19:26:55.671396 ====> Client connect 19:26:55.672051 Received DATA (on stdin) 19:26:55.672062 > 17 bytes data, server => client 19:26:55.672070 'WE ROOLZ: 84833\r\n' 19:26:55.672093 Received DISC (on stdin) 19:26:55.672184 ====> Client forcibly disconnected 19:26:55.672213 Received QUIT (on stdin) 19:26:55.672221 quits 19:26:55.672281 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 505 === End of file server.cmd === Start of file upload505 Contents of a file to verify ftp upload works? === End of file upload505 === Start of file valgrind505 ==107639== ==107639== Process terminating with default action of signal 4 (SIGILL) ==107639== Illegal opcode at address 0x51CC63F ==107639== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107639== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107639== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107639== by 0x40041AF: main (first.c:264) === End of file valgrind505 test 0503 [simple multi http:// through proxytunnel with authentication info] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind503 ./libtest/libtests lib503 http://machine.503:44467/503 127.0.0.1:33431 > log/8/stdout503 2> log/8/stderr503 503: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind503 ./libtest/libtests lib503 http://machine.503:44467/503 127.0.0.1:33431 > log/8/stdout503 2> log/8/stderr503 === End of file commands.log === Start of file http2_server.log 19:26:55.568356 ====> Client connect 19:26:55.568407 accept_connection 3 returned 4 19:26:55.568435 Read 93 bytes 19:26:55.568446 Process 93 bytes request 19:26:55.568473 Got request: GET /verifiedserver HTTP/1.1 19:26:55.568483 Are-we-friendly question received 19:26:55.568514 Wrote request (93 bytes) input to log/8/proxy.input 19:26:55.568532 Identifying ourselves as friends 19:26:55.568627 Response sent (56 bytes) and written to log/8/proxy.response 19:26:55.568638 special request received, no persistency 19:26:55.568647 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33431... * Established connection to 127.0.0.1 (127.0.0.1 port 33431) from 127.0.0.1 port 51742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33431 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33431 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 95309 === End of file http2_verify.out === Start of file http_server.log 19:26:54.482982 ====> Client connect 19:26:54.483025 accept_connection 3 returned 4 19:26:54.483050 Read 93 bytes 19:26:54.483061 Process 93 bytes request 19:26:54.483075 Got request: GET /verifiedserver HTTP/1.1 19:26:54.483084 Are-we-friendly question received 19:26:54.483118 Wrote request (93 bytes) input to log/8/server.input 19:26:54.483138 Identifying ourselves as friends 19:26:54.483213 Response sent (56 bytes) and written to log/8/server.response 19:26:54.483225 special request received, no persistency 19:26:54.483234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 51302 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 95309 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==107522== ==107522== Process terminating with default action of signal 4 (SIGILL) ==107522== Illegal opcode at address 0x51CC63F ==107522== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107522== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107522== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107522== by 0x40041AF: main (first.c:264) === End of file valgrind503 test 0510 [send HTTP POST using read callback, using chunked transfer-encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:33935/510 > log/6/stdout510 2> log/6/stderr510 510: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:33935/510 > log/6/stdout510 2> log/6/stderr510 === End of file commands.log === Start of file http_server.log 19:26:55.013504 ====> Client connect 19:26:55.013544 accept_connection 3 returned 4 19:26:55.013567 Read 93 bytes 19:26:55.013578 Process 93 bytes request 19:26:55.013590 Got request: GET /verifiedserver HTTP/1.1 19:26:55.013599 Are-we-friendly question received 19:26:55.013632 Wrote request (93 bytes) input to log/6/server.input 19:26:55.013648 Identifying ourselves as friends 19:26:55.013727 Response sent (56 bytes) and written to log/6/server.response 19:26:55.013736 special request received, no persistency 19:26:55.013745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 41620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind510 ==107875== ==107875== Process terminating with default action of signal 4 (SIGILL) ==107875== Illegal opcode at address 0x51CC63FCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:35993/508 > log/17/stdout508 2> log/17/stderr508 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind509 ./libtest/libtests lib509 - > log/15/stdout509 2> log/15/stderr509 ==107875== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107875== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107875== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107875== by 0x40041AF: main (first.c:264) === End of file valgrind510 test 0498 [Reject too large HTTP response headers on endless redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind498 ../src/curl -q --output log/21/curl498.out --include --trace-ascii log/21/trace498 --trace-time http://127.0.0.1:39881/498 --max-redirs 400 --location > log/21/stdout498 2> log/21/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/21/ directory after test 498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind498 ../src/curl -q --output log/21/curl498.out --include --trace-ascii log/21/trace498 --trace-time http://127.0.0.1:39881/498 --max-redirs 400 --location > log/21/stdout498 2> log/21/stderr498 === End of file commands.log === Start of file http_server.log 19:26:53.913294 ====> Client connect 19:26:53.913332 accept_connection 3 returned 4 19:26:53.913354 Read 93 bytes 19:26:53.913363 Process 93 bytes request 19:26:53.913375 Got request: GET /verifiedserver HTTP/1.1 19:26:53.913383 Are-we-friendly question received 19:26:53.913407 Wrote request (93 bytes) input to log/21/server.input 19:26:53.913421 Identifying ourselves as friends 19:26:53.913487 Response sent (56 bytes) and written to log/21/server.response 19:26:53.913496 special request received, no persistency 19:26:53.913504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 51956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind498 ==107195== ==107195== Process terminating with default action of signal 4 (SIGILL) ==107195== Illegal opcode at address 0x492B75F ==107195== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==107195== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==107195== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==107195== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==107195== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==107195== by 0x49908EB: curl_version_info (version.c:600) ==107195== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==107195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==107195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==107195== by 0x4003269: main (tool_main.c:195) === End of file valgrind498 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36115/511 > log/18/stdout511 2> log/18/stderr511 test 0509 [initialization with memory callbacks and actual usage] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind509 ./libtest/libtests lib509 - > log/15/stdout509 2> log/15/stderr509 509: stdout FAILED: --- log/15/check-expected 2026-10-15 19:26:56.760642578 +0000 +++ log/15/check-generated 2026-10-15 19:26:56.756746823 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/15/ directory after test 509 === Start of file check-expected Callbacks were invoked![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind509 ./libtest/libtests lib509 - > log/15/stdout509 2> log/15/stderr509 === End of file commands.log === Start of file server.cmd Testnum 509 === End of file server.cmd === Start of file valgrind509 ==107788== ==107788== Process terminating with default action of signal 4 (SIGILL) ==107788== Illegal opcode at address 0x51CC63F ==107788== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107788== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107788== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107788== by 0x40041AF: main (first.c:264) === End of file valgrind509 test 0508 [send HTTP POST using read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:35993/508 > log/17/stdout508 2> log/17/stderr508 508: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 508 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:35993/508 > log/17/stdout508 2> log/17/stderr508 === End of file commands.log === Start of file http_server.log 19:26:55.740453 ====> Client connect 19:26:55.740490 accept_connection 3 returned 4 19:26:55.740512 Read 93 bytes 19:26:55.740523 Process 93 bytes request 19:26:55.740535 Got request: GET /verifiedserver HTTP/1.1 19:26:55.740544 Are-we-friendly question received 19:26:55.740576 Wrote request (93 bytes) input to log/17/server.input 19:26:55.740595 Identifying ourselves as friends 19:26:55.740670 Response sent (56 bytes) and written to log/17/server.response 19:26:55.740681 special request received, no persistency 19:26:55.740690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 508 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind508 ==107648== ==107648== Process terminating with default action of signal 4 (SIGILL) ==107648== Illegal opcode at address 0x51CC63F ==107648== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107648== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107648== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107648== by 0x40041AF: main (first.c:264) === End of file valgrind508 test 0511 [FTP with FILETIME and NOBODY but missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36115/511 > log/18/stdout511 2> log/18/stderr511 511: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 511 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:36115/511 > log/18/stdout511 2> log/18/stderr511 === End of file commands.log === Start of file ftp_server.log 19:26:55.398404 ====> Client connect 19:26:55.398646 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:55.402341 < "USER anonymous" 19:26:55.402391 > "331 We are happy you popped in![CR][LF]" 19:26:55.402590 < "PASS ftp@example.com" 19:26:55.402624 > "230 Welcome you silly person[CR][LF]" 19:26:55.402806 < "PWD" 19:26:55.402845 > "257 "/" is current directory[CR][LF]" 19:26:55.403045 < "EPSV" 19:26:55.403075 ====> Passive DATA channel requested by client 19:26:55.403091 DATA sockfilt for passive data channel starting... 19:26:55.408755 DATA sockfilt for passive data channel started (pid 107867) 19:26:55.408914 DATA sockfilt for passive data channel listens on port 33239 19:26:55.408963 > "229 Entering Passive Mode (|||33239|)[CR][LF]" 19:26:55.408983 Client has been notified that upcoming DATA connection is awaited on port 33239 19:26:55.409275 Client connects to port 33239 19:26:55.409307 ====> Client established passive DATA connection on port 33239 19:26:55.409407 < "TYPE I" 19:26:55.409443 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:55.409628 < "SIZE verifiedserver" 19:26:55.409672 > "213 17[CR][LF]" 19:26:55.409854 < "RETR verifiedserver" 19:26:55.409895 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:55.409992 =====> Closing passive DATA connection... 19:26:55.410012 Server disconnects passive DATA connection 19:26:55.410177 Server disconnected passive DATA connection 19:26:55.410203 DATA sockfilt for passive data channel quits (pid 107867) 19:26:55.410491 DATA sockfilt for passive data channel quit (pid 107867) 19:26:55.410521 =====> Closed passive DATA connection 19:26:55.410554 > "226 File transfer complete[CR][LF]" 19:26:55.452605 < "QUIT" 19:26:55.452673 > "221 bye bye baby[CR][LF]" 19:26:55.454094 MAIN sockfilt said DISC 19:26:55.454137 ====> Client disconnected 19:26:55.454226 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:55.006401 ====> Client connect 19:26:55.006804 Received DATA (on stdin) 19:26:55.006821 > 146 bytes data, server => client 19:26:55.006832 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:55.006843 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:55.006852 '220 \___|\___/|_| \_\_____|\r\n' 19:26:55.010251 < 16 bytes data, client => server 19:26:55.010274 'USER anonymous\r\n' 19:26:55.010528 Received DATA (on stdin) 19:26:55.010541 > 33 bytes data, server => client 19:26:55.010552 '331 We are happy you popped in!\r\n' 19:26:55.010615 < 22 bytes data, client => server 19:26:55.010629 'PASS ftp@example.com\r\n' 19:26:55.010755 Received DATA (on stdin) 19:26:55.010768 > 30 bytes data, server => client 19:26:55.010779 '230 Welcome you silly person\r\n' 19:26:55.010835 < 5 bytes data, client => server 19:26:55.010847 'PWD\r\n' 19:26:55.010978 Received DATA (on stdin) 19:26:55.010990 > 30 bytes data, server => client 19:26:55.011001 '257 "/" is current directory\r\n' 19:26:55.011072 < 6 bytes data, clieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind499 ../src/curl -q --output log/3/curl499.out --include --trace-ascii log/3/trace499 --trace-time http://127.0.0.1:36161/499 -I > log/3/stdout499 2> log/3/stderr499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:46497/513 > log/19/stdout513 2> log/19/stderr513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:38895/516 > log/24/stdout516 2> log/24/stderr516 nt => server 19:26:55.011087 'EPSV\r\n' 19:26:55.017120 Received DATA (on stdin) 19:26:55.017138 > 39 bytes data, server => client 19:26:55.017149 '229 Entering Passive Mode (|||33239|)\r\n' 19:26:55.017315 < 8 bytes data, client => server 19:26:55.017332 'TYPE I\r\n' 19:26:55.017576 Received DATA (on stdin) 19:26:55.017588 > 33 bytes data, server => client 19:26:55.017599 '200 I modify TYPE as you wanted\r\n' 19:26:55.017660 < 21 bytes data, client => server 19:26:55.017674 'SIZE verifiedserver\r\n' 19:26:55.017805 Received DATA (on stdin) 19:26:55.017818 > 8 bytes data, server => client 19:26:55.017827 '213 17\r\n' 19:26:55.017888 < 21 bytes data, client => server 19:26:55.017902 'RETR verifiedserver\r\n' 19:26:55.018234 Received DATA (on stdin) 19:26:55.018244 > 29 bytes data, server => client 19:26:55.018254 '150 Binary junk (17 bytes).\r\n' 19:26:55.018686 Received DATA (on stdin) 19:26:55.018699 > 28 bytes data, server => client 19:26:55.018710 '226 File transfer complete\r\n' 19:26:55.060498 < 6 bytes data, client => server 19:26:55.060536 'QUIT\r\n' 19:26:55.060829 Received DATA (on stdin) 19:26:55.060847 > 18 bytes data, server => client 19:26:55.060858 '221 bye bye baby\r\n' 19:26:55.062172 ====> Client disconnect 19:26:55.062374 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:55.012915 Running IPv4 version 19:26:55.012996 Listening on port 33239 19:26:55.013042 Wrote pid 107867 to log/18/server/ftp_sockdata.pid 19:26:55.016794 Received PING (on stdin) 19:26:55.016935 Received PORT (on stdin) 19:26:55.017354 ====> Client connect 19:26:55.018144 Received DATA (on stdin) 19:26:55.018157 > 17 bytes data, server => client 19:26:55.018168 'WE ROOLZ: 85350\r\n' 19:26:55.018198 Received DISC (on stdin) 19:26:55.018210 ====> Client forcibly disconnected 19:26:55.018341 Received QUIT (on stdin) 19:26:55.018354 quits 19:26:55.018424 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 bluah you f00l REPLY SIZE 550 bluah you f00l Testnum 511 === End of file server.cmd === Start of file valgrind511 ==107928== ==107928== Process terminating with default action of signal 4 (SIGILL) ==107928== Illegal opcode at address 0x51CC63F ==107928== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==107928== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==107928== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==107928== by 0x40041AF: main (first.c:264) === End of file valgrind511 test 0499 [HTTP HEAD to server still sending a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind499 ../src/curl -q --output log/3/curl499.out --include --trace-ascii log/3/trace499 --trace-time http://127.0.0.1:36161/499 -I > log/3/stdout499 2> log/3/stderr499 499: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind499 ../src/curl -q --output log/3/curl499.out --include --trace-ascii log/3/trace499 --trace-time http://127.0.0.1:36161/499 -I > log/3/stdout499 2> log/3/stderr499 === End of file commands.log === Start of file http_server.log 19:26:55.006088 ====> Client connect 19:26:55.006121 accept_connection 3 returned 4 19:26:55.006141 Read 93 bytes 19:26:55.006150 Process 93 bytes request 19:26:55.006162 Got request: GET /verifiedserver HTTP/1.1 19:26:55.006171 Are-we-friendly question received 19:26:55.006197 Wrote request (93 bytes) input to log/3/server.input 19:26:55.006212 Identifying ourselves as friends 19:26:55.006272 Response sent (56 bytes) and written to log/3/server.response 19:26:55.006282 special request received, no persistency 19:26:55.006290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind499 ==107222== ==107222== Process terminating with default action of signal 4 (SIGILL) ==107222== Illegal opcode at address 0x492B75F ==107222== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==107222== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==107222== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==107222== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==107222== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==107222== by 0x49908EB: curl_version_info (version.c:600) ==107222== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==107222== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==107222== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==107222== by 0x4003269: main (tool_main.c:195) === End of file valgrind499 test 0516 [make an HTTPPOST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:38895/516 > log/24/stdout516 2> log/24/stderr516 516: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:38895/516 > log/24/stdout516 2> log/24/stderr516 === End of file commands.log === Start of file http_server.log 19:26:55.568683 ====> Client connect 19:26:55.568724 accept_connection 3 returned 4 19:26:55.568748 Read 93 bytes 19:26:55.568758 Process 93 bytes request 19:26:55.568770 Got request: GET /verifiedserver HTTP/1.1 19:26:55.568779 Are-we-friendly question received 19:26:55.568805 Wrote request (93 bytes) input to log/24/server.input 19:26:55.568822 Identifying ourselves as friends 19:26:55.568896 Response sent (56 bytes) and written to log/24/server.response 19:26:55.568906 special request received, no persistency 19:26:55.568914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 34974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind516 ==108194== ==108194== Process terminating with default action of signal 4 (SIGILL) ==108194== Illegal opcode at address 0x51CC63F ==108194== at 0x51CC63F: formatf.constCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:35735/515 > log/4/stdout515 2> log/4/stderr515 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:40989/514 > log/11/stdout514 2> log/11/stderr514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind517 ./libtest/libtests lib517 - > log/12/stdout517 2> log/12/stderr517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:37089 > log/5/stdout523 2> log/5/stderr523 prop.1 (mprintf.c:1115) ==108194== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108194== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108194== by 0x40041AF: main (first.c:264) === End of file valgrind516 test 0515 [make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:35735/515 > log/4/stdout515 2> log/4/stderr515 515: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 515 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:35735/515 > log/4/stdout515 2> log/4/stderr515 === End of file commands.log === Start of file http_server.log 19:26:56.534170 ====> Client connect 19:26:56.534219 accept_connection 3 returned 4 19:26:56.534250 Read 93 bytes 19:26:56.534262 Process 93 bytes request 19:26:56.534277 Got request: GET /verifiedserver HTTP/1.1 19:26:56.534286 Are-we-friendly question received 19:26:56.534322 Wrote request (93 bytes) input to log/4/server.input 19:26:56.534346 Identifying ourselves as friends 19:26:56.534450 Response sent (56 bytes) and written to log/4/server.response 19:26:56.534464 special request received, no persistency 19:26:56.534474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 41834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind515 ==108168== ==108168== Process terminating with default action of signal 4 (SIGILL) ==108168== Illegal opcode at address 0x51CC63F ==108168== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108168== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108168== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108168== by 0x40041AF: main (first.c:264) === End of file valgrind515 test 0517 [curl_getdate() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind517 ./libtest/libtests lib517 - > log/12/stdout517 2> log/12/stderr517 libtests returned 132, when expecting 0 517: exit FAILED == Contents of files in the log/12/ directory after test 517 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind517 ./libtest/libtests lib517 - > log/12/stdout517 2> log/12/stderr517 === End of file commands.log === Start of file server.cmd Testnum 517 === End of file server.cmd === Start of file valgrind517 ==108282== ==108282== Process terminating with default action of signal 4 (SIGILL) ==108282== Illegal opcode at address 0x51CC63F ==108282== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108282== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108282== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108282== by 0x40041AF: main (first.c:264) === End of file valgrind517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:35903/519 > log/16/stdout519 2> log/16/stderr519 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 38033 > log/2/stdout521 2> log/2/stderr521 test 0523 [HTTP GET with proxy and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:37089 > log/5/stdout523 2> log/5/stderr523 523: stdout FAILED: --- log/5/check-expected 2026-10-15 19:26:57.862045516 +0000 +++ log/5/check-generated 2026-10-15 19:26:57.856210197 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/5/ directory after test 523 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:37089 > log/5/stdout523 2> log/5/stderr523 === End of file commands.log === Start of file http_server.log 19:26:56.111708 ====> Client connect 19:26:56.111754 accept_connection 3 returned 4 19:26:56.111786 Read 93 bytes 19:26:56.111797 Process 93 bytes request 19:26:56.111811 Got request: GET /verifiedserver HTTP/1.1 19:26:56.111821 Are-we-friendly question received 19:26:56.111853 Wrote request (93 bytes) input to log/5/server.input 19:26:56.111871 Identifying ourselves as friends 19:26:56.111962 Response sent (56 bytes) and written to log/5/server.response 19:26:56.111974 special request received, no persistency 19:26:56.111983 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 33628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind523 ==108592== ==108592== Process terminating with default action of signal 4 (SIGILL) ==108592== Illegal opcode at address 0x51CC63F ==108592== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108592== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108592== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108592== by 0x40041AF: main (first.c:264) === End of file valgrind523 test 0519 [GET same URL twice with different users] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:35903/519 > log/16/stdout519 2> log/16/stderr519 519: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 519 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:35903/519 > log/16/stdout519 2> log/16/stderr519 === End of file commands.log === Start of file http_server.log 19:26:56.941787 ====> Client connect 19:26:56.941816 accept_connection 3 returned 4 19:26:56.941836 Read 93 bytes 19:26:56.941846 Process 93 bytes request 19:26:56.941858 Got request: GET /verifiedserver HTTP/1.1 19:26:56.941867 Are-we-friendly question received 19:26:56.941894 Wrote request (93 bytes) input to log/16/server.input 19:26:56.941910 Identifying ourselves as friends 19:26:56.941971 Response sent (56 bytes) and written to log/16/server.response 19:26:56.941982 special request received, no persistency 19:26:56.941990 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 40916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind519 ==108424== ==108424== Process terminating with default action of signal 4 (SIGILL) ==108424== Illegal opcode at address 0x51CC63F ==108424== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108424== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108424== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108424== by 0x40041AF: main (first.c:264) === End of file valgrind519 test 0521 [FTP dir list PASV with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 38033 > log/2/stdout521 2> log/2/stderr521 521: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 521 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 38033 > log/2/stdout521 2> log/2/stderr521 === End of file commands.log === Start of file ftp_server.log 19:26:56.478887 ====> Client connect 19:26:56.526593 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.540969 < "USER anonymous" 19:26:56.541030 > "331 We are happy you popped in![CR][LF]" 19:26:56.541268 < "PASS ftp@example.com" 19:26:56.541305 > "230 Welcome you silly person[CR][LF]" 19:26:56.541493 < "PWD" 19:26:56.541530 > "257 "/" is current directory[CR][LF]" 19:26:56.541723 < "EPSV" 19:26:56.541750 ====> Passive DATA channel requested by client 19:26:56.541766 DATA sockfilt for passive data channel starting... 19:26:56.546426 DATA sockfilt for passive data channel started (pid 108580) 19:26:56.546525 DATA sockfilt for passive data channel listens on port 46273 19:26:56.546557 > "229 Entering Passive Mode (|||46273|)[CR][LF]" 19:26:56.546570 Client has been notified that upcoming DATA connection is awaited on port 46273 19:26:56.546740 Client connects to port 46273 19:26:56.546765 ====> Client established passive DATA connection on port 46273 19:26:56.546901 < "TYPE I" 19:26:56.546929 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.547045 < "SIZE verifiedserver" 19:26:56.547070 > "213 17[CR][LF]" 19:26:56.547169 < "RETR verifiedserver" 19:26:56.547194 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.547386 =====> Closing passive DATA connection... 19:26:56.547401 Server disconnects passive DATA connection 19:26:56.547497 Server disconnected passive DATA connection 19:26:56.547514 DATA sockfilt for passive data channel quits (pid 108580) 19:26:56.547675 DATA sockfilt for passive data channel quit (pid 108580) 19:26:56.547693 =====> Closed passive DATA connection 19:26:56.547750 > "226 File transfer complete[CR][LF]" 19:26:56.5923CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:43733/path/528 > log/9/stdout528 2> log/9/stderr528 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35989 > log/22/stdout522 2> log/22/stderr522 37 < "QUIT" 19:26:56.592395 > "221 bye bye baby[CR][LF]" 19:26:56.593608 MAIN sockfilt said DISC 19:26:56.593652 ====> Client disconnected 19:26:56.593734 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.083734 ====> Client connect 19:26:56.137044 Received DATA (on stdin) 19:26:56.143716 > 146 bytes data, server => client 19:26:56.143743 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.143754 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.143762 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.147141 < 16 bytes data, client => server 19:26:56.147166 'USER anonymous\r\n' 19:26:56.149419 Received DATA (on stdin) 19:26:56.149437 > 33 bytes data, server => client 19:26:56.149447 '331 We are happy you popped in!\r\n' 19:26:56.149528 < 22 bytes data, client => server 19:26:56.149540 'PASS ftp@example.com\r\n' 19:26:56.149683 Received DATA (on stdin) 19:26:56.149695 > 30 bytes data, server => client 19:26:56.149705 '230 Welcome you silly person\r\n' 19:26:56.149769 < 5 bytes data, client => server 19:26:56.149783 'PWD\r\n' 19:26:56.149903 Received DATA (on stdin) 19:26:56.149915 > 30 bytes data, server => client 19:26:56.149925 '257 "/" is current directory\r\n' 19:26:56.149996 < 6 bytes data, client => server 19:26:56.150010 'EPSV\r\n' 19:26:56.154944 Received DATA (on stdin) 19:26:56.154956 > 39 bytes data, server => client 19:26:56.154964 '229 Entering Passive Mode (|||46273|)\r\n' 19:26:56.155200 < 8 bytes data, client => server 19:26:56.155211 'TYPE I\r\n' 19:26:56.155295 Received DATA (on stdin) 19:26:56.155303 > 33 bytes data, server => client 19:26:56.155310 '200 I modify TYPE as you wanted\r\n' 19:26:56.155359 < 21 bytes data, client => server 19:26:56.155367 'SIZE verifiedserver\r\n' 19:26:56.155436 Received DATA (on stdin) 19:26:56.155443 > 8 bytes data, server => client 19:26:56.155450 '213 17\r\n' 19:26:56.155591 < 21 bytes data, client => server 19:26:56.155599 'RETR verifiedserver\r\n' 19:26:56.155608 Received DATA (on stdin) 19:26:56.155614 > 29 bytes data, server => client 19:26:56.155621 '150 Binary junk (17 bytes).\r\n' 19:26:56.156064 Received DATA (on stdin) 19:26:56.156074 > 28 bytes data, server => client 19:26:56.156086 '226 File transfer complete\r\n' 19:26:56.200525 < 6 bytes data, client => server 19:26:56.200560 'QUIT\r\n' 19:26:56.200786 Received DATA (on stdin) 19:26:56.200798 > 18 bytes data, server => client 19:26:56.200809 '221 bye bye baby\r\n' 19:26:56.201929 ====> Client disconnect 19:26:56.202121 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.151992 Running IPv4 version 19:26:56.152060 Listening on port 46273 19:26:56.152104 Wrote pid 108580 to log/2/server/ftp_sockdata.pid 19:26:56.154736 Received PING (on stdin) 19:26:56.154818 Received PORT (on stdin) 19:26:56.155068 ====> Client connect 19:26:56.155567 Received DATA (on stdin) 19:26:56.155576 > 17 bytes data, server => client 19:26:56.155664 'WE ROOLZ: 85208\r\n' 19:26:56.155803 Received DISC (on stdin) 19:26:56.155813 ====> Client forcibly disconnected 19:26:56.155880 Received QUIT (on stdin) 19:26:56.155887 quits 19:26:56.155927 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 521 === End of file server.cmd === Start of file valgrind521 ==108671== ==108671== Process terminating with default action of signal 4 (SIGILL) ==108671== Illegal opcode at address 0x51CC63F ==108671== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108671== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108671== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108671== by 0x40041AF: main (first.c:264) === End of file valgrind521 test 0528 [HTTP GET same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:43733/path/528 > log/9/stdout528 2> log/9/stderr528 528: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 528 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:43733/path/528 > log/9/stdout528 2> log/9/stderr528 === End of file commands.log === Start of file http_server.log 19:26:56.272488 ====> Client connect 19:26:56.272524 accept_connection 3 returned 4 19:26:56.273381 Read 93 bytes 19:26:56.273399 Process 93 bytes request 19:26:56.273412 Got request: GET /verifiedserver HTTP/1.1 19:26:56.273421 Are-we-friendly question received 19:26:56.273457 Wrote request (93 bytes) input to log/9/server.input 19:26:56.273474 Identifying ourselves as friends 19:26:56.273534 Response sent (56 bytes) and written to log/9/server.response 19:26:56.273543 special request received, no persistency 19:26:56.273551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 50564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind528 ==108922== ==108922== Process terminating with default action of signal 4 (SIGILL) ==108922== Illegal opcode at address 0x51CC63F ==108922== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108922== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108922== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108922== by 0x40041AF: main (first.c:264) === End of file valgrind528 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33989/path/532 > log/6/stdout532 2> log/6/stderr532 test 0522 [HTTP GET with CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35989 > log/22/stdout522 2> log/22/stderr522 522: stdout FAILED: --- log/22/check-expected 2026-10-15 19:26:58.005852917 +0000 +++ log/22/check-generated 2026-10-15 19:26:58.005778633 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/22/ directory after test 522 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35989 > log/22/stdout522 2> log/22/stderr522 === End of file commands.log === Start of file http_server.log 19:26:56.067051 ====> Client connect 19:26:56.067081 accept_connection 3 returned 4 19:26:56.067101 Read 93 bytes 19:26:56.067111 Process 93 bytes request 19:26:56.067121 Got request: GET /verifiedserver HTTP/1.1 19:26:56.067129 Are-we-friendly question received 19:26:56.067157 Wrote request (93 bytes) input to log/22/server.input 19:26:56.067173 Identifying ourselves as friends 19:26:56.067237 Response sent (56 bytes) and written to log/22/server.response 19:26:56.067245 special request received, no persistency 19:26:56.067253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 52982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind522 ==108594== ==108594== Process terminating with default action of signal 4 (SIGILL) ==108594== Illegal opcode at address 0x51CC63F ==108594== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108594== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108594== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108594== by 0x40041AF: main (first.c:264) === End of file valgrind522 test 0532 [FTP RETR same file using reset handles between each transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33989/path/532 > log/6/stdout532 2> log/6/stderr532 532: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:33989/path/532 > log/6/stdout532 2> log/6/stderr532 === End of file commands.log === Start of file ftp_server.log 19:26:56.789467 ====> Client connect 19:26:56.789677 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.790008 < "USER anonymous" 19:26:56.790055 > "331 We are happy you popped in![CR][LF]" 19:26:56.790271 < "PASS ftp@example.com" 19:26:56.790310 > "230 Welcome you silly person[CR][LF]" 19:26:56.790862 < "PWD" 19:26:56.790904 > "257 "/" is current directory[CR][LF]" 19:26:56.791108 < "EPSV" 19:26:56.791137 ====> Passive DATA channel requested by client 19:26:56.791153 DATA sockfilt for passive data channel starting... 19:26:56.805641 DATA sockfilt for passive data channel started (pid 108976) 19:26:56.805839 DATA sockfilt for passive data channel listens on port 35359 19:26:56.805911 > "229 Entering Passive Mode (|||35359|)[CR][LF]" 19:26:56.805937 Client has been notified that upcoming DATA connection is awaited on port 35359 19:26:56.806303 Client connects to port 35359 19:26:56.806341 ====> Client established passive DATA connection on port 35359 19:26:56.806450 < "TYPE I" 19:26:56.806497 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.806705 < "SIZE verifiedserver" 19:26:56.806756 > "213 17[CR][LF]" 19:26:56.806958 < "RETR verifiedserver" 19:26:56.807006 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.807121 =====> Closing passive DATA connection... 19:26:56.807143 Server disconnects passive DATA connection 19:26:56.807437 Server disconnected passive DATA connection 19:26:56.807472 DATA sockfilt for passive data channel quits (pid 108976) 19:26:56.807819 DATA sockfilt for passive data channel quit (pid 108976) 19:26:56.807847 =====> Closed passive DATA connection 19:26:56.807879 > "226 File transfer complete[CR][LF]" 19:26:56.849119 < "QUIT" 19:26:56.849167 > "221 bye bye baby[CR][LF]" 19:26:56.850057 MAIN sockfilt said DISC 19:26:56.850093 ====> Client disconnected 19:26:56.850152 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.396092 ====> Client connect 19:26:57.398127 Received DATA (on stdin) 19:26:57.398147 > 146 bytes data, server => client 19:26:57.398159 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.398169 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.398178 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.398277 < 16 bytes data, client => server 19:26:57.398293 'USER anonymous\r\n' 19:26:57.398491 Received DATA (on stdin) 19:26:57.398505 > 33 bytes data, server => client 19:26:57.398515 '331 We are happy you popped in!\r\n' 19:26:57.398582 < 22 bytes data, client => server 19:26:57.398598 'PASS ftp@example.com\r\n' 19:26:57.398743 Received DATA (on stdin) 19:26:57.398756 > 30 bytes data, server => client 19:26:57.398766 '230 Welcome you silly person\r\n' 19:26:57.399178 < 5 bytes data, client => server 19:26:57.399195 'PWD\r\n' 19:26:57.399336 Received DATA (on stdin) 19:26:57.399349 > 30 bytes data, server => client 19:26:57.399359 '257 "/" is current directory\r\n' 19:26:57.399433 < 6 bytes data, client => server 19:26:57.399448 'EPSV\r\n' 19:26:57.414385 Received DATA (on stdin) 19:26:57.414406 > 39 bytes data, server => client 19:26:57.414418 '229 Entering Passive Mode (|||35359|)\r\n' 19:26:57.414637 < 8 bytes data, client => server 19:26:57.414656 'TYPE I\r\n' 19:26:57.414935 Received DATA (on stdin) 19:26:57.414950 > 33 bytes data, server => client 19:26:57.414960 '200 I modify TYPE as you wanted\r\n' 19:26:57.415028 < 21 bytes data, client => server 19:26:57.415043 'SIZE verifiedserver\r\n' 19:26:57.415193 Received DATA (on stdin) 19:26:57.415207 > 8 bytes data, server => client 19:26:57.415217 '213 17\r\n' 19:26:57.415283 < 21 bytes data, client => server 19:26:57.415298 'RETR verifiedserver\r\n' 19:26:57.415576 Received DATA (on stdin) 19:26:57.415589 > 29 bytes data, server => client 19:26:57.415598 '150 Binary junk (17 bytes).\r\n' 19:26:57.416311 Received DATA (on stdin) 19:26:57.416323 > 28 bytes data, server => client 19:26:57.416333 '226 File transfer complete\r\n' 19:26:57.457401 < 6 bytes data, client => server 19:26:57.457421 'QUIT\r\n' 19:26:57.457605 Received DATA (on stdin) 19:26:57.457614 > 18 bytes data, server => client 19:26:57.457621 '221 bye bye baby\r\n' 19:26:57.458442 ====> Client disconnect 19:26:57.458584 Received ACKD (on stdin) === End of file ftp_sockctrl.log === StaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:44283/path/529 log/7/upload529 > log/7/stdout529 2> log/7/stderr529 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35523/520 > log/23/stdout520 2> log/23/stderr520 rt of file ftp_sockdata.log 19:26:56.404917 Running IPv4 version 19:26:56.405004 Listening on port 35359 19:26:56.405053 Wrote pid 108976 to log/6/server/ftp_sockdata.pid 19:26:56.413971 Received PING (on stdin) 19:26:56.414131 Received PORT (on stdin) 19:26:56.414680 ====> Client connect 19:26:56.415666 Received DATA (on stdin) 19:26:56.415682 > 17 bytes data, server => client 19:26:56.415692 'WE ROOLZ: 85558\r\n' 19:26:56.415731 Received DISC (on stdin) 19:26:56.415746 ====> Client forcibly disconnected 19:26:56.415921 Received QUIT (on stdin) 19:26:56.415934 quits 19:26:56.416027 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 532 === End of file server.cmd === Start of file valgrind532 ==109110== ==109110== Process terminating with default action of signal 4 (SIGILL) ==109110== Illegal opcode at address 0x51CC63F ==109110== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109110== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109110== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109110== by 0x40041AF: main (first.c:264) === End of file valgrind532 test 0513 [send HTTP POST using read callback that returns CURL_READFUNC_ABORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:46497/513 > log/19/stdout513 2> log/19/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/19/ directory after test 513 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:46497/513 > log/19/stdout513 2> log/19/stderr513 === End of file commands.log === Start of file http_server.log 19:26:55.277072 ====> Client connect 19:26:55.277110 accept_connection 3 returned 4 19:26:55.277133 Read 93 bytes 19:26:55.277143 Process 93 bytes request 19:26:55.277155 Got request: GET /verifiedserver HTTP/1.1 19:26:55.277164 Are-we-friendly question received 19:26:55.277194 Wrote request (93 bytes) input to log/19/server.input 19:26:55.277212 Identifying ourselves as friends 19:26:55.277283 Response sent (56 bytes) and written to log/19/server.response 19:26:55.277294 special request received, no persistency 19:26:55.277302 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 50038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind513 ==108058== ==108058== Process terminating with default action of signal 4 (SIGILL) ==108058== Illegal opcode at address 0x51CC63F ==108058== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108058== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108058== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108058== by 0x40041AF: main (first.c:264) === End of file valgrind513 test 0529 [FTP PORT upload using multi interface (weird cleanup function seq)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:44283/path/529 log/7/upload529 > log/7/stdout529 2> log/7/stderr529 529: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:44283/path/529 log/7/upload529 > log/7/stdout529 2> log/7/stderr529 === End of file commands.log === Start of file ftp_server.log 19:26:56.715447 ====> Client connect 19:26:56.715632 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.715905 < "USER anonymous" 19:26:56.715936 > "331 We are happy you popped in![CR][LF]" 19:26:56.716086 < "PASS ftp@example.com" 19:26:56.716109 > "230 Welcome you silly person[CR][LF]" 19:26:56.716243 < "PWD" 19:26:56.716271 > "257 "/" is current directory[CR][LF]" 19:26:56.716414 < "EPSV" 19:26:56.716437 ====> Passive DATA channel requested by client 19:26:56.716451 DATA sockfilt for passive data channel starting... 19:26:56.722235 DATA sockfilt for passive data channel started (pid 108829) 19:26:56.722357 DATA sockfilt for passive data channel listens on port 46603 19:26:56.722394 > "229 Entering Passive Mode (|||46603|)[CR][LF]" 19:26:56.722409 Client has been notified that upcoming DATA connection is awaited on port 46603 19:26:56.722691 Client connects to port 46603 19:26:56.722721 ====> Client established passive DATA connection on port 46603 19:26:56.722800 < "TYPE I" 19:26:56.722829 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.722974 < "SIZE verifiedserver" 19:26:56.723012 > "213 17[CR][LF]" 19:26:56.723147 < "RETR verifiedserver" 19:26:56.723176 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.723257 =====> Closing passive DATA connection... 19:26:56.723274 Server disconnects passive DATA connection 19:26:56.723477 Server disconnected passive DATA connection 19:26:56.723501 DATA sockfilt for passive data channel quits (pid 108829) 19:26:56.723784 DATA sockfilt for passive data channel quit (pid 108829) 19:26:56.723806 =====> Closed passive DATA connection 19:26:56.723830 > "226 File transfer complete[CR][LF]" 19:26:56.769099 < "QUIT" 19:26:56.769160 > "221 bye bye baby[CR][LF]" 19:26:56.770406 MAIN sockfilt said DISC 19:26:56.770442 ====> Client disconnected 19:26:56.770537 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.323754 ====> Client connect 19:26:57.324050 Received DATA (on stdin) 19:26:57.324063 > 146 bytes data, server => client 19:26:57.324074 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.324084 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.324093 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.324183 < 16 bytes data, client => server 19:26:57.324193 'USER anonymous\r\n' 19:26:57.324346 Received DATA (on stdin) 19:26:57.324357 > 33 bytes data, server => client 19:26:57.324367 '331 We are happy you popped in!\r\n' 19:26:57.324415 < 22 bytes data, client => server 19:26:57.324425 'PASS ftp@example.com\r\n' 19:26:57.324516 Received DATA (on stdin) 19:26:57.324525 > 30 bytes data, server => client 19:26:57.324535 '230 Welcome you silly person\r\n' 19:26:57.324579 < 5 bytes data, client => server 19:26:57.324588 'PWD\r\n' 19:26:57.324677 Received DATA (on stdin) 19:26:57.324687 > 30 bytes data, server => client 19:26:57.324696 '257 "/" is current directory\r\n' 19:26:57.324750 < 6 bytes data, client => server 19:26:57.324759 'EPSV\r\n' 19:26:57.330825 Received DATA (on stdin) 19:26:57.330840 > 39 bytes data, server => client 19:26:57.330850 '229 Entering Passive Mode (|||46603|)\r\n' 19:26:57.331051 < 8 bytes data, client => server 19:26:57.331061 'TYPE I\r\n' 19:26:57.331239 Received DATA (on stdin) 19:26:57.331249 > 33 bytes data, server => client 19:26:57.331259 '200 I modify TYPE as you wanted\r\n' 19:26:57.331308 < 21 bytes data, client => server 19:26:57.331317 'SIZE verifiedserver\r\n' 19:26:57.331419 Received DATA (on stdin) 19:26:57.331428 > 8 bytes data, server => client 19:26:57.331437 '213 17\r\n' 19:26:57.331483 < 21 bytes data, client => server 19:26:57.331493 'RETR verifiedserver\r\n' 19:26:57.331684 Received DATA (on stdin) 19:26:57.331694 > 29 bytes data, server => client 19:26:57.331704 '150 Binary junk (17 bytes).\r\n' 19:26:57.332239 Received DATA (on stdin) 19:26:57.332250 > 28 bytes data, server => client 19:26:57.332259 '226 File transfer complete\r\n' 19:26:57.377323 < 6 bytes data, client => server 19:26:57.377350 'QUIT\r\n' 19:26:57.377592 Received DATA (on stdin) 19:26:57.377606 > 18 bytes data, server => client 19:26:57.377617 '221 bye bye baby\r\n' 19:26:57.378771 ====> Client disconnect 19:26:57.378967 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.328255 Running IPv4 version 19:26:56.328345 Listening on port 46603 19:26:56.328425 Wrote pid 108829 to log/7/server/ftp_sockdata.pid 19:26:56.330568 Received PING (on stdin) 19:26:56.330675 Received PORT (on stdin) 19:26:56.331024 ====> Client connect 19:26:56.331727 Received DATA (on stdin) 19:26:56.331738 > 17 bytes data, server => client 19:26:56.331748 'WE ROOLZ: 84721\r\n' 19:26:56.331769 Received DISC (on stdin) 19:26:56.331779 ====> Client forcibly disconnected 19:26:56.331917 Received QUIT (on stdin) 19:26:56.331927 quits 19:26:56.331998 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 529 === End of file server.cmd === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==109034== ==109034== Process terminating with default action of signal 4 (SIGILL) ==109034== Illegal opcode at address 0x51CC63F ==109034== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109034== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109034== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109034== by 0x40041AF: main (first.c:264) === End of file valgrind529 test 0520 [FTP RETR with FILETIME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35523/520 > log/23/stdout520 2> log/23/stderr520 520: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:35523/520 > log/23/stdout520 2> log/23/stderr520 === End of file commands.log === Start of file ftp_server.log 19:26:56.327741 ====> Client connect 19:26:56.327948 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.328241 < "USER anonymous" 19:26:56.328277 > "331 We are happy you popped in![CR][LF]" 19:26:56.328450 < "PASS ftp@example.com" 19:26:56.328478 > "230 Welcome you silly person[CR][LF]" 19:26:56.328626 < "PWD" 19:26:56.328657 > "257 "/" is current directory[CR][LF]" 19:26:56.328839 < "EPSV" 19:26:56.328864 ====> Passive DATA channel requested by client 19:26:56.328878 DATA sockfilt for passive data channel starting... 19:26:56.333750 DATA sockfilt for passive data channel started (pid 108409) 19:26:56.333906 DATA sockfilt for passive data channel listens on port 35291 19:26:56.333964 > "229 Entering Passive Mode (|||35291|)[CR][LF]" 19:26:56.333987 Client has been notified that upcoming DATA connection is awaited on port 35291 19:26:56.334270 Client connects to port 35291 19:26:56.334304 ====> Client established passive DATA connection on port 35291 19:26:56.334410 < "TYPE I" 19:26:56.334451 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.334651 < "SIZE verifiedserver" 19:26:56.334698 > "213 17[CR][LF]" 19:26:56.334889 < "RETR verifiedserver" 19:26:56.334932 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.335027 =====> Closing passive DATA connection... 19:26:56.335049 Server disconnects passive DATA connection 19:26:56.335290 Server disconnected passive DATA connection 19:26:56.335326 DATA sockfilt for passive data channel quits (pid 108409) 19:26:56.335604 DATA sockfilt for passive data channel quit (pid 108409) 19:26:56.335633 =====> Closed passive DATA connection 19:26:56.335664 > "226 File transfer complete[CR][LF]" 19:26:56.382231 < "QUIT" 19:26:56.382289 > "221 bye bye baby[CR][LF]" 19:26:56.384263 MAIN sockfilt said DISC 19:26:56.384305 ====> Client disconnected 19:26:56.384383 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.935931 ====> Client connect 19:26:56.936287 Received DATA (on stdin) 19:26:56.936302 > 146 bytes data, server => client 19:26:56.936313 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.936323 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.936332 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.936420 < 16 bytes data, client => server 19:26:56.936432 'USER anonymous\r\n' 19:26:56.936605 Received DATA (on stdin) 19:26:56.936617 > 33 bytes data, server => client 19:26:56.936627 '331 We are happy you popped in!\r\n' 19:26:56.936683 < 22 bytes data, client => server 19:26:56.936693 'PASS ftp@example.com\r\n' 19:26:56.936803 Received DATA (on stdin) 19:26:56.936814 > 30 bytes data, server => client 19:26:56.936824 '230 Welcome you silly person\r\n' 19:26:56.936872 < 5 bytes data, client => server 19:26:56.936882 'PWD\r\n' 19:26:56.936998 Received DATA (on stdin) 19:26:56.937010 > 30 bytes data, server => client 19:26:56.937020 '257 "/" is current directory\r\n' 19:26:56.937082 < 6 bytes data, client => server 19:26:56.937092 'EPSV\r\n' 19:26:56.942331 Received DATA (on stdin) 19:26:56.942348 > 39 bytes data, server => client 19:26:56.942359 '229 Entering Passive Mode (|||35291|)\r\n' 19:26:56.942511 < 8 bytes data, client => server 19:26:56.942529 'TYPE I\r\n' 19:26:56.942788 Received DATA (on stdin) 19:26:56.942801 > 33 bytes data, server => client 19:26:56.942812 '200 I modify TYPE as you wanted\r\n' 19:26:56.942877 < 21 bytes data, client => server 19:26:56.942891 'SIZE verifiedserver\r\n' 19:26:56.943034 Received DATA (on stdin) 19:26:56.943047 > 8 bytes data, server => client 19:26:56.943057 '213 17\r\n' 19:26:56.943119 < 21 bytes data, client => server 19:26:56.943133 'RETR verifiedserver\r\n' 19:26:56.943383 Received DATA (on stdin) 19:26:56.943396 > 29 bytes data, server => client 19:26:56.943407 '150 Binary junk (17 bytes).\r\n' 19:26:56.943999 Received DATA (on stdin) 19:26:56.944012 > 28 bytes data, server => client 19:26:56.944022 '226 File transfer complete\r\n' 19:26:56.990380 < 6 bytes data, client => server 19:26:56.990412 'QUIT\r\n' 19:26:56.990634 Received DATA (on stdin) 19:26:56.990647 > 18 bytes data, server => client 19:26:56.990657 '221 bye bye baby\r\n' 19:26:56.992543 ====> Client disconnect 19:26:56.992730 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.941612 Running IPv4 version 19:26:56.941695 Listening on port 35291 19:26:56.941733 Wrote pid 108409 to log/23/server/ftp_sockdata.pid 19:26:56.942008 Received PING (on stdin) 19:26:56.942125 Received PORT (on stdin) 19:26:56.942550 ====> Client connect 19:26:56.943438 Received DATA (on stdin) 19:26:56.943451 > 17 bytes data, server => client 19:26:56.943460 'WE ROOLZ: 84709\r\n' 19:26:56.943485 Received DISC (on stdin) 19:26:56.943496 ====> Client foCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41879/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37411/path/526 > log/14/stdout526 2> log/14/stderr526 rcibly disconnected 19:26:56.943678 Received QUIT (on stdin) 19:26:56.943690 quits 19:26:56.943749 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 213 20030405060708 Testnum 520 === End of file server.cmd === Start of file valgrind520 ==108500== ==108500== Process terminating with default action of signal 4 (SIGILL) ==108500== Illegal opcode at address 0x51CC63F ==108500== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108500== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108500== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108500== by 0x40041AF: main (first.c:264) === End of file valgrind520 test 0531 [FTP PORT upload using multi interface and get 425 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41879/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 531: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41879/path/531 log/8/upload531 > log/8/stdout531 2> log/8/stderr531 === End of file commands.log === Start of file ftp_server.log 19:26:56.766292 ====> Client connect 19:26:56.766504 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.772603 < "USER anonymous" 19:26:56.772660 > "331 We are happy you popped in![CR][LF]" 19:26:56.772907 < "PASS ftp@example.com" 19:26:56.772952 > "230 Welcome you silly person[CR][LF]" 19:26:56.773152 < "PWD" 19:26:56.773192 > "257 "/" is current directory[CR][LF]" 19:26:56.773392 < "EPSV" 19:26:56.773421 ====> Passive DATA channel requested by client 19:26:56.773438 DATA sockfilt for passive data channel starting... 19:26:56.785378 DATA sockfilt for passive data channel started (pid 108932) 19:26:56.785555 DATA sockfilt for passive data channel listens on port 34203 19:26:56.785606 > "229 Entering Passive Mode (|||34203|)[CR][LF]" 19:26:56.785625 Client has been notified that upcoming DATA connection is awaited on port 34203 19:26:56.787807 Client connects to port 34203 19:26:56.787870 ====> Client established passive DATA connection on port 34203 19:26:56.787999 < "TYPE I" 19:26:56.788049 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.788275 < "SIZE verifiedserver" 19:26:56.788325 > "213 17[CR][LF]" 19:26:56.788519 < "RETR verifiedserver" 19:26:56.788567 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.788666 =====> Closing passive DATA connection... 19:26:56.788693 Server disconnects passive DATA connection 19:26:56.788983 Server disconnected passive DATA connection 19:26:56.789017 DATA sockfilt for passive data channel quits (pid 108932) 19:26:56.789310 DATA sockfilt for passive data channel quit (pid 108932) 19:26:56.789339 =====> Closed passive DATA connection 19:26:56.789375 > "226 File transfer complete[CR][LF]" 19:26:56.835668 < "QUIT" 19:26:56.835729 > "221 bye bye baby[CR][LF]" 19:26:56.837599 MAIN sockfilt said DISC 19:26:56.837678 ====> Client disconnected 19:26:56.837789 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.373768 ====> Client connect 19:26:56.374949 Received DATA (on stdin) 19:26:56.374968 > 146 bytes data, server => client 19:26:56.374980 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.374990 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.374999 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.377201 < 16 bytes data, client => server 19:26:56.377222 'USER anonymous\r\n' 19:26:56.381059 Received DATA (on stdin) 19:26:56.381080 > 33 bytes data, server => client 19:26:56.381090 '331 We are happy you popped in!\r\n' 19:26:56.381161 < 22 bytes data, client => server 19:26:56.381172 'PASS ftp@example.com\r\n' 19:26:56.381380 Received DATA (on stdin) 19:26:56.381392 > 30 bytes data, server => client 19:26:56.381403 '230 Welcome you silly person\r\n' 19:26:56.381467 < 5 bytes data, client => server 19:26:56.381482 'PWD\r\n' 19:26:56.381619 Received DATA (on stdin) 19:26:56.381631 > 30 bytes data, server => client 19:26:56.381642 '257 "/" is current directory\r\n' 19:26:56.381715 < 6 bytes data, client => server 19:26:56.381730 'EPSV\r\n' 19:26:56.395807 Received DATA (on stdin) 19:26:56.395838 > 39 bytes data, server => client 19:26:56.395851 '229 Entering Passive Mode (|||34203|)\r\n' 19:26:56.396045 < 8 bytes data, client => server 19:26:56.396063 'TYPE I\r\n' 19:26:56.396487 Received DATA (on stdin) 19:26:56.396501 > 33 bytes data, server => client 19:26:56.396512 '200 I modify TYPE as you wanted\r\n' 19:26:56.396584 < 21 bytes data, client => server 19:26:56.396600 'SIZE verifiedserver\r\n' 19:26:56.396757 Received DATA (on stdin) 19:26:56.396768 > 8 bytes data, server => client 19:26:56.396777 '213 17\r\n' 19:26:56.396841 < 21 bytes data, client => server 19:26:56.396856 'RETR verifiedserver\r\n' 19:26:56.397121 Received DATA (on stdin) 19:26:56.397133 > 29 bytes data, server => client 19:26:56.397143 '150 Binary junk (17 bytes).\r\n' 19:26:56.397809 Received DATA (on stdin) 19:26:56.397822 > 28 bytes data, server => client 19:26:56.397833 '226 File transfer complete\r\n' 19:26:56.443889 < 6 bytes data, client => server 19:26:56.443916 'QUIT\r\n' 19:26:56.444174 Received DATA (on stdin) 19:26:56.444189 > 18 bytes data, server => client 19:26:56.444199 '221 bye bye baby\r\n' 19:26:56.445403 ====> Client disconnect 19:26:56.446238 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.384856 Running IPv4 version 19:26:56.384933 Listening on port 34203 19:26:56.384971 Wrote pid 108932 to log/8/server/ftp_sockdata.pid 19:26:56.390449 Received PING (on stdin) 19:26:56.393868 Received PORT (on stdin) 19:26:56.396162 ====> Client connect 19:26:56.397213 Received DATA (on stdin) 19:26:56.397233 > 17 bytes data, server => client 19:26:56.397244 'WE ROOLZ: 84824\r\n' 19:26:56.397278 Received DISC (on stdin) 19:26:56.397294 ====> Client forcibly disconnected 19:26:56.397460 Received QUIT (on stdin) 19:26:56.397476 quits 19:26:56.397546 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY STOR 425 Permission Denied. File Exists. Testnum 531 === End of file server.cmd === Start of file upload531 Moooooooooooo do not upload this === End of file upload531 === Start of file valgrind531 ==109178== ==109178== Process terminating with default action of signal 4 (SIGILL) ==109178== Illegal opcode at address 0x51CC63F ==109178== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109178== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109178== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109178== by 0x40041AF: main (first.c:264) === End of file valgrind531 test 0526 [FTP RETR same file using different handles but same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37411/path/526 > log/14/stdout526 2> log/14/stderr526 526: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:33897/file530 > log/20/stdout530 2> log/20/stderr530 --log-file=log/14/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:37411/path/526 > log/14/stdout526 2> log/14/stderr526 === End of file commands.log === Start of file ftp_server.log 19:26:56.668616 ====> Client connect 19:26:56.668829 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.669127 < "USER anonymous" 19:26:56.669162 > "331 We are happy you popped in![CR][LF]" 19:26:56.669328 < "PASS ftp@example.com" 19:26:56.669358 > "230 Welcome you silly person[CR][LF]" 19:26:56.669600 < "PWD" 19:26:56.669632 > "257 "/" is current directory[CR][LF]" 19:26:56.669782 < "EPSV" 19:26:56.669804 ====> Passive DATA channel requested by client 19:26:56.669817 DATA sockfilt for passive data channel starting... 19:26:56.692054 DATA sockfilt for passive data channel started (pid 108754) 19:26:56.692577 DATA sockfilt for passive data channel listens on port 34829 19:26:56.692651 > "229 Entering Passive Mode (|||34829|)[CR][LF]" 19:26:56.692679 Client has been notified that upcoming DATA connection is awaited on port 34829 19:26:56.693007 Client connects to port 34829 19:26:56.693043 ====> Client established passive DATA connection on port 34829 19:26:56.693187 < "TYPE I" 19:26:56.693232 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.693424 < "SIZE verifiedserver" 19:26:56.693464 > "213 17[CR][LF]" 19:26:56.695597 < "RETR verifiedserver" 19:26:56.695638 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.695739 =====> Closing passive DATA connection... 19:26:56.695755 Server disconnects passive DATA connection 19:26:56.695875 Server disconnected passive DATA connection 19:26:56.695897 DATA sockfilt for passive data channel quits (pid 108754) 19:26:56.696139 DATA sockfilt for passive data channel quit (pid 108754) 19:26:56.696164 =====> Closed passive DATA connection 19:26:56.696189 > "226 File transfer complete[CR][LF]" 19:26:56.745650 < "QUIT" 19:26:56.745705 > "221 bye bye baby[CR][LF]" 19:26:56.746903 MAIN sockfilt said DISC 19:26:56.746943 ====> Client disconnected 19:26:56.747049 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.276911 ====> Client connect 19:26:57.277244 Received DATA (on stdin) 19:26:57.277260 > 146 bytes data, server => client 19:26:57.277271 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.277281 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.277290 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.277390 < 16 bytes data, client => server 19:26:57.277401 'USER anonymous\r\n' 19:26:57.277562 Received DATA (on stdin) 19:26:57.277573 > 33 bytes data, server => client 19:26:57.277582 '331 We are happy you popped in!\r\n' 19:26:57.277636 < 22 bytes data, client => server 19:26:57.277645 'PASS ftp@example.com\r\n' 19:26:57.277838 Received DATA (on stdin) 19:26:57.277851 > 30 bytes data, server => client 19:26:57.277860 '230 Welcome you silly person\r\n' 19:26:57.277912 < 5 bytes data, client => server 19:26:57.277921 'PWD\r\n' 19:26:57.278029 Received DATA (on stdin) 19:26:57.278039 > 30 bytes data, server => client 19:26:57.278048 '257 "/" is current directory\r\n' 19:26:57.278105 < 6 bytes data, client => server 19:26:57.278114 'EPSV\r\n' 19:26:57.301102 Received DATA (on stdin) 19:26:57.301123 > 39 bytes data, server => client 19:26:57.301134 '229 Entering Passive Mode (|||34829|)\r\n' 19:26:57.301470 < 8 bytes data, client => server 19:26:57.301483 'TYPE I\r\n' 19:26:57.301649 Received DATA (on stdin) 19:26:57.301663 > 33 bytes data, server => client 19:26:57.301674 '200 I modify TYPE as you wanted\r\n' 19:26:57.301734 < 21 bytes data, client => server 19:26:57.301745 'SIZE verifiedserver\r\n' 19:26:57.302220 Received DATA (on stdin) 19:26:57.302238 > 8 bytes data, server => client 19:26:57.302248 '213 17\r\n' 19:26:57.303895 < 21 bytes data, client => server 19:26:57.303911 'RETR verifiedserver\r\n' 19:26:57.304596 Received DATA (on stdin) 19:26:57.304608 > 29 bytes data, server => client 19:26:57.304618 '150 Binary junk (17 bytes).\r\n' 19:26:57.304641 Received DATA (on stdin) 19:26:57.304649 > 28 bytes data, server => client 19:26:57.304659 '226 File transfer complete\r\n' 19:26:57.353879 < 6 bytes data, client => server 19:26:57.353915 'QUIT\r\n' 19:26:57.354126 Received DATA (on stdin) 19:26:57.354138 > 18 bytes data, server => client 19:26:57.354148 '221 bye bye baby\r\n' 19:26:57.355262 ====> Client disconnect 19:26:57.355468 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.287862 Running IPv4 version 19:26:56.287953 Listening on port 34829 19:26:56.288003 Wrote pid 108754 to log/14/server/ftp_sockdata.pid 19:26:56.292632 Received PING (on stdin) 19:26:56.300841 Received PORT (on stdin) 19:26:56.301352 ====> Client connect 19:26:56.304164 Received DATA (on stdin) 19:26:56.304178 > 17 bytes data, server => client 19:26:56.304190 'WE ROOLZ: 85053\r\n' 19:26:56.304218 Received DISC (on stdin) 19:26:56.304229 ====> Client forcibly disconnected 19:26:56.304309 Received QUIT (on stdin) 19:26:56.304319 quits 19:26:56.304393 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 526 === End of file server.cmd === Start of file valgrind526 ==108955== ==108955== Process terminating with default action of signal 4 (SIGILL) ==108955== Illegal opcode at address 0x51CC63F ==108955== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108955== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108955== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108955== by 0x40041AF: main (first.c:264) === End of file valgrind526 test 0530 [multi_socket interface transfer with callbacks returning error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:33897/file530 > log/20/stdout530 2> log/20/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/20/ directory after test 530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:33897/file530 > log/20/stdout530 2> log/20/stderr530 === End of file commands.log === Start of file http_server.log 19:26:56.364024 ====> Client connect 19:26:56.364754 accept_connection 3 returned 4 19:26:56.364783 Read 93 bytes 19:26:56.364795 Process 93 bytes request 19:26:56.364808 Got request: GET /verifiedserver HTTP/1.1 19:26:56.364817 Are-we-friendly question received 19:26:56.364847 Wrote request (93 bytes) input to log/20/server.input 19:26:56.364866 Identifying ourselves as friends 19:26:56.364940 Response sent (56 bytes) and written to log/20/server.response 19:26:56.364951 special request received, no persistency 19:26:56.364960 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 45506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 530 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind530 ==108959== ==108959== Process terminating with default action of signal 4 (SIGILL) ==108959== Illegal opcode CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:33695/path/to/ > log/13/stdout524 2> log/13/stderr524 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40221/path/525 log/1/upload525 > log/1/stdout525 2> log/1/stderr525 at address 0x51CC63F ==108959== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108959== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108959== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108959== by 0x40041AF: main (first.c:264) === End of file valgrind530 test 0524 [FTP upload with target URL ending with slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:33695/path/to/ > log/13/stdout524 2> log/13/stderr524 524: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:33695/path/to/ > log/13/stdout524 2> log/13/stderr524 === End of file commands.log === Start of file ftp_server.log 19:26:56.495488 ====> Client connect 19:26:56.495724 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.498880 < "USER anonymous" 19:26:56.498927 > "331 We are happy you popped in![CR][LF]" 19:26:56.499112 < "PASS ftp@example.com" 19:26:56.499141 > "230 Welcome you silly person[CR][LF]" 19:26:56.499288 < "PWD" 19:26:56.499318 > "257 "/" is current directory[CR][LF]" 19:26:56.499470 < "EPSV" 19:26:56.499498 ====> Passive DATA channel requested by client 19:26:56.499511 DATA sockfilt for passive data channel starting... 19:26:56.535499 DATA sockfilt for passive data channel started (pid 108558) 19:26:56.535673 DATA sockfilt for passive data channel listens on port 42219 19:26:56.535734 > "229 Entering Passive Mode (|||42219|)[CR][LF]" 19:26:56.535753 Client has been notified that upcoming DATA connection is awaited on port 42219 19:26:56.536023 Client connects to port 42219 19:26:56.536064 ====> Client established passive DATA connection on port 42219 19:26:56.536270 < "TYPE I" 19:26:56.536312 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.536525 < "SIZE verifiedserver" 19:26:56.536563 > "213 17[CR][LF]" 19:26:56.536736 < "RETR verifiedserver" 19:26:56.536773 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.536879 =====> Closing passive DATA connection... 19:26:56.536902 Server disconnects passive DATA connection 19:26:56.537032 Server disconnected passive DATA connection 19:26:56.537059 DATA sockfilt for passive data channel quits (pid 108558) 19:26:56.540658 DATA sockfilt for passive data channel quit (pid 108558) 19:26:56.540695 =====> Closed passive DATA connection 19:26:56.540734 > "226 File transfer complete[CR][LF]" 19:26:56.582335 < "QUIT" 19:26:56.582399 > "221 bye bye baby[CR][LF]" 19:26:56.583767 MAIN sockfilt said DISC 19:26:56.583807 ====> Client disconnected 19:26:56.583892 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.103713 ====> Client connect 19:26:56.104117 Received DATA (on stdin) 19:26:56.104136 > 146 bytes data, server => client 19:26:56.104148 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.104158 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.104167 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.107038 < 16 bytes data, client => server 19:26:56.107059 'USER anonymous\r\n' 19:26:56.107295 Received DATA (on stdin) 19:26:56.107306 > 33 bytes data, server => client 19:26:56.107317 '331 We are happy you popped in!\r\n' 19:26:56.107383 < 22 bytes data, client => server 19:26:56.107395 'PASS ftp@example.com\r\n' 19:26:56.107504 Received DATA (on stdin) 19:26:56.107514 > 30 bytes data, server => client 19:26:56.107524 '230 Welcome you silly person\r\n' 19:26:56.107572 < 5 bytes data, client => server 19:26:56.107582 'PWD\r\n' 19:26:56.107680 Received DATA (on stdin) 19:26:56.107689 > 30 bytes data, server => client 19:26:56.107699 '257 "/" is current directory\r\n' 19:26:56.107756 < 6 bytes data, client => server 19:26:56.107766 'EPSV\r\n' 19:26:56.144137 Received DATA (on stdin) 19:26:56.144155 > 39 bytes data, server => client 19:26:56.144166 '229 Entering Passive Mode (|||42219|)\r\n' 19:26:56.144689 < 8 bytes data, client => server 19:26:56.144703 'TYPE I\r\n' 19:26:56.144717 Received DATA (on stdin) 19:26:56.144725 > 33 bytes data, server => client 19:26:56.144735 '200 I modify TYPE as you wanted\r\n' 19:26:56.144816 < 21 bytes data, client => server 19:26:56.144830 'SIZE verifiedserver\r\n' 19:26:56.144936 Received DATA (on stdin) 19:26:56.144947 > 8 bytes data, server => client 19:26:56.144957 '213 17\r\n' 19:26:56.145015 < 21 bytes data, client => server 19:26:56.145028 'RETR verifiedserver\r\n' 19:26:56.145481 Received DATA (on stdin) 19:26:56.145494 > 29 bytes data, server => client 19:26:56.145504 '150 Binary junk (17 bytes).\r\n' 19:26:56.149118 Received DATA (on stdin) 19:26:56.149134 > 28 bytes data, server => client 19:26:56.149144 '226 File transfer complete\r\n' 19:26:56.190511 < 6 bytes data, client => server 19:26:56.190539 'QUIT\r\n' 19:26:56.190792 Received DATA (on stdin) 19:26:56.190808 > 18 bytes data, server => client 19:26:56.190818 '221 bye bye baby\r\n' 19:26:56.192072 ====> Client disconnect 19:26:56.192283 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.111609 Running IPv4 version 19:26:56.123763 Listening on port 42219 19:26:56.143756 Wrote pid 108558 to log/13/server/ftp_sockdata.pid 19:26:56.143789 Received PING (on stdin) 19:26:56.143925 Received PORT (on stdin) 19:26:56.144333 ====> Client connect 19:26:56.145279 Received DATA (on stdin) 19:26:56.145293 > 17 bytes data, server => client 19:26:56.145304 'WE ROOLZ: 93286\r\n' 19:26:56.145334 Received DISC (on stdin) 19:26:56.145349 ====> Client forcibly disconnected 19:26:56.145441 Received QUIT (on stdin) 19:26:56.145454 quits 19:26:56.148854 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 524 === End of file server.cmd === Start of file valgrind524 ==108659== ==108659== Process terminating with default action of signal 4 (SIGILL) ==108659== Illegal opcode at address 0x51CC63F ==108659== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108659== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108659== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108659== by 0x40041AF: main (first.c:264) === End of file valgrind524 test 0525 [FTP PORT upload using multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40221/path/525 log/1/upload525 > log/1/stdout525 2> log/1/stderr525 525: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:40221/path/525 log/1/upload525 > log/1/stdout525 2> log/1/stderr525 === End of file commands.log === Start of file ftp_server.log 19:26:56.508888 ====> Client connect 19:26:56.539711 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.543176 < "USER anonymous" 19:26:56.543234 > "331 We are happy you popped in![CR][LF]" 19:26:56.543939 < "PASS ftp@example.com" 19:26:56.543987CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:43739 goingdirect.test:43739 goingdirect.test:43739:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 > "230 Welcome you silly person[CR][LF]" 19:26:56.544196 < "PWD" 19:26:56.544241 > "257 "/" is current directory[CR][LF]" 19:26:56.544458 < "EPSV" 19:26:56.544489 ====> Passive DATA channel requested by client 19:26:56.544508 DATA sockfilt for passive data channel starting... 19:26:56.560339 DATA sockfilt for passive data channel started (pid 108582) 19:26:56.560460 DATA sockfilt for passive data channel listens on port 40235 19:26:56.560500 > "229 Entering Passive Mode (|||40235|)[CR][LF]" 19:26:56.560516 Client has been notified that upcoming DATA connection is awaited on port 40235 19:26:56.560786 Client connects to port 40235 19:26:56.560815 ====> Client established passive DATA connection on port 40235 19:26:56.560895 < "TYPE I" 19:26:56.560925 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.561058 < "SIZE verifiedserver" 19:26:56.561091 > "213 17[CR][LF]" 19:26:56.561214 < "RETR verifiedserver" 19:26:56.561242 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.561317 =====> Closing passive DATA connection... 19:26:56.561331 Server disconnects passive DATA connection 19:26:56.561527 Server disconnected passive DATA connection 19:26:56.561549 DATA sockfilt for passive data channel quits (pid 108582) 19:26:56.561729 DATA sockfilt for passive data channel quit (pid 108582) 19:26:56.561749 =====> Closed passive DATA connection 19:26:56.561773 > "226 File transfer complete[CR][LF]" 19:26:56.606739 < "QUIT" 19:26:56.606791 > "221 bye bye baby[CR][LF]" 19:26:56.614197 MAIN sockfilt said DISC 19:26:56.614251 ====> Client disconnected 19:26:56.614324 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.097263 ====> Client connect 19:26:57.148106 Received DATA (on stdin) 19:26:57.150620 > 146 bytes data, server => client 19:26:57.150641 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.150653 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.150663 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.151345 < 16 bytes data, client => server 19:26:57.151367 'USER anonymous\r\n' 19:26:57.151621 Received DATA (on stdin) 19:26:57.151635 > 33 bytes data, server => client 19:26:57.151646 '331 We are happy you popped in!\r\n' 19:26:57.152182 < 22 bytes data, client => server 19:26:57.152200 'PASS ftp@example.com\r\n' 19:26:57.152370 Received DATA (on stdin) 19:26:57.152384 > 30 bytes data, server => client 19:26:57.152394 '230 Welcome you silly person\r\n' 19:26:57.152461 < 5 bytes data, client => server 19:26:57.152476 'PWD\r\n' 19:26:57.152623 Received DATA (on stdin) 19:26:57.152637 > 30 bytes data, server => client 19:26:57.152648 '257 "/" is current directory\r\n' 19:26:57.152725 < 6 bytes data, client => server 19:26:57.152740 'EPSV\r\n' 19:26:57.168899 Received DATA (on stdin) 19:26:57.168914 > 39 bytes data, server => client 19:26:57.168923 '229 Entering Passive Mode (|||40235|)\r\n' 19:26:57.169089 < 8 bytes data, client => server 19:26:57.169101 'TYPE I\r\n' 19:26:57.169298 Received DATA (on stdin) 19:26:57.169307 > 33 bytes data, server => client 19:26:57.169316 '200 I modify TYPE as you wanted\r\n' 19:26:57.169360 < 21 bytes data, client => server 19:26:57.169369 'SIZE verifiedserver\r\n' 19:26:57.169462 Received DATA (on stdin) 19:26:57.169470 > 8 bytes data, server => client 19:26:57.169478 '213 17\r\n' 19:26:57.169520 < 21 bytes data, client => server 19:26:57.169529 'RETR verifiedserver\r\n' 19:26:57.169704 Received DATA (on stdin) 19:26:57.169712 > 29 bytes data, server => client 19:26:57.169721 '150 Binary junk (17 bytes).\r\n' 19:26:57.170145 Received DATA (on stdin) 19:26:57.170155 > 28 bytes data, server => client 19:26:57.170164 '226 File transfer complete\r\n' 19:26:57.214949 < 6 bytes data, client => server 19:26:57.214982 'QUIT\r\n' 19:26:57.215180 Received DATA (on stdin) 19:26:57.215190 > 18 bytes data, server => client 19:26:57.215200 '221 bye bye baby\r\n' 19:26:57.217394 ====> Client disconnect 19:26:57.222711 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.168405 Running IPv4 version 19:26:56.168471 Listening on port 40235 19:26:56.168508 Wrote pid 108582 to log/1/server/ftp_sockdata.pid 19:26:56.168660 Received PING (on stdin) 19:26:56.168744 Received PORT (on stdin) 19:26:56.169118 ====> Client connect 19:26:56.169769 Received DATA (on stdin) 19:26:56.169779 > 17 bytes data, server => client 19:26:56.169788 'WE ROOLZ: 84935\r\n' 19:26:56.169809 Received DISC (on stdin) 19:26:56.169818 ====> Client forcibly disconnected 19:26:56.169927 Received QUIT (on stdin) 19:26:56.169936 quits 19:26:56.169984 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 525 === End of file server.cmd === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==108721== ==108721== Process terminating with default action of signal 4 (SIGILL) ==108721== Illegal opcode at address 0x51CC63F ==108721== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108721== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108721== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108721== by 0x40041AF: main (first.c:264) === End of file valgrind525 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:44817/path/527 > log/10/stdout527 2> log/10/stderr527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46137/path/534 > log/17/stdout534 2> log/17/stderr534 test 0536 [CURLINFO_USED_PROXY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:43739 goingdirect.test:43739 goingdirect.test:43739:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 536: stdout FAILED: --- log/18/check-expected 2026-10-15 19:26:58.472407475 +0000 +++ log/18/check-generated 2026-10-15 19:26:58.469412987 +0000 @@ -1,4 +0,0 @@ -hello[CR][LF] -This used the proxy[CR][LF] -hello[CR][LF] -This DID NOT use the proxy[CR][LF] == Contents of files in the log/18/ directory after test 536 === Start of file check-expected hello[CR][LF] This used the proxy[CR][LF] hello[CR][LF] This DID NOT use the proxy[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:43739 goingdirect.test:43739 goingdirect.test:43739:127.0.0.1 > log/18/stdout536 2> log/18/stderr536 === End of file commands.log === Start of file http_server.log 19:26:57.660530 ====> Client connect 19:26:57.660570 accept_connection 3 returned 4 19:26:57.660594 Read 93 bytes 19:26:57.660605 Process 93 bytes request 19:26:57.660617 Got request: GET /verifiedserver HTTP/1.1 19:26:57.660627 Are-we-friendly question received 19:26:57.660659 Wrote request (93 bytes) input to log/18/server.input 19:26:57.660678 Identifying ourselves as friends 19:26:57.660755 Response sent (56 bytes) and written to log/18/server.response 19:26:57.660768 special request received, no persistency 19:26:57.660777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 58390 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind536 ==109456== ==109456== Process terminating with default action of signal 4 (SIGILL) ==109456== Illegal opcode at address 0x51CC63F ==109456== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109456== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109456== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109456== by 0x40041AF: main (first.c:264) === End of file valgrind536 test 0527 [FTP RETR same file using different handles and closed connections] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:44817/path/527 > log/10/stdout527 2> log/10/stderr527 527: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:44817/path/527 > log/10/stdout527 2> log/10/stderr527 === End of file commands.log === Start of file ftp_server.log 19:26:56.638711 ====> Client connect 19:26:56.638937 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.642394 < "USER anonymous" 19:26:56.642445 > "331 We are happy you popped in![CR][LF]" 19:26:56.642635 < "PASS ftp@example.com" 19:26:56.642670 > "230 Welcome you silly person[CR][LF]" 19:26:56.642848 < "PWD" 19:26:56.642886 > "257 "/" is current directory[CR][LF]" 19:26:56.643080 < "EPSV" 19:26:56.643108 ====> Passive DATA channel requested by client 19:26:56.643125 DATA sockfilt for passive data channel starting... 19:26:56.664639 DATA sockfilt for passive data channel started (pid 108725) 19:26:56.664799 DATA sockfilt for passive data channel listens on port 34601 19:26:56.664860 > "229 Entering Passive Mode (|||34601|)[CR][LF]" 19:26:56.664882 Client has been notified that upcoming DATA connection is awaited on port 34601 19:26:56.670266 Client connects to port 34601 19:26:56.670311 ====> Client established passive DATA connection on port 34601 19:26:56.670417 < "TYPE I" 19:26:56.670455 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.670620 < "SIZE verifiedserver" 19:26:56.670659 > "213 17[CR][LF]" 19:26:56.671046 < "RETR verifiedserver" 19:26:56.671083 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.671171 =====> Closing passive DATA connection... 19:26:56.671186 Server disconnects passive DATA connection 19:26:56.671422 Server disconnected passive DATA connection 19:26:56.671452 DATA sockfilt for passive data channel quits (pid 108725) 19:26:56.671721 DATA sockfilt for passive data channel quit (pid 108725) 19:26:56.671750 =====> Closed passive DATA connection 19:26:56.671783 > "226 File transfer complete[CR][LF]" 19:26:56.712688 < "QUIT" 19:26:56.712742 > "221 bye bye baby[CR][LF]" 19:26:56.713978 MAIN sockfilt said DISC 19:26:56.714011 ====> Client disconnected 19:26:56.714104 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.243765 ====> Client connect 19:26:57.250396 Received DATA (on stdin) 19:26:57.250430 > 146 bytes data, server => client 19:26:57.250443 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.250454 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.250463 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.250601 < 16 bytes data, client => server 19:26:57.250618 'USER anonymous\r\n' 19:26:57.250849 Received DATA (on stdin) 19:26:57.250861 > 33 bytes data, server => client 19:26:57.250871 '331 We are happy you popped in!\r\n' 19:26:57.250930 < 22 bytes data, client => server 19:26:57.250943 'PASS ftp@example.com\r\n' 19:26:57.251069 Received DATA (on stdin) 19:26:57.251081 > 30 bytes data, server => client 19:26:57.251092 '230 Welcome you silly person\r\n' 19:26:57.251149 < 5 bytes data, client => server 19:26:57.251160 'PWD\r\n' 19:26:57.251283 Received DATA (on stdin) 19:26:57.251296 > 30 bytes data, server => client 19:26:57.251306 '257 "/" is current directory\r\n' 19:26:57.251379 < 6 bytes data, client => server 19:26:57.251393 'EPSV\r\n' 19:26:57.273236 Received DATA (on stdin) 19:26:57.273260 > 39 bytes data, server => client 19:26:57.273273 '229 Entering Passive Mode (|||34601|)\r\n' 19:26:57.278563 < 8 bytes data, client => server 19:26:57.278581 'TYPE I\r\n' 19:26:57.278857 Received DATA (on stdin) 19:26:57.278868 > 33 bytes data, server => client 19:26:57.278877 '200 I modify TYPE as you wanted\r\n' 19:26:57.278936 < 21 bytes data, client => server 19:26:57.278945 'SIZE verifiedserver\r\n' 19:26:57.279055 Received DATA (on stdin) 19:26:57.279064 > 8 bytes data, server => client 19:26:57.279073 '213 17\r\n' 19:26:57.279120 < 21 bytes data, client => server 19:26:57.279128 'RETR verifiedserver\r\n' 19:26:57.279586 Received DATA (on stdin) 19:26:57.279597 > 29 bytes data, server => client 19:26:57.279606 '150 Binary junk (17 bytes).\r\n' 19:26:57.280186 Received DATA (on stdin) 19:26:57.280198 > 28 bytes data, server => client 19:26:57.280209 '226 File transfer complete\r\n' 19:26:57.320910 < 6 bytes data, client => server 19:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:35787/path/533 ftp://127.0.0.1:35787/path/533 > log/21/stdout533 2> log/21/stderr533 26:57.320939 'QUIT\r\n' 19:26:57.321152 Received DATA (on stdin) 19:26:57.321162 > 18 bytes data, server => client 19:26:57.321171 '221 bye bye baby\r\n' 19:26:57.322335 ====> Client disconnect 19:26:57.322514 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.264649 Running IPv4 version 19:26:56.264742 Listening on port 34601 19:26:56.264782 Wrote pid 108725 to log/10/server/ftp_sockdata.pid 19:26:56.272960 Received PING (on stdin) 19:26:56.273090 Received PORT (on stdin) 19:26:56.278605 ====> Client connect 19:26:56.279663 Received DATA (on stdin) 19:26:56.279678 > 17 bytes data, server => client 19:26:56.279687 'WE ROOLZ: 85153\r\n' 19:26:56.279715 Received DISC (on stdin) 19:26:56.279727 ====> Client forcibly disconnected 19:26:56.279861 Received QUIT (on stdin) 19:26:56.279872 quits 19:26:56.279941 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 527 === End of file server.cmd === Start of file valgrind527 ==108921== ==108921== Process terminating with default action of signal 4 (SIGILL) ==108921== Illegal opcode at address 0x51CC63F ==108921== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108921== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108921== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108921== by 0x40041AF: main (first.c:264) === End of file valgrind527 test 0534 [FTP RETR twice using multi: non-existing host and non-existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46137/path/534 > log/17/stdout534 2> log/17/stderr534 534: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:46137/path/534 > log/17/stdout534 2> log/17/stderr534 === End of file commands.log === Start of file ftp_server.log 19:26:56.882040 ====> Client connect 19:26:56.882295 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.892175 < "USER anonymous" 19:26:56.892241 > "331 We are happy you popped in![CR][LF]" 19:26:56.892520 < "PASS ftp@example.com" 19:26:56.892561 > "230 Welcome you silly person[CR][LF]" 19:26:56.892760 < "PWD" 19:26:56.892801 > "257 "/" is current directory[CR][LF]" 19:26:56.892996 < "EPSV" 19:26:56.893028 ====> Passive DATA channel requested by client 19:26:56.893046 DATA sockfilt for passive data channel starting... 19:26:56.898159 DATA sockfilt for passive data channel started (pid 109150) 19:26:56.898297 DATA sockfilt for passive data channel listens on port 37671 19:26:56.898350 > "229 Entering Passive Mode (|||37671|)[CR][LF]" 19:26:56.898369 Client has been notified that upcoming DATA connection is awaited on port 37671 19:26:56.898668 Client connects to port 37671 19:26:56.898703 ====> Client established passive DATA connection on port 37671 19:26:56.898841 < "TYPE I" 19:26:56.898877 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.899047 < "SIZE verifiedserver" 19:26:56.899085 > "213 17[CR][LF]" 19:26:56.899231 < "RETR verifiedserver" 19:26:56.899262 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.899351 =====> Closing passive DATA connection... 19:26:56.899366 Server disconnects passive DATA connection 19:26:56.899589 Server disconnected passive DATA connection 19:26:56.899615 DATA sockfilt for passive data channel quits (pid 109150) 19:26:56.899845 DATA sockfilt for passive data channel quit (pid 109150) 19:26:56.899866 =====> Closed passive DATA connection 19:26:56.899893 > "226 File transfer complete[CR][LF]" 19:26:56.945646 < "QUIT" 19:26:56.945704 > "221 bye bye baby[CR][LF]" 19:26:56.946857 MAIN sockfilt said DISC 19:26:56.946903 ====> Client disconnected 19:26:56.946993 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.487116 ====> Client connect 19:26:56.493789 Received DATA (on stdin) 19:26:56.493824 > 146 bytes data, server => client 19:26:56.493835 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.493845 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.493854 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.497113 < 16 bytes data, client => server 19:26:56.497139 'USER anonymous\r\n' 19:26:56.500703 Received DATA (on stdin) 19:26:56.500721 > 33 bytes data, server => client 19:26:56.500732 '331 We are happy you popped in!\r\n' 19:26:56.500844 < 22 bytes data, client => server 19:26:56.500860 'PASS ftp@example.com\r\n' 19:26:56.501015 Received DATA (on stdin) 19:26:56.501028 > 30 bytes data, server => client 19:26:56.501038 '230 Welcome you silly person\r\n' 19:26:56.501105 < 5 bytes data, client => server 19:26:56.501119 'PWD\r\n' 19:26:56.501251 Received DATA (on stdin) 19:26:56.501262 > 30 bytes data, server => client 19:26:56.501273 '257 "/" is current directory\r\n' 19:26:56.501344 < 6 bytes data, client => server 19:26:56.501359 'EPSV\r\n' 19:26:56.506828 Received DATA (on stdin) 19:26:56.506845 > 39 bytes data, server => client 19:26:56.506855 '229 Entering Passive Mode (|||37671|)\r\n' 19:26:56.507175 < 8 bytes data, client => server 19:26:56.507188 'TYPE I\r\n' 19:26:56.507325 Received DATA (on stdin) 19:26:56.507335 > 33 bytes data, server => client 19:26:56.507346 '200 I modify TYPE as you wanted\r\n' 19:26:56.507408 < 21 bytes data, client => server 19:26:56.507418 'SIZE verifiedserver\r\n' 19:26:56.507532 Received DATA (on stdin) 19:26:56.507542 > 8 bytes data, server => client 19:26:56.507551 '213 17\r\n' 19:26:56.507600 < 21 bytes data, client => server 19:26:56.507609 'RETR verifiedserver\r\n' 19:26:56.507901 Received DATA (on stdin) 19:26:56.507912 > 29 bytes data, server => client 19:26:56.507922 '150 Binary junk (17 bytes).\r\n' 19:26:56.508342 Received DATA (on stdin) 19:26:56.508354 > 28 bytes data, server => client 19:26:56.508364 '226 File transfer complete\r\n' 19:26:56.553909 < 6 bytes data, client => server 19:26:56.553938 'QUIT\r\n' 19:26:56.554171 Received DATA (on stdin) 19:26:56.554184 > 18 bytes data, server => client 19:26:56.554195 '221 bye bye baby\r\n' 19:26:56.555253 ====> Client disconnect 19:26:56.555460 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.505899 Running IPv4 version 19:26:56.505982 Listening on port 37671 19:26:56.506020 Wrote pid 109150 to log/17/server/ftp_sockdata.pid 19:26:56.506538 Received PING (on stdin) 19:26:56.506649 Received PORT (on stdin) 19:26:56.507058 ====> Client connect 19:26:56.507816 Received DATA (on stdin) 19:26:56.507828 > 17 bytes data, server => client 19:26:56.507838 'WE ROOLZ: 84749\r\n' 19:26:56.507866 Received DISC (on stdin) 19:26:56.507876 ====> Client forcibly disconnected 19:26:56.508072 Received QUIT (on stdin) 19:26:56.508082 quits 19:26:56.508143 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 534 === End of file server.cmd === Start of file valgrind534 ==109332== ==109332== Process terminating with default action of signal 4 (SIGILL) ==109332== Illegal opcode at address 0x51CC63F ==109332== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109332== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109332== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109332== by 0x40041AF: main (first.c:264) === End of file valgrind534 test 0533 [FTP RETR a non-existing file twice using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:35787/path/533 ftp://127.0.0.1:35787/path/533 > log/21/stdout533 2> log/21/stderr533 533: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:35787/path/533 ftp://127.0.0.1:35787/path/533 > log/21/stdout533 2> log/21/stderr533 === End of file commands.log === Start of file ftp_server.log 19:26:56.844486 ====> Client connect 19:26:56.844766 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:56.845068 < "USER anonymous" 19:26:56.845189 > "331 We are happy you popped in![CR][LF]" 19:26:56.845387 < "PASS ftp@example.com" 19:26:56.845426 > "230 Welcome you silly person[CR][LF]" 19:26:56.849315 < "PWD" 19:26:56.849365 > "257 "/" is current directory[CR][LF]" 19:26:56.849581 < "EPSV" 19:26:56.849612 ====> Passive DATA channel requested by client 19:26:56.849630 DATA sockfilt for passive data channel starting... 19:26:56.854770 DATA sockfilt for passive data channel started (pid 109080) 19:26:56.861597 DATA sockfilt for passive data channel listens on port 44333 19:26:56.861673 > "229 Entering Passive Mode (|||44333|)[CR][LF]" 19:26:56.861693 Client has been notified that upcoming DATA connection is awaited on port 44333 19:26:56.861960 Client connects to port 44333 19:26:56.861990 ====> Client established passive DATA connection on port 44333 19:26:56.862092 < "TYPE I" 19:26:56.862124 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:56.862286 < "SIZE verifiedserver" 19:26:56.862323 > "213 17[CR][LF]" 19:26:56.862472 < "RETR verifiedserver" 19:26:56.862508 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:56.862600 =====> Closing passive DATA connection... 19:26:56.862617 Server disconnects passive DATA connection 19:26:56.868900 Server disconnected passive DATA connection 19:26:56.868956 DATA sockfilt for passive data channel quits (pid 109080) 19:26:56.869212 DATA sockfilt for passive data channel quit (pid 109080) 19:26:56.869238 =====> Closed passive DATA connection 19:26:56.869276 > "226 File transfer complete[CR][LF]" 19:26:56.925603 < "QUIT" 19:26:56.925665 > "221 bye bye baby[CR][LF]" 19:26:56.926985 MAIN sockfilt said DISC 19:26:56.927033 ====> Client disconnected 19:26:56.927122 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:56.452784 ====> Client connect 19:26:56.453124 Received DATA (on stdin) 19:26:56.453149 > 146 bytes data, server => client 19:26:56.453229 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:56.453244 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:56.453253 '220 \___|\___/|_| \_\_____|\r\n' 19:26:56.453347 < 16 bytes data, client => server 19:26:56.453363 'USER anonymous\r\n' 19:26:56.453533 Received DATA (on stdin) 19:26:56.453548 > 33 bytes data, server => client 19:26:56.453569 '331 We are happy you popped in!\r\n' 19:26:56.453679 < 22 bytes data, client => server 19:26:56.453695 'PASS ftp@example.com\r\n' 19:26:56.453866 Received DATA (on stdin) 19:26:56.453878 > 30 bytes data, server => client 19:26:56.453888 '230 Welcome you silly person\r\n' 19:26:56.457618 < 5 bytes data, client => server 19:26:56.457640 'PWD\r\n' 19:26:56.457811 Received DATA (on stdin) 19:26:56.457825 > 30 bytes data, server => client 19:26:56.457836 '257 "/" is current directory\r\n' 19:26:56.457912 < 6 bytes data, client => server 19:26:56.457927 'EPSV\r\n' 19:26:56.470144 Received DATA (on stdin) 19:26:56.470161 > 39 bytes data, server => client 19:26:56.470172 '229 Entering Passive Mode (|||44333|)\r\n' 19:26:56.470309 < 8 bytes data, client => server 19:26:56.470324 'TYPE I\r\n' 19:26:56.470565 Received DATA (on stdin) 19:26:56.470576 > 33 bytes data, server => client 19:26:56.470586 '200 I modify TYPE as you wanted\r\n' 19:26:56.470642 < 21 bytes data, client => server 19:26:56.470653 'SIZE verifiedserver\r\n' 19:26:56.470761 Received DATA (on stdin) 19:26:56.470770 > 8 bytes data, server => client 19:26:56.470778 '213 17\r\n' 19:26:56.470828 < 21 bytes data, client => server 19:26:56.470839 'RETR verifiedserver\r\n' 19:26:56.471059 Received DATA (on stdin) 19:26:56.471071 > 29 bytes data, server => client 19:26:56.471081 '150 Binary junk (17 bytes).\r\n' 19:26:56.477727 Received DATA (on stdin) 19:26:56.477742 > 28 bytes data, server => client 19:26:56.477752 '226 File transfer complete\r\n' 19:26:56.530464 < 6 bytes data, client => server 19:26:56.530492 'QUIT\r\n' 19:26:56.534131 Received DATA (on stdin) 19:26:56.534149 > 18 bytes data, server => client 19:26:56.534159 '221 bye bye baby\r\n' 19:26:56.535374 ====> Client disconnect 19:26:56.535581 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:56.461623 Running IPv4 version 19:26:56.461719 Listening on port 44333 19:26:56.461759 Wrote pid 109080 to log/21/server/ftp_sockdata.pid 19:26:56.461781 Received PING (on stdin) 19:26:56.469887 Received PORT (on stdin) 19:26:56.470356 ====> Client connect 19:26:56.477107 Received DATA (on stdin) 19:26:56.477137 > 17 bytes data, server => client 19:26:56.477152 'WE ROOLZ: 84694\r\n' 19:26:56.477197 Received DISC (on stdin) 19:26:56.477210 ====> Client forcibly disconnected 19:26:56.477414 Received QUIT (on stdin) 19:26:56.477426 quits 19:26:56.477502 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist REPLY SIZE 500 Can't check for file existence Testnum 533 === End of file server.cmd === Start of file valgrind533 ==109254== ==109254== Process terminating with default action of signal 4 (SIGILL) ==109254== Illegal opcode at address 0x51CC63F ==109254== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109254== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109254== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109254== by 0x40041AF: main (first.c:264) === End of file valgrind533 test 0514 [First set options to POST and then to make HEAD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:40989/514 > log/11/stdout514 2> log/11/stderr514 514: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:40989/514 > log/11/stdout514 2> log/11/stderr514 === End of file commands.log === Start of file http_server.log 19:26:55.512337 ====> Client connect 19:26:55.512396 accept_connection 3 returned 4 19:26:55.512416 Read 93 bytes 19:26:55.512426 Process 93 bytes request 19:26:55.512438 Got request: GET /verifiedserver HTTP/1.1 19:26:55.512446 Are-we-friendly question received 19:26:55.512471 Wrote request (93 bytes) input to log/11/server.input 19:26:55.512486 Identifying ourselves as friends 19:26:55.512545 Response sent (56 bytes) and written to log/11/server.response 19:26:55.512554 special request reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:40321/535 http://127.0.0.1:40321/5350001 > log/15/stdout535 2> log/15/stderr535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:37215/538 > log/24/stdout538 2> log/24/stderr538 ceived, no persistency 19:26:55.512562 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 35132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind514 ==108151== ==108151== Process terminating with default action of signal 4 (SIGILL) ==108151== Illegal opcode at address 0x51CC63F ==108151== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==108151== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==108151== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==108151== by 0x40041AF: main (first.c:264) === End of file valgrind514 test 0535 [HTTP GET multi two files with FAILONERROR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:40321/535 http://127.0.0.1:40321/5350001 > log/15/stdout535 2> log/15/stderr535 535: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:40321/535 http://127.0.0.1:40321/5350001 > log/15/stdout535 2> log/15/stderr535 === End of file commands.log === Start of file http_server.log 19:26:57.477172 ====> Client connect 19:26:57.477214 accept_connection 3 returned 4 19:26:57.477239 Read 93 bytes 19:26:57.477248 Process 93 bytes request 19:26:57.477260 Got request: GET /verifiedserver HTTP/1.1 19:26:57.477269 Are-we-friendly question received 19:26:57.477294 Wrote request (93 bytes) input to log/15/server.input 19:26:57.477309 Identifying ourselves as friends 19:26:57.477384 Response sent (56 bytes) and written to log/15/server.response 19:26:57.477394 special request received, no persistency 19:26:57.477401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 38296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind535 ==109153== ==109153== Process terminating with default action of signal 4 (SIGILL) ==109153== Illegal opcode at address 0x51CC63F ==109153== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109153== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109153== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109153== by 0x40041AF: main (first.c:264) === End of file valgrind535 test 0538 [FTP multi-interface download, failed login: PASS not valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:37215/538 > log/24/stdout538 2> log/24/stderr538 538: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 538 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:37215/538 > log/24/stdout538 2> log/24/stderr538 === End of file commands.log === Start of file ftp_server.log 19:26:57.382133 ====> Client connect 19:26:57.382365 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:57.388927 < "USER anonymous" 19:26:57.388989 > "331 We are happy you popped in![CR][LF]" 19:26:57.389242 < "PASS ftp@example.com" 19:26:57.389282 > "230 Welcome you silly person[CR][LF]" 19:26:57.389479 < "PWD" 19:26:57.389523 > "257 "/" is current directory[CR][LF]" 19:26:57.389725 < "EPSV" 19:26:57.389754 ====> Passive DATA channel requested by client 19:26:57.389771 DATA sockfilt for passive data channel starting... 19:26:57.398742 DATA sockfilt for passive data channel started (pid 109610) 19:26:57.398902 DATA sockfilt for passive data channel listens on port 40667 19:26:57.398961 > "229 Entering Passive Mode (|||40667|)[CR][LF]" 19:26:57.398982 Client has been notified that upcoming DATA connection is awaited on port 40667 19:26:57.399298 Client connects to port 40667 19:26:57.399337 ====> Client established passive DATA connection on port 40667 19:26:57.399488 < "TYPE I" 19:26:57.399529 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:57.399724 < "SIZE verifiedserver" 19:26:57.399773 > "213 17[CR][LF]" 19:26:57.399961 < "RETR verifiedserver" 19:26:57.400009 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:57.400113 =====> Closing passive DATA connection... 19:26:57.400137 Server disconnects passive DATA connection 19:26:57.400272 Server disconnected passive DATA connection 19:26:57.400304 DATA sockfilt for passive data channel quits (pid 109610) 19:26:57.400567 DATA sockfilt for passive data channel quit (pid 109610) 19:26:57.400596 =====> Closed passive DATA connection 19:26:57.400625 > "226 File transfer complete[CR][LF]" 19:26:57.452311 < "QUIT" 19:26:57.452364 > "221 bye bye baby[CR][LF]" 19:26:57.454070 MAIN sockfilt said DISC 19:26:57.454106 ====> Client disconnected 19:26:57.454184 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.990555 ====> Client connect 19:26:57.990944 Received DATA (on stdin) 19:26:57.990964 > 146 bytes data, server => client 19:26:57.990976 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.990987 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.990996 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.997225 < 16 bytes data, client => server 19:26:57.997268 'USER anonymous\r\n' 19:26:57.997559 Received DATA (on stdin) 19:26:57.997575 > 33 bytes data, server => client 19:26:57.997586 '331 We are happy you popped in!\r\n' 19:26:57.997671 < 22 bytes data, client => server 19:26:57.997687 'PASS ftp@example.com\r\n' 19:26:57.997842 Received DATA (on stdin) 19:26:57.997855 > 30 bytes data, server => client 19:26:57.997864 '230 Welcome you silly person\r\n' 19:26:57.997927 < 5 bytes data, client => server 19:26:57.997942 'PWD\r\n' 19:26:57.998082 Received DATA (on stdin) 19:26:57.998095 > 30 bytes data, server => client 19:26:57.998104 '257 "/" is current directory\r\n' 19:26:57.998177 < 6 bytes data, client => server 19:26:57.998193 'EPSV\r\n' 19:26:58.007552 Received DATA (on stdin) 19:26:58.007572 > 39 bytes data, server => client 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:39739/path/to/the/file/539 ftp://127.0.0.1:39739/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 6:58.007583 '229 Entering Passive Mode (|||40667|)\r\n' 19:26:58.007920 < 8 bytes data, client => server 19:26:58.007933 'TYPE I\r\n' 19:26:58.008093 Received DATA (on stdin) 19:26:58.008107 > 33 bytes data, server => client 19:26:58.008117 '200 I modify TYPE as you wanted\r\n' 19:26:58.008180 < 21 bytes data, client => server 19:26:58.008196 'SIZE verifiedserver\r\n' 19:26:58.008335 Received DATA (on stdin) 19:26:58.008349 > 8 bytes data, server => client 19:26:58.008359 '213 17\r\n' 19:26:58.008420 < 21 bytes data, client => server 19:26:58.008435 'RETR verifiedserver\r\n' 19:26:58.009184 Received DATA (on stdin) 19:26:58.009195 > 29 bytes data, server => client 19:26:58.009205 '150 Binary junk (17 bytes).\r\n' 19:26:58.009228 Received DATA (on stdin) 19:26:58.009238 > 28 bytes data, server => client 19:26:58.009248 '226 File transfer complete\r\n' 19:26:58.060717 < 6 bytes data, client => server 19:26:58.060739 'QUIT\r\n' 19:26:58.060935 Received DATA (on stdin) 19:26:58.060945 > 18 bytes data, server => client 19:26:58.060955 '221 bye bye baby\r\n' 19:26:58.062584 ====> Client disconnect 19:26:58.062750 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:57.001381 Running IPv4 version 19:26:57.001464 Listening on port 40667 19:26:57.001511 Wrote pid 109610 to log/24/server/ftp_sockdata.pid 19:26:57.007217 Received PING (on stdin) 19:26:57.007346 Received PORT (on stdin) 19:26:57.007797 ====> Client connect 19:26:57.008703 Received DATA (on stdin) 19:26:57.008716 > 17 bytes data, server => client 19:26:57.008726 'WE ROOLZ: 85113\r\n' 19:26:57.008756 Received DISC (on stdin) 19:26:57.008772 ====> Client forcibly disconnected 19:26:57.008874 Received QUIT (on stdin) 19:26:57.008887 quits 19:26:57.008956 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 314 bluah you f00l Testnum 538 === End of file server.cmd === Start of file valgrind538 ==109628== ==109628== Process terminating with default action of signal 4 (SIGILL) ==109628== Illegal opcode at address 0x51CC63F ==109628== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109628== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109628== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109628== by 0x40041AF: main (first.c:264) === End of file valgrind538 test 0539 [Two FTP fetches using different CURLOPT_FTP_FILEMETHOD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:39739/path/to/the/file/539 ftp://127.0.0.1:39739/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 539: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:39739/path/to/the/file/539 ftp://127.0.0.1:39739/path/to/the/file/5390001 > log/4/stdout539 2> log/4/stderr539 === End of file commands.log === Start of file ftp_server.log 19:26:57.445026 ====> Client connect 19:26:57.445253 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:57.445599 < "USER anonymous" 19:26:57.445635 > "331 We are happy you popped in![CR][LF]" 19:26:57.445798 < "PASS ftp@example.com" 19:26:57.445824 > "230 Welcome you silly person[CR][LF]" 19:26:57.445970 < "PWD" 19:26:57.446000 > "257 "/" is current directory[CR][LF]" 19:26:57.446156 < "EPSV" 19:26:57.446182 ====> Passive DATA channel requested by client 19:26:57.446196 DATA sockfilt for passive data channel starting... 19:26:57.458742 DATA sockfilt for passive data channel started (pid 109624) 19:26:57.458915 DATA sockfilt for passive data channel listens on port 35049 19:26:57.458962 > "229 Entering Passive Mode (|||35049|)[CR][LF]" 19:26:57.458979 Client has been notified that upcoming DATA connection is awaited on port 35049 19:26:57.459290 Client connects to port 35049 19:26:57.459319 ====> Client established passive DATA connection on port 35049 19:26:57.459421 < "TYPE I" 19:26:57.459452 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:57.459604 < "SIZE verifiedserver" 19:26:57.459640 > "213 17[CR][LF]" 19:26:57.459783 < "RETR verifiedserver" 19:26:57.459817 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:57.459905 =====> Closing passive DATA connection... 19:26:57.459920 Server disconnects passive DATA connection 19:26:57.460132 Server disconnected passive DATA connection 19:26:57.460157 DATA sockfilt for passive data channel quits (pid 109624) 19:26:57.460421 DATA sockfilt for passive data channel quit (pid 109624) 19:26:57.460445 =====> Closed passive DATA connection 19:26:57.460471 > "226 File transfer complete[CR][LF]" 19:26:57.508883 < "QUIT" 19:26:57.509055 > "221 bye bye baby[CR][LF]" 19:26:57.509161 MAIN sockfilt said DISC 19:26:57.509193 ====> Client disconnected 19:26:57.509266 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.053443 ====> Client connect 19:26:57.053835 Received DATA (on stdin) 19:26:57.053850 > 146 bytes data, server => client 19:26:57.053861 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.053873 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.053944 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.054014 < 16 bytes data, client => server 19:26:57.054024 'USER anonymous\r\n' 19:26:57.054202 Received DATA (on stdin) 19:26:57.054213 > 33 bytes data, server => client 19:26:57.054223 '331 We are happy you popped in!\r\n' 19:26:57.054275 < 22 bytes data, client => server 19:26:57.054286 'PASS ftp@example.com\r\n' 19:26:57.054387 Received DATA (on stdin) 19:26:57.054397 > 30 bytes data, server => client 19:26:57.054407 '230 Welcome you silly person\r\n' 19:26:57.054457 < 5 bytes data, client => server 19:26:57.054466 'PWD\r\n' 19:26:57.054562 Received DATA (on stdin) 19:26:57.054573 > 30 bytes data, server => client 19:26:57.054582 '257 "/" is current directory\r\n' 19:26:57.054641 < 6 bytes data, client => server 19:26:57.054651 'EPSV\r\n' 19:26:57.067558 Received DATA (on stdin) 19:26:57.067577 > 39 bytes data, server => client 19:26:57.067587 '229 Entering Passive Mode (|||35049|)\r\n' 19:26:57.067772 < 8 bytes data, client => server 19:26:57.067785 'TYPE I\r\n' 19:26:57.068019 Received DATA (on stdin) 19:26:57.068030 > 33 bytes data, server => client 19:26:57.068040 '200 I modify TYPE as you wanted\r\n' 19:26:57.068091 < 21 bytes data, client => server 19:26:57.068101 'SIZE verifiedserver\r\n' 19:26:57.068205 Received DATA (on stdin) 19:26:57.068215 > 8 bytes data, server => client 19:26:57.068224 '213 17\r\n' 19:26:57.068273 < 21 bytes data, client => server 19:26:57.068283 'RETR verifiedserver\r\n' 19:26:57.068488 Received DATA (on stdin) 19:26:57.068499 > 29 bytes data, server => client 19:26:57.068508 '150 Binary junk (17 bytes).\r\n' 19:26:57.069039 Received DATA (on stdin) 19:26:57.069051 > 28 bytes data, server => client 19:26:57.069061 '226 File transfer complete\r\n' 19:26:57.117284 < 6 bytes data, client => server 19:26:57.117311 'QUIT\r\n' 19:26:57.117513 Received DATA (on stdin) 19:26:57.117531 > 18 bytes data, server => client 19:26:57.117551 '221 bye bye baby\r\n' 19:26:57.117689 ====> Client disconnect 19:26:57.117853 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:57.058439 Running IPv4 version 19:26:57.058514 Listening on port 35049 19:26:57.058551 Wrote pid 109624 to log/4/server/ftp_sockdata.pid 19:26:57.063912 Received PING (on stdin) 19:26:57.067371 ReceiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:38821 > log/13/stdout556 2> log/13/stderr556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40859 ascii > log/7/stdout550 2> log/7/stderr550 ved PORT (on stdin) 19:26:57.067811 ====> Client connect 19:26:57.068533 Received DATA (on stdin) 19:26:57.068545 > 17 bytes data, server => client 19:26:57.068559 'WE ROOLZ: 85249\r\n' 19:26:57.068582 Received DISC (on stdin) 19:26:57.068592 ====> Client forcibly disconnected 19:26:57.068731 Received QUIT (on stdin) 19:26:57.068741 quits 19:26:57.068801 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file valgrind539 ==109640== ==109640== Process terminating with default action of signal 4 (SIGILL) ==109640== Illegal opcode at address 0x51CC63F ==109640== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109640== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109640== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109640== by 0x40041AF: main (first.c:264) === End of file valgrind539 test 0556 [send and recv HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:38821 > log/13/stdout556 2> log/13/stderr556 556: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 556 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind556 ./libtest/libtests lib556 http://127.0.0.1:38821 > log/13/stdout556 2> log/13/stderr556 === End of file commands.log === Start of file http_server.log 19:26:58.058406 ====> Client connect 19:26:58.058439 accept_connection 3 returned 4 19:26:58.058459 Read 93 bytes 19:26:58.058468 Process 93 bytes request 19:26:58.058481 Got request: GET /verifiedserver HTTP/1.1 19:26:58.058489 Are-we-friendly question received 19:26:58.058514 Wrote request (93 bytes) input to log/13/server.input 19:26:58.058530 Identifying ourselves as friends 19:26:58.058586 Response sent (56 bytes) and written to log/13/server.response 19:26:58.058594 special request received, no persistency 19:26:58.058601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 36058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind556 ==110605== ==110605== Process terminating with default action of signal 4 (SIGILL) ==110605== Illegal opcode at address 0x51CC63F ==110605== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110605== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110605== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110605== by 0x40041AF: main (first.c:264) === End of file valgrind556 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 test 0550 [FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE using ASCII] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40859 ascii > log/7/stdout550 2> log/7/stderr550 550: stdout FAILED: --- log/7/check-expected 2026-10-15 19:26:59.582237768 +0000 +++ log/7/check-generated 2026-10-15 19:26:59.579177390 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/7/ directory after test 550 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40859 ascii > log/7/stdout550 2> log/7/stderr550 === End of file commands.log === Start of file http_server.log 19:26:57.887507 ====> Client connect 19:26:57.887560 accept_connection 3 returned 4 19:26:57.887590 Read 93 bytes 19:26:57.887614 Process 93 bytes request 19:26:57.887629 Got request: GET /verifiedserver HTTP/1.1 19:26:57.887638 Are-we-friendly question received 19:26:57.887671 Wrote request (93 bytes) input to log/7/server.input 19:26:57.887689 Identifying ourselves as friends 19:26:57.887788 Response sent (56 bytes) and written to log/7/server.response 19:26:57.887800 special request received, no persistency 19:26:57.887809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 45962 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 550 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind550 ==110258== ==110258== Process terminating with default action of signal 4 (SIGILL) ==110258== Illegal opcode at address 0x51CC63F ==110258== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110258== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110258== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110258== by 0x40041AF: main (first.c:264) === End of file valgrind550 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:40921 silly:person custom.set.host.name > log/12/stdout540 2> log/12/stderr540 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:36161/537 > log/3/stdout537 2> log/3/stderr537 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:39641/541 log/5/upload541 > log/5/stdout541 2> log/5/stderr541 test 0543 [curl_easy_escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 543: stdout FAILED: --- log/2/check-expected 2026-10-15 19:26:59.597819012 +0000 +++ log/2/check-generated 2026-10-15 19:26:59.592507897 +0000 @@ -1,3 +0,0 @@ -%9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] -IN: '' OUT: ''[LF] -IN: ' 12' OUT: '%2012'[LF] == Contents of files in the log/2/ directory after test 543 === Start of file check-expected %9C%26K%3DI%04%A1%01%E0%D8%7C%20%B7%EFS%29%FA%1DW%E1[LF] IN: '' OUT: ''[LF] IN: ' 12' OUT: '%2012'[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind543 ./libtest/libtests lib543 - > log/2/stdout543 2> log/2/stderr543 === End of file commands.log === Start of file server.cmd Testnum 543 === End of file server.cmd === Start of file valgrind543 ==109815== ==109815== Process terminating with default action of signal 4 (SIGILL) ==109815== Illegal opcode at address 0x51CC63F ==109815== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109815== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109815== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109815== by 0x40041AF: main (first.c:264) === End of file valgrind543 test 0540 [HTTP proxy auth Digest multi API reusing connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:40921 silly:person custom.set.host.name > log/12/stdout540 2> log/12/stderr540 540: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:40921 silly:person custom.set.host.name > log/12/stdout540 2> log/12/stderr540 === End of file commands.log === Start of file http_server.log 19:26:57.389977 ====> Client connect 19:26:57.390016 accept_connection 3 returned 4 19:26:57.390118 Read 93 bytes 19:26:57.390133 Process 93 bytes request 19:26:57.390147 Got request: GET /verifiedserver HTTP/1.1 19:26:57.390156 Are-we-friendly question received 19:26:57.390190 Wrote request (93 bytes) input to log/12/server.input 19:26:57.390207 Identifying ourselves as friends 19:26:57.390270 Response sent (56 bytes) and written to log/12/server.response 19:26:57.390280 special request received, no persistency 19:26:57.390288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60438 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind540 ==109744== ==109744== Process terminating with default action of signal 4 (SIGILL) ==109744== Illegal opcode at address 0x51CC63F ==109744== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109744== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109744== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109744== by 0x40041AF: main (first.c:264) === End of file valgrind540 prechecked ./libtest/libtests lib537 check test 0537 [HTTP GET with a HUGE number of file descriptors open] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:36161/537 > log/3/stdout537 2> log/3/stderr537 537: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 537 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:36161/537 > log/3/stdout537 2> log/3/stderr537 === End of file commands.log === Start of file http_server.log 19:26:57.857259 ====> Client connect 19:26:57.857304 accept_connection 3 returned 4 19:26:57.857330 Read 93 bytes 19:26:57.857341 Process 93 bytes request 19:26:57.857354 Got request: GET /verifiedserver HTTP/1.1 19:26:57.857363 Are-we-friendly question received 19:26:57.857391 Wrote request (93 bytes) input to log/3/server.input 19:26:57.857408 Identifying ourselves as friends 19:26:57.857495 Response sent (56 bytes) and written to log/3/server.response 19:26:57.857505 special request received, no persistency 19:26:57.857513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file precheck-537 URL: check initial soft limit: 1024 initial hard limit: 524288 raising soft limit up to hard limit current soft limit: 524288 current hard limit: 524288 allocating memchunk 1048576 byte array initializing memchunk array allocating array for 524277 file descriptors initializing testfd array trying to open 524277 file descriptors 524277 file descriptors open Test ended with result 0 === End of file precheck-537 === Start of file server.cmd Testnum 537 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind537 ==109757== ==109757== Process terminating with default action of signal 4 (SIGILL) ==109757== Illegal opcode at address 0x51CC63F ==109757== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109757== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109757== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109757== by 0x40041AF: main (first.c:264) === End of file valgrind537 test 0541 [FTP upload and upload same file again without rewind] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:39641/541 log/5/upload541 > log/5/stdout541 2> log/5/stderr541 541: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 541 === Start of file commands.log ../libtool --mode=execute /usr/bin/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39881 ascii > log/21/stdout561 2> log/21/stderr561 valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:39641/541 log/5/upload541 > log/5/stdout541 2> log/5/stderr541 === End of file commands.log === Start of file ftp_server.log 19:26:57.978840 ====> Client connect 19:26:57.979071 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:57.985540 < "USER anonymous" 19:26:57.985595 > "331 We are happy you popped in![CR][LF]" 19:26:57.985855 < "PASS ftp@example.com" 19:26:57.985895 > "230 Welcome you silly person[CR][LF]" 19:26:57.986097 < "PWD" 19:26:57.986140 > "257 "/" is current directory[CR][LF]" 19:26:57.986345 < "EPSV" 19:26:57.986378 ====> Passive DATA channel requested by client 19:26:57.986396 DATA sockfilt for passive data channel starting... 19:26:57.994129 DATA sockfilt for passive data channel started (pid 109858) 19:26:57.994280 DATA sockfilt for passive data channel listens on port 45611 19:26:57.994337 > "229 Entering Passive Mode (|||45611|)[CR][LF]" 19:26:57.994360 Client has been notified that upcoming DATA connection is awaited on port 45611 19:26:57.994699 Client connects to port 45611 19:26:57.994731 ====> Client established passive DATA connection on port 45611 19:26:57.994821 < "TYPE I" 19:26:57.994854 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:57.995039 < "SIZE verifiedserver" 19:26:57.995083 > "213 17[CR][LF]" 19:26:57.995271 < "RETR verifiedserver" 19:26:57.995308 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:57.995428 =====> Closing passive DATA connection... 19:26:57.995451 Server disconnects passive DATA connection 19:26:57.995732 Server disconnected passive DATA connection 19:26:57.995768 DATA sockfilt for passive data channel quits (pid 109858) 19:26:57.996089 DATA sockfilt for passive data channel quit (pid 109858) 19:26:57.996121 =====> Closed passive DATA connection 19:26:57.996159 > "226 File transfer complete[CR][LF]" 19:26:58.045680 < "QUIT" 19:26:58.045748 > "221 bye bye baby[CR][LF]" 19:26:58.046258 MAIN sockfilt said DISC 19:26:58.046298 ====> Client disconnected 19:26:58.046381 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.587370 ====> Client connect 19:26:57.587773 Received DATA (on stdin) 19:26:57.587790 > 146 bytes data, server => client 19:26:57.587805 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.587815 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.587824 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.594020 < 16 bytes data, client => server 19:26:57.594043 'USER anonymous\r\n' 19:26:57.594289 Received DATA (on stdin) 19:26:57.594304 > 33 bytes data, server => client 19:26:57.594315 '331 We are happy you popped in!\r\n' 19:26:57.594414 < 22 bytes data, client => server 19:26:57.594431 'PASS ftp@example.com\r\n' 19:26:57.594583 Received DATA (on stdin) 19:26:57.594595 > 30 bytes data, server => client 19:26:57.594605 '230 Welcome you silly person\r\n' 19:26:57.594673 < 5 bytes data, client => server 19:26:57.594689 'PWD\r\n' 19:26:57.594827 Received DATA (on stdin) 19:26:57.594839 > 30 bytes data, server => client 19:26:57.594850 '257 "/" is current directory\r\n' 19:26:57.594924 < 6 bytes data, client => server 19:26:57.594939 'EPSV\r\n' 19:26:57.603056 Received DATA (on stdin) 19:26:57.603071 > 39 bytes data, server => client 19:26:57.603083 '229 Entering Passive Mode (|||45611|)\r\n' 19:26:57.603289 < 8 bytes data, client => server 19:26:57.603307 'TYPE I\r\n' 19:26:57.603538 Received DATA (on stdin) 19:26:57.603549 > 33 bytes data, server => client 19:26:57.603559 '200 I modify TYPE as you wanted\r\n' 19:26:57.603619 < 21 bytes data, client => server 19:26:57.603633 'SIZE verifiedserver\r\n' 19:26:57.603771 Received DATA (on stdin) 19:26:57.603784 > 8 bytes data, server => client 19:26:57.603795 '213 17\r\n' 19:26:57.603860 < 21 bytes data, client => server 19:26:57.603873 'RETR verifiedserver\r\n' 19:26:57.604138 Received DATA (on stdin) 19:26:57.604151 > 29 bytes data, server => client 19:26:57.604163 '150 Binary junk (17 bytes).\r\n' 19:26:57.604849 Received DATA (on stdin) 19:26:57.604862 > 28 bytes data, server => client 19:26:57.604871 '226 File transfer complete\r\n' 19:26:57.654161 < 6 bytes data, client => server 19:26:57.654193 'QUIT\r\n' 19:26:57.654456 Received DATA (on stdin) 19:26:57.654472 > 18 bytes data, server => client 19:26:57.654482 '221 bye bye baby\r\n' 19:26:57.654886 ====> Client disconnect 19:26:57.655077 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:57.601262 Running IPv4 version 19:26:57.601344 Listening on port 45611 19:26:57.601380 Wrote pid 109858 to log/5/server/ftp_sockdata.pid 19:26:57.602732 Received PING (on stdin) 19:26:57.602859 Received PORT (on stdin) 19:26:57.603332 ====> Client connect 19:26:57.604233 Received DATA (on stdin) 19:26:57.604249 > 17 bytes data, server => client 19:26:57.604260 'WE ROOLZ: 85245\r\n' 19:26:57.604291 Received DISC (on stdin) 19:26:57.604306 ====> Client forcibly disconnected 19:26:57.604468 Received QUIT (on stdin) 19:26:57.604483 quits 19:26:57.604561 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 541 === End of file server.cmd === Start of file upload541 Contents of a file to verify ftp upload works? === End of file upload541 === Start of file valgrind541 ==109959== ==109959== Process terminating with default action of signal 4 (SIGILL) ==109959== Illegal opcode at address 0x51CC63F ==109959== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109959== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109959== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109959== by 0x40041AF: main (first.c:264) === End of file valgrind541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:40031/542 > log/16/stdout542 2> log/16/stderr542 test 0561 [FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39881 ascii > log/21/stdout561 2> log/21/stderr561 561: stdout FAILED: --- log/21/check-expected 2026-10-15 19:26:59.819228929 +0000 +++ log/21/check-generated 2026-10-15 19:26:59.815793911 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/21/ directory after test 561 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:39881 ascii > log/21/stdout561 2> log/21/stderr561 === End of file commands.log === Start of file http_server.log 19:26:58.207162 ====> Client connect 19:26:58.207199 accept_connection 3 returned 4 19:26:58.207221 Read 93 bytes 19:26:58.207230 Process 93 bytes request 19:26:58.207243 Got request: GET /verifiedserver HTTP/1.1 19:26:58.207252 Are-we-friendly question received 19:26:58.207278 Wrote request (93 bytes) input to log/21/server.input 19:26:58.207295 Identifying ourselves as friends 19:26:58.207353 Response sent (56 bytes) and written to log/21/server.response 19:26:58.207363 special request received, no persistency 19:26:58.207371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 51964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 561 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind561 ==110746== ==110746== Process terminating with default action of signal 4 (SIGILL) ==110746== Illegal opcode at address 0x51CC63F ==110746== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110746== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110746== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110746== by 0x40041AF: main (first.c:264) === End of file valgrind561 test 0542 [FTP a file with NOBODY yes and HEADER no] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:40031/542 > log/16/stdout542 2> log/16/stderr542 542: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:40031/542 > log/16/stdout542 2> log/16/stderr542 === End of file commands.log === Start of file ftp_server.log 19:26:57.995766 ====> Client connect 19:26:57.995975 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:58.005713 < "USER anonymous" 19:26:58.005767 > "331 We are happy you popped in![CR][LF]" 19:26:58.005970 < "PASS ftp@example.com" 19:26:58.006002 > "230 Welcome you silly person[CR][LF]" 19:26:58.006159 < "PWD" 19:26:58.006194 > "257 "/" is current directory[CR][LF]" 19:26:58.006367 < "EPSV" 19:26:58.006394 ====> Passive DATA channel requested by client 19:26:58.006409 DATA sockfilt for passive data channel starting... 19:26:58.022046 DATA sockfilt for passive data channel started (pid 109881) 19:26:58.025493 DATA sockfilt for passive data channel listens on port 43185 19:26:58.025562 > "229 Entering Passive Mode (|||43185|)[CR][LF]" 19:26:58.025585 Client has been notified that upcoming DATA connection is awaited on port 43185 19:26:58.028968 Client connects to port 43185 19:26:58.029015 ====> Client established passive DATA connection on port 43185 19:26:58.029128 < "TYPE I" 19:26:58.029168 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:58.029361 < "SIZE verifiedserver" 19:26:58.029402 > "213 17[CR][LF]" 19:26:58.029552 < "RETR verifiedserver" 19:26:58.029584 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:58.029671 =====> Closing passive DATA connection... 19:26:58.029687 Server disconnects passive DATA connection 19:26:58.029842 Server disconnected passive DATA connection 19:26:58.029864 DATA sockfilt for passive data channel quits (pid 109881) 19:26:58.030143 DATA sockfilt for passive data channel quit (pid 109881) 19:26:58.030165 =====> Closed passive DATA connection 19:26:58.030194 > "226 File transfer complete[CR][LF]" 19:26:58.078887 < "QUIT" 19:26:58.078950 > "221 bye bye baby[CR][LF]" 19:26:58.085435 MAIN sockfilt said DISC 19:26:58.085507 ====> Client disconnected 19:26:58.085608 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:57.604178 ====> Client connect 19:26:57.614010 Received DATA (on stdin) 19:26:57.614048 > 146 bytes data, server => client 19:26:57.614061 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:57.614071 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:57.614080 '220 \___|\___/|_| \_\_____|\r\n' 19:26:57.614203 < 16 bytes data, client => server 19:26:57.614215 'USER anonymous\r\n' 19:26:57.614461 Received DATA (on stdin) 19:26:57.614475 > 33 bytes data, server => client 19:26:57.614485 '331 We are happy you popped in!\r\n' 19:26:57.614549 < 22 bytes data, client => server 19:26:57.614560 'PASS ftp@example.com\r\n' 19:26:57.614686 Received DATA (on stdin) 19:26:57.614696 > 30 bytes data, server => client 19:26:57.614706 '230 Welcome you silly person\r\n' 19:26:57.614757 < 5 bytes data, client => server 19:26:57.614767 'PWD\r\n' 19:26:57.614876 Received DATA (on stdin) 19:26:57.614887 > 30 bytes data, server => client 19:26:57.614897 '257 "/" is current directory\r\n' 19:26:57.614960 < 6 bytes data, client => server 19:26:57.614972 'EPSV\r\n' 19:26:57.634287 Received DATA (on stdin) 19:26:57.634305 > 39 bytes data, server => client 19:26:57.634316 '229 Entering Passive Mode (|||43185|)\r\n' 19:26:57.637547 < 8 bytes data, client => server 19:26:57.637571 'TYPE I\r\n' 19:26:57.637861 Received DATA (on stdin) 19:26:57.637875 > 33 bytes data, server => client 19:26:57.637885 '200 I modify TYPE as you wanted\r\n' 19:26:57.637956 < 21 bytes data, client => server 19:26:57.637966 'SIZE verifiedserver\r\n' 19:26:57.638091 Received DATA (on stdin) 19:26:57.638101 > 8 bytes data, server => client 19:26:57.638110 '213 17\r\n' 19:26:57.638159 < 21 bytes data, client => server 19:26:57.638169 'RETR verifiedserver\r\n' 19:26:57.638378 Received DATA (on stdin) 19:26:57.638388 > 29 bytes data, server => client 19:26:57.638398 '150 Binary junk (17 bytes).\r\n' 19:26:57.638884 Received DATA (on stdin) 19:26:57.638895 > 28 bytes data, server => client 19:26:57.638905 '226 File transfer complete\r\n' 19:26:57.687375 < 6 bytes data, client => server 19:26:57.687410 'QUIT\r\n' 19:26:57.687657 Received DATA (on stdin) 19:26:57.687669 > 18 bytes data, server => client 19:26:57.687681 '221 bye bye baby\r\n' 19:26:57.694035 ====CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44467/ > log/8/stdout552 2> log/8/stderr552 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:43733/544 > log/9/stdout544 2> log/9/stderr544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:44711 s1lly:pers0n > log/23/stdout551 2> log/23/stderr551 > Client disconnect 19:26:57.694318 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:58.622297 Running IPv4 version 19:26:58.622405 Listening on port 43185 19:26:58.622464 Wrote pid 109881 to log/16/server/ftp_sockdata.pid 19:26:58.627367 Received PING (on stdin) 19:26:58.634046 Received PORT (on stdin) 19:26:58.637597 ====> Client connect 19:26:58.638424 Received DATA (on stdin) 19:26:58.638437 > 17 bytes data, server => client 19:26:58.638447 'WE ROOLZ: 84702\r\n' 19:26:58.638471 Received DISC (on stdin) 19:26:58.638482 ====> Client forcibly disconnected 19:26:58.638557 Received QUIT (on stdin) 19:26:58.638566 quits 19:26:58.638636 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 542 === End of file server.cmd === Start of file valgrind542 ==109984== ==109984== Process terminating with default action of signal 4 (SIGILL) ==109984== Illegal opcode at address 0x51CC63F ==109984== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109984== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109984== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109984== by 0x40041AF: main (first.c:264) === End of file valgrind542 test 0552 [HTTP proxy auth Digest with 70K POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44467/ > log/8/stdout552 2> log/8/stderr552 552: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:44467/ > log/8/stdout552 2> log/8/stderr552 === End of file commands.log === Start of file http_server.log 19:26:57.924513 ====> Client connect 19:26:57.924552 accept_connection 3 returned 4 19:26:57.924708 Read 93 bytes 19:26:57.924721 Process 93 bytes request 19:26:57.924734 Got request: GET /verifiedserver HTTP/1.1 19:26:57.924743 Are-we-friendly question received 19:26:57.924777 Wrote request (93 bytes) input to log/8/server.input 19:26:57.924795 Identifying ourselves as friends 19:26:57.924855 Response sent (56 bytes) and written to log/8/server.response 19:26:57.924864 special request received, no persistency 19:26:57.924874 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 51314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 552 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind552 ==110290== ==110290== Process terminating with default action of signal 4 (SIGILL) ==110290== Illegal opcode at address 0x51CC63F ==110290== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110290== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110290== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110290== by 0x40041AF: main (first.c:264) === End of file valgrind552 test 0544 [HTTP POST text data using CURLOPT_COPYPOSTFIELDS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:43733/544 > log/9/stdout544 2> log/9/stderr544 544: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 544 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:43733/544 > log/9/stdout544 2> log/9/stderr544 === End of file commands.log === Start of file http_server.log 19:26:57.697420 ====> Client connect 19:26:57.697463 accept_connection 3 returned 4 19:26:57.697609 Read 93 bytes 19:26:57.697624 Process 93 bytes request 19:26:57.697638 Got request: GET /verifiedserver HTTP/1.1 19:26:57.697647 Are-we-friendly question received 19:26:57.697676 Wrote request (93 bytes) input to log/9/server.input 19:26:57.697694 Identifying ourselves as friends 19:26:57.697757 Response sent (56 bytes) and written to log/9/server.response 19:26:57.697766 special request received, no persistency 19:26:57.697774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 50580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 544 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind544 ==109981== ==109981== Process terminating with default action of signal 4 (SIGILL) ==109981== Illegal opcode at address 0x51CC63F ==109981== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==109981== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==109981== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==109981== by 0x40041AF: main (first.c:264) === End of file valgrind544 test 0551 [HTTP proxy auth Digest with POST data from read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:44711 s1lly:pers0n > log/23/stdout551 2> log/23/stderr551 551: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:44711 s1lly:pers0n > log/23/stdout551 2> log/23/stderr551 === End of file commands.log === Start of file http_server.log 19:26:57.901532 ====> Client connect 19:26:57.901566 accept_connection 3 returned 4 19:26:57.901587 Read 93 bytes 19:26:57.901596 Process 93 bytes request 19:26:57.901607 Got request: GET /verifiedserver HTTP/1.1 19:26:57.901616 Are-we-friendly question received 19:26:57.901645 Wrote request (93 bytes) input to log/23/server.input 19:26:57.901661 Identifying ourselves as friends 19:26:57.901723 Response sent (56 bytes) and written to log/23/server.response 19:26:57.901732 spCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45467/path/553 > log/14/stdout553 2> log/14/stderr553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:33989/path/546 ftp://127.0.0.1:33989/path/546 > log/6/stdout546 2> log/6/stderr546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind557 ./libtest/libtests lib557 - > log/1/stdout557 2> log/1/stderr557 ecial request received, no persistency 19:26:57.901740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 33076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind551 ==110317== ==110317== Process terminating with default action of signal 4 (SIGILL) ==110317== Illegal opcode at address 0x51CC63F ==110317== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110317== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110317== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110317== by 0x40041AF: main (first.c:264) === End of file valgrind551 test 0546 [FTP RETR non-existing file then a found one using multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:33989/path/546 ftp://127.0.0.1:33989/path/546 > log/6/stdout546 2> log/6/stderr546 546: stdout FAILED: --- log/6/check-expected 2026-10-15 19:27:00.040346998 +0000 +++ log/6/check-generated 2026-10-15 19:27:00.035747323 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/6/ directory after test 546 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:33989/path/546 ftp://127.0.0.1:33989/path/546 > log/6/stdout546 2> log/6/stderr546 === End of file commands.log === Start of file ftp_server.log 19:26:58.099530 ====> Client connect 19:26:58.099724 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:58.108882 < "USER anonymous" 19:26:58.108943 > "331 We are happy you popped in![CR][LF]" 19:26:58.109170 < "PASS ftp@example.com" 19:26:58.109203 > "230 Welcome you silly person[CR][LF]" 19:26:58.109348 < "PWD" 19:26:58.109378 > "257 "/" is current directory[CR][LF]" 19:26:58.115653 < "EPSV" 19:26:58.115699 ====> Passive DATA channel requested by client 19:26:58.115714 DATA sockfilt for passive data channel starting... 19:26:58.118885 DATA sockfilt for passive data channel started (pid 109982) 19:26:58.119048 DATA sockfilt for passive data channel listens on port 36801 19:26:58.119105 > "229 Entering Passive Mode (|||36801|)[CR][LF]" 19:26:58.119125 Client has been notified that upcoming DATA connection is awaited on port 36801 19:26:58.119474 Client connects to port 36801 19:26:58.119511 ====> Client established passive DATA connection on port 36801 19:26:58.119611 < "TYPE I" 19:26:58.119649 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:58.119817 < "SIZE verifiedserver" 19:26:58.119858 > "213 17[CR][LF]" 19:26:58.120014 < "RETR verifiedserver" 19:26:58.120051 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:58.120143 =====> Closing passive DATA connection... 19:26:58.120160 Server disconnects passive DATA connection 19:26:58.120380 Server disconnected passive DATA connection 19:26:58.120408 DATA sockfilt for passive data channel quits (pid 109982) 19:26:58.120618 DATA sockfilt for passive data channel quit (pid 109982) 19:26:58.120642 =====> Closed passive DATA connection 19:26:58.120669 > "226 File transfer complete[CR][LF]" 19:26:58.162456 < "QUIT" 19:26:58.162615 > "221 bye bye baby[CR][LF]" 19:26:58.166485 MAIN sockfilt said DISC 19:26:58.166525 ====> Client disconnected 19:26:58.166607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:58.707449 ====> Client connect 19:26:58.714043 Received DATA (on stdin) 19:26:58.714082 > 146 bytes data, server => client 19:26:58.714093 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:58.714101 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:58.714109 '220 \___|\___/|_| \_\_____|\r\n' 19:26:58.714244 < 16 bytes data, client => server 19:26:58.714256 'USER anonymous\r\n' 19:26:58.717660 Received DATA (on stdin) 19:26:58.717675 > 33 bytes data, server => client 19:26:58.717686 '331 We are happy you popped in!\r\n' 19:26:58.717768 < 22 bytes data, client => server 19:26:58.717778 'PASS ftp@example.com\r\n' 19:26:58.717907 Received DATA (on stdin) 19:26:58.717917 > 30 bytes data, server => client 19:26:58.717927 '230 Welcome you silly person\r\n' 19:26:58.717975 < 5 bytes data, client => server 19:26:58.717985 'PWD\r\n' 19:26:58.718082 Received DATA (on stdin) 19:26:58.718091 > 30 bytes data, server => client 19:26:58.718101 '257 "/" is current directory\r\n' 19:26:58.724161 < 6 bytes data, client => server 19:26:58.724192 'EPSV\r\n' 19:26:58.727847 Received DATA (on stdin) 19:26:58.727867 > 39 bytes data, server => client 19:26:58.727877 '229 Entering Passive Mode (|||36801|)\r\n' 19:26:58.728095 < 8 bytes data, client => server 19:26:58.728112 'TYPE I\r\n' 19:26:58.728358 Received DATA (on stdin) 19:26:58.728370 > 33 bytes data, server => client 19:26:58.728380 '200 I modify TYPE as you wanted\r\n' 19:26:58.728437 < 21 bytes data, client => server 19:26:58.728448 'SIZE verifiedserver\r\n' 19:26:58.728566 Received DATA (on stdin) 19:26:58.728577 > 8 bytes data, server => client 19:26:58.728586 '213 17\r\n' 19:26:58.728637 < 21 bytes data, client => server 19:26:58.728647 'RETR verifiedserver\r\n' 19:26:58.728871 Received DATA (on stdin) 19:26:58.728881 > 29 bytes data, server => client 19:26:58.728892 '150 Binary junk (17 bytes).\r\n' 19:26:58.729378 Received DATA (on stdin) 19:26:58.729389 > 28 bytes data, server => client 19:26:58.729400 '226 File transfer complete\r\n' 19:26:58.770877 < 6 bytes data, client => server 19:26:58.770930 'QUIT\r\n' 19:26:58.771243 Received DATA (on stdin) 19:26:58.771260 > 18 bytes data, server => client 19:26:58.774069 '221 bye bye baby\r\n' 19:26:58.775145 ====> Client disconnect 19:26:58.775332 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:58.726372 Running IPv4 version 19:26:58.726483 Listening on port 36801 19:26:58.726530 Wrote pid 109982 to log/6/server/ftp_sockdata.pid 19:26:58.727514 Received PING (on stdin) 19:26:58.727646 Received PORT (on stdin) 19:26:58.728133 ====> Client connect 19:26:58.728919 Received DATA (on stdin) 19:26:58.728930 > 17 bytes data, server => client 19:26:58.728940 'WE ROOLZ: 85558\r\n' 19:26:58.728964 Received DISC (on stdin) 19:26:58.728975 ====> Client forcibly disconnected 19:26:58.729123 Received QUIT (on stdin) 19:26:58.729133 quits 19:26:58.729192 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 the file doesn't exist COUNT RETR 1 REPLY SIZE 500 Can't check for file existence COUNT SIZE 1 Testnum 546 === End of file server.cmd === Start of file valgrind546 ==110081== ==110081== Process terminating with default action of signal 4 (SIGILL) ==110081== Illegal opcode at address 0x51CC63F ==110081== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110081== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110081== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110081== by 0x40041AF: main (first.c:264) === End of file valgrind546 test 0553 [HTTP post with huge request headers and post data from callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45467/path/553 > log/14/stdout553 2> log/14/stderr553 553: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:45467/path/553 > log/14/stdout553 2> log/14/stderr553 === End of file commands.log === Start of file http_server.log 19:26:57.928638 ====> Client connect 19:26:57.928674 accept_connection 3 returned 4 19:26:57.928696 Read 93 bytes 19:26:57.928706 Process 93 bytes request 19:26:57.928719 Got request: GET /verifiedserver HTTP/1.1 19:26:57.928728 Are-we-friendly question received 19:26:57.928758 Wrote request (93 bytes) input to log/14/server.input 19:26:57.928776 Identifying ourselves as friends 19:26:57.928846 Response sent (56 bytes) and written to log/14/server.response 19:26:57.928858 special request received, no persistency 19:26:57.928867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 39680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 553 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind553 ==110318== ==110318== Process terminating with default action of signal 4 (SIGILL) ==110318== Illegal opcode at address 0x51CC63F ==110318== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110318== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110318== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110318== by 0x40041AF: main (first.c:264) === End of file valgrind553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38895/566 log/24/ip566 > log/24/stdout566 2> log/24/stderr566 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:35989/545 > log/22/stdout545 2> log/22/stderr545 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46497 > log/19/stdout549 2> log/19/stderr549 test 0557 [curl_mprintf() testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind557 ./libtest/libtests lib557 - > log/1/stdout557 2> log/1/stderr557 557: stdout FAILED: --- log/1/check-expected 2026-10-15 19:27:00.053895067 +0000 +++ log/1/check-generated 2026-10-15 19:27:00.049077841 +0000 @@ -1,12 +0,0 @@ -All curl_mprintf() unsigned short tests OK![LF] -All curl_mprintf() signed short tests OK![LF] -All curl_mprintf() unsigned int tests OK![LF] -All curl_mprintf() signed int tests OK![LF] -All curl_mprintf() unsigned long tests OK![LF] -All curl_mprintf() signed long tests OK![LF] -All curl_mprintf() curl_off_t tests OK![LF] -All curl_mprintf() strings tests OK![LF] -All float strings tests OK![LF] -All curl_mprintf() octal and hexadecimal tests OK![LF] -testing a string and -443 is super fun and 9876543[LF] -All v-functions test OK![LF] == Contents of files in the log/1/ directory after test 557 === Start of file check-expected All curl_mprintf() unsigned short tests OK![LF] All curl_mprintf() signed short tests OK![LF] All curl_mprintf() unsigned int tests OK![LF] All curl_mprintf() signed int tests OK![LF] All curl_mprintf() unsigned long tests OK![LF] All curl_mprintf() signed long tests OK![LF] All curl_mprintf() curl_off_t tests OK![LF] All curl_mprintf() strings tests OK![LF] All float strings tests OK![LF] All curl_mprintf() octal and hexadecimal tests OK![LF] testing a string and -443 is super fun and 9876543[LF] All v-functions test OK![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind557 ./libtest/libtests lib557 - > log/1/stdout557 2> log/1/stderr557 === End of file commands.log === Start of file server.cmd Testnum 557 === End of file server.cmd === Start of file valgrind557 ==110473== ==110473== Process terminating with default action of signal 4 (SIGILL) ==110473== Illegal opcode at address 0x51CC63F ==110473== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110473== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110473== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110473== by 0x40041AF: main (first.c:264) === End of file valgrind557 test 0566 [HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38895/566 log/24/ip566 > log/24/stdout566 2> log/24/stderr566 566: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:38895/566 log/24/ip566 > log/24/stdout566 2> log/24/stderr566 === End of file commands.log === Start of file http_server.log 19:26:58.660047 ====> Client connect 19:26:58.660081 accept_connection 3 returned 4 19:26:58.660101 Read 93 bytes 19:26:58.660110 Process 93 bytes request 19:26:58.660123 Got request: GET /verifiedserver HTTP/1.1 19:26:58.660131 Are-we-friendly question received 19:26:58.660156 Wrote request (93 bytes) input to log/24/server.input 19:26:58.660171 Identifying ourselves as friends 19:26:58.660227 Response sent (56 bytes) and written to log/24/server.response 19:26:58.660236 special request received, no persistency 19:26:58.660245 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 34986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind566 ==111072== ==111072== Process terminating with default action of signal 4 (SIGILL) ==111072== Illegal opcode at address 0x51CC63F ==111072== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111072== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111072== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111072== by 0x40041AF: main (first.c:264) === End of file valgrind566 test 0545 [HTTP POST binary with embedded NUL byte and no null-terminator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:35989/545 > log/22/stdout545 2> log/22/stderr545 545: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:35989/545 > log/22/stdout545 2> log/22/stderr545 === End of file commands.log === Start of file http_server.log 19:26:57.740777 ====> Client connect 19:26:57.740823 accept_connection 3 returned 4 19:26:57.741040 Read 93 bytes 19:26:57.741058 Process 93 bytes request 19:26:57.741073 Got request: GET /verifiedserver HTTP/1.1 19:26:57.741082 Are-we-friendly question received 19:26:57.741120 Wrote request (93 bytes) input to log/22/server.input 19:26:57.741137 Identifying ourselves as friends 19:26:57.741204 Response sent (56 bytes) and written to log/22/server.response 19:26:57.741213 special request received, no persistency 19:26:57.741222 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 52992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind545 ==110017== ==110017== Process terminating with default action of signal 4 (SIGILL) ==110017== Illegal opcode at address 0x51CC63F ==110017== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110017== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110017== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110017== by 0x40041AF: main (first.c:264) === End of file valgrind545 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43739/559 > log/18/stdout559 2> log/18/stderr559 test 0549 [FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46497 > log/19/stdout549 2> log/19/stderr549 549: stdout FAILED: --- log/19/check-expected 2026-10-15 19:27:00.220578264 +0000 +++ log/19/check-generated 2026-10-15 19:27:00.216068314 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/19/ directory after test 549 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46497 > log/19/stdout549 2> log/19/stderr549 === End of file commands.log === Start of file http_server.log 19:26:57.876020 ====> Client connect 19:26:57.876061 accept_connection 3 returned 4 19:26:57.876090 Read 93 bytes 19:26:57.876104 Process 93 bytes request 19:26:57.876118 Got request: GET /verifiedserver HTTP/1.1 19:26:57.876127 Are-we-friendly question received 19:26:57.876159 Wrote request (93 bytes) input to log/19/server.input 19:26:57.876179 Identifying ourselves as friends 19:26:57.876249 Response sent (56 bytes) and written to log/19/server.response 19:26:57.876260 special request received, no persistency 19:26:57.876268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 50044 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 549 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind549 ==110257== ==110257== Process terminating with default action of signal 4 (SIGILL) ==110257== Illegal opcode at address 0x51CC63F ==110257== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110257== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110257== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110257== by 0x40041AF: main (first.c:264) === End of file valgrind549 test 0559 [use tiny CURLOPT_BUFFERSIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43739/559 > log/18/stdout559 2> log/18/stderr559 559: data FAILED: --- log/18/check-expected 2026-10-15 19:27:00.376308972 +0000 +++ log/18/check-generated 2026-10-15 19:27:00.376191286 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 2049[LF] -Connection: close[LF] -Content-Type: text/html[LF] -Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] -[LF] -ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] == Contents of files in the log/18/ directory after test 559 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 2049[LF] Connection: close[LF] Content-Type: text/html[LF] Silly-header: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] [LF] ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:43739/559 > log/18/stdout559 2> log/18/stderr559 === End of file commands.log === Start of file http_server.log 19:26:59.167600 ====> Client connect 19:26:59.167640 accept_connection 3 returned 4 19:26:59.167663 Read 93 bytes 19:26:59.167672 Process 93 bytes request 19:26:59.167687 Got request: GET /verifiedserver HTTP/1.1 19:26:59.167696 Are-we-friendly question received 19:26:59.167724 Wrote request (93 bytes) input to log/18/server.input 19:26:59.167741 Identifying ourselves as friends 19:26:59.167806 Response sent (56 bytes) and written to log/18/server.response 19:26:59.167816 special request received, no persistency 19:26:59.167824 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 58404 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 559 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind559 ==110737== ==110737== Process terminating with default action of signal 4 (SIGILL) ==110737== Illegal opcode atCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:33897/554 > log/20/stdout554 2> log/20/stderr554 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:40913/565 > log/10/stdout565 2> log/10/stderr565 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46137 > log/17/stdout562 2> log/17/stderr562 address 0x51CC63F ==110737== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110737== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110737== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110737== by 0x40041AF: main (first.c:264) === End of file valgrind559 test 0554 [HTTP multi-part formpost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:33897/554 > log/20/stdout554 2> log/20/stderr554 554: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 554 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:33897/554 > log/20/stdout554 2> log/20/stderr554 === End of file commands.log === Start of file http_server.log 19:26:57.971912 ====> Client connect 19:26:57.971951 accept_connection 3 returned 4 19:26:57.974174 Read 93 bytes 19:26:57.974201 Process 93 bytes request 19:26:57.974220 Got request: GET /verifiedserver HTTP/1.1 19:26:57.974229 Are-we-friendly question received 19:26:57.974273 Wrote request (93 bytes) input to log/20/server.input 19:26:57.974294 Identifying ourselves as friends 19:26:57.974364 Response sent (56 bytes) and written to log/20/server.response 19:26:57.974376 special request received, no persistency 19:26:57.974385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 45514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind554 ==110463== ==110463== Process terminating with default action of signal 4 (SIGILL) ==110463== Illegal opcode at address 0x51CC63F ==110463== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110463== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110463== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110463== by 0x40041AF: main (first.c:264) === End of file valgrind554 test 0565 [HTTP POST using read callback, chunked transfer-encoding and Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:40913/565 > log/10/stdout565 2> log/10/stderr565 565: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:40913/565 > log/10/stdout565 2> log/10/stderr565 === End of file commands.log === Start of file http_server.log 19:26:58.300881 ====> Client connect 19:26:58.300917 accept_connection 3 returned 4 19:26:58.300939 Read 93 bytes 19:26:58.300949 Process 93 bytes request 19:26:58.300962 Got request: GET /verifiedserver HTTP/1.1 19:26:58.300971 Are-we-friendly question received 19:26:58.300999 Wrote request (93 bytes) input to log/10/server.input 19:26:58.301015 Identifying ourselves as friends 19:26:58.301082 Response sent (56 bytes) and written to log/10/server.response 19:26:58.301091 special request received, no persistency 19:26:58.301100 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind565 ==110858== ==110858== Process terminating with default action of signal 4 (SIGILL) ==110858== Illegal opcode at address 0x51CC63F ==110858== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110858== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110858== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110858== by 0x40041AF: main (first.c:264) === End of file valgrind565 test 0562 [FTP a type=A URL and CURLOPT_PORT set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46137 > log/17/stdout562 2> log/17/stderr562 562: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 562 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 46137 > log/17/stdout562 2> log/17/stderr562 === End of file commands.log === Start of file ftp_server.log 19:26:58.589954 ====> Client connect 19:26:58.590198 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:58.590817 < "USER anonymous" 19:26:58.590865 > "331 We are happy you popped in![CR][LF]" 19:26:58.591076 < "PASS ftp@example.com" 19:26:58.591120 > "230 Welcome you silly person[CR][LF]" 19:26:58.591307 < "PWD" 19:26:58.591348 > "257 "/" is current directory[CR][LF]" 19:26:58.591529 < "EPSV" 19:26:58.591559 ====> Passive DATA channel requested by client 19:26:58.591575 DATA sockfilt for passive data channel starting... 19:26:58.598954 DATA sockfilt for passive data channel started (pid 110715) 19:26:58.599124 DATA sockfilt for passive data channel listens on port 34193 19:26:58.599189 > "229 Entering Passive Mode (|||34193|)[CR][LF]" 19:26:58.599218 Client has been notified that upcoming DATA connection is awaited on port 34193 19:26:58.599557 Client connects to port 34193 19:26:58.599591 ====> Client established passive DATA connection on port 34193 19:26:58.599707 < "TYPE I" 19:26:58.599753 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:58.599961 < "SIZE verifiedserver" 19:26:58.600012 > "213 17[CR][LF]" 19:26:58.600203 < "RETR verifiedserver" 19:26:58.600245 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:58.600351 =====> Closing passive DATA connection... 19:26:58.600375 Server disconnects passive DATA connection 19:26:58.600638 Server disconnected passive DATA connection 19:26:58.600672 DATA sockfilt for passive data channeCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 37735 > log/11/stdout563 2> log/11/stderr563 l quits (pid 110715) 19:26:58.600980 DATA sockfilt for passive data channel quit (pid 110715) 19:26:58.601008 =====> Closed passive DATA connection 19:26:58.601040 > "226 File transfer complete[CR][LF]" 19:26:58.656801 < "QUIT" 19:26:58.656860 > "221 bye bye baby[CR][LF]" 19:26:58.659753 MAIN sockfilt said DISC 19:26:58.659806 ====> Client disconnected 19:26:58.659899 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:58.198627 ====> Client connect 19:26:58.199031 Received DATA (on stdin) 19:26:58.199050 > 146 bytes data, server => client 19:26:58.199062 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:58.199072 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:58.199081 '220 \___|\___/|_| \_\_____|\r\n' 19:26:58.199446 < 16 bytes data, client => server 19:26:58.199463 'USER anonymous\r\n' 19:26:58.199680 Received DATA (on stdin) 19:26:58.199691 > 33 bytes data, server => client 19:26:58.199702 '331 We are happy you popped in!\r\n' 19:26:58.199766 < 22 bytes data, client => server 19:26:58.199781 'PASS ftp@example.com\r\n' 19:26:58.199935 Received DATA (on stdin) 19:26:58.199947 > 30 bytes data, server => client 19:26:58.199957 '230 Welcome you silly person\r\n' 19:26:58.200017 < 5 bytes data, client => server 19:26:58.200028 'PWD\r\n' 19:26:58.200158 Received DATA (on stdin) 19:26:58.200170 > 30 bytes data, server => client 19:26:58.200180 '257 "/" is current directory\r\n' 19:26:58.200249 < 6 bytes data, client => server 19:26:58.200260 'EPSV\r\n' 19:26:58.208045 Received DATA (on stdin) 19:26:58.208063 > 39 bytes data, server => client 19:26:58.208074 '229 Entering Passive Mode (|||34193|)\r\n' 19:26:58.208273 < 8 bytes data, client => server 19:26:58.208292 'TYPE I\r\n' 19:26:58.208571 Received DATA (on stdin) 19:26:58.208585 > 33 bytes data, server => client 19:26:58.208596 '200 I modify TYPE as you wanted\r\n' 19:26:58.208664 < 21 bytes data, client => server 19:26:58.208678 'SIZE verifiedserver\r\n' 19:26:58.208830 Received DATA (on stdin) 19:26:58.208843 > 8 bytes data, server => client 19:26:58.208853 '213 17\r\n' 19:26:58.208913 < 21 bytes data, client => server 19:26:58.208927 'RETR verifiedserver\r\n' 19:26:58.209192 Received DATA (on stdin) 19:26:58.209205 > 29 bytes data, server => client 19:26:58.209215 '150 Binary junk (17 bytes).\r\n' 19:26:58.209856 Received DATA (on stdin) 19:26:58.209868 > 28 bytes data, server => client 19:26:58.209878 '226 File transfer complete\r\n' 19:26:58.265178 < 6 bytes data, client => server 19:26:58.265210 'QUIT\r\n' 19:26:58.265693 Received DATA (on stdin) 19:26:58.265709 > 18 bytes data, server => client 19:26:58.265718 '221 bye bye baby\r\n' 19:26:58.268507 ====> Client disconnect 19:26:58.268732 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:58.205675 Running IPv4 version 19:26:58.205780 Listening on port 34193 19:26:58.205825 Wrote pid 110715 to log/17/server/ftp_sockdata.pid 19:26:58.207684 Received PING (on stdin) 19:26:58.207821 Received PORT (on stdin) 19:26:58.208317 ====> Client connect 19:26:58.209247 Received DATA (on stdin) 19:26:58.209261 > 17 bytes data, server => client 19:26:58.209273 'WE ROOLZ: 84749\r\n' 19:26:58.209301 Received DISC (on stdin) 19:26:58.209316 ====> Client forcibly disconnected 19:26:58.209499 Received QUIT (on stdin) 19:26:58.209512 quits 19:26:58.209579 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 562 === End of file server.cmd === Start of file valgrind562 ==110832== ==110832== Process terminating with default action of signal 4 (SIGILL) ==110832== Illegal opcode at address 0x51CC63F ==110832== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110832== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110832== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110832== by 0x40041AF: main (first.c:264) === End of file valgrind562 setenv ftp_proxy = http://127.0.0.1:40989/ test 0563 [FTP type=A URL and CURLOPT_PORT set and proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 37735 > log/11/stdout563 2> log/11/stderr563 563: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 37735 > log/11/stdout563 2> log/11/stderr563 === End of file commands.log === Start of file ftp_server.log 19:26:58.752150 ====> Client connect 19:26:58.752358 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:58.752662 < "USER anonymous" 19:26:58.752705 > "331 We are happy you popped in![CR][LF]" 19:26:58.752858 < "PASS ftp@example.com" 19:26:58.752881 > "230 Welcome you silly person[CR][LF]" 19:26:58.753019 < "PWD" 19:26:58.753047 > "257 "/" is current directory[CR][LF]" 19:26:58.753196 < "EPSV" 19:26:58.753219 ====> Passive DATA channel requested by client 19:26:58.753232 DATA sockfilt for passive data channel starting... 19:26:58.760719 DATA sockfilt for passive data channel started (pid 110897) 19:26:58.760864 DATA sockfilt for passive data channel listens on port 41227 19:26:58.760910 > "229 Entering Passive Mode (|||41227|)[CR][LF]" 19:26:58.760929 Client has been notified that upcoming DATA connection is awaited on port 41227 19:26:58.762654 Client connects to port 41227 19:26:58.762698 ====> Client established passive DATA connection on port 41227 19:26:58.762818 < "TYPE I" 19:26:58.762864 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:58.765313 < "SIZE verifiedserver" 19:26:58.765383 > "213 17[CR][LF]" 19:26:58.765572 < "RETR verifiedserver" 19:26:58.765613 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:58.765727 =====> Closing passive DATA connection... 19:26:58.765747 Server disconnects passive DATA connection 19:26:58.769369 Server disconnected passive DATA connection 19:26:58.769430 DATA sockfilt for passive data channel quits (pid 110897) 19:26:58.769749 DATA sockfilt for passive data channel quit (pid 110897) 19:26:58.769773 =====> Closed passive DATA connection 19:26:58.769810 > "226 File transfer complete[CR][LF]" 19:26:58.815955 < "QUIT" 19:26:58.816018 > "221 bye bye baby[CR][LF]" 19:26:58.817288 MAIN sockfilt said DISC 19:26:58.817327 ====> Client disconnected 19:26:58.817422 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:58.360859 ====> Client connect 19:26:58.361216 Received DATA (on stdin) 19:26:58.361231 > 146 bytes data, server => client 19:26:58.361241 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:58.361249 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:58.361258 '220 \___|\___/|_| \_\_____|\r\n' 19:26:58.361350 < 16 bytes data, client => server 19:26:58.361368 'USER anonymous\r\n' 19:26:58.361552 Received DATA (on stdin) 19:26:58.361562 > 33 bytes data, server => client 19:26:58.361572 '331 We are happy you popped in!\r\n' 19:26:58.361620 < 22 bytes data, client => server 19:26:58.361631 'PASS ftp@example.com\r\n' 19:26:58.361721 Received DATA (on stdin) 19:26:58.361730 > 30 bytes data, server => client 19:26:58.361739 '230 Welcome you silly person\r\n' 19:26:58.361786 < 5 bytes data, client => server 19:26:58.361795 'PWD\r\n' 19:26:58.361887 Received DATA (on stdin) 19:26:58.361896 > 30 bytes data, server => client 19:26:58.361905 '257 "/" is current directory\r\n' 19:26:58.361963 < 6 bytes data, CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37089/573 > log/5/stdout573 2> log/5/stderr573 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:35787/fully_simulated/UNIX/*.txt > log/21/stdout574 2> log/21/stderr574 client => server 19:26:58.361972 'EPSV\r\n' 19:26:58.369785 Received DATA (on stdin) 19:26:58.369803 > 39 bytes data, server => client 19:26:58.369813 '229 Entering Passive Mode (|||41227|)\r\n' 19:26:58.370002 < 8 bytes data, client => server 19:26:58.370016 'TYPE I\r\n' 19:26:58.373447 Received DATA (on stdin) 19:26:58.373474 > 33 bytes data, server => client 19:26:58.373486 '200 I modify TYPE as you wanted\r\n' 19:26:58.374034 < 21 bytes data, client => server 19:26:58.374052 'SIZE verifiedserver\r\n' 19:26:58.374236 Received DATA (on stdin) 19:26:58.374249 > 8 bytes data, server => client 19:26:58.374259 '213 17\r\n' 19:26:58.374321 < 21 bytes data, client => server 19:26:58.374335 'RETR verifiedserver\r\n' 19:26:58.377506 Received DATA (on stdin) 19:26:58.377542 > 29 bytes data, server => client 19:26:58.377554 '150 Binary junk (17 bytes).\r\n' 19:26:58.378664 Received DATA (on stdin) 19:26:58.378677 > 28 bytes data, server => client 19:26:58.378685 '226 File transfer complete\r\n' 19:26:58.424615 < 6 bytes data, client => server 19:26:58.424641 'QUIT\r\n' 19:26:58.424887 Received DATA (on stdin) 19:26:58.424900 > 18 bytes data, server => client 19:26:58.424910 '221 bye bye baby\r\n' 19:26:58.426089 ====> Client disconnect 19:26:58.426290 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:58.368742 Running IPv4 version 19:26:58.368838 Listening on port 41227 19:26:58.368882 Wrote pid 110897 to log/11/server/ftp_sockdata.pid 19:26:58.369477 Received PING (on stdin) 19:26:58.369609 Received PORT (on stdin) 19:26:58.370020 ====> Client connect 19:26:58.377610 Received DATA (on stdin) 19:26:58.377633 > 17 bytes data, server => client 19:26:58.377645 'WE ROOLZ: 84823\r\n' 19:26:58.377680 Received DISC (on stdin) 19:26:58.377693 ====> Client forcibly disconnected 19:26:58.378293 Received QUIT (on stdin) 19:26:58.378305 quits 19:26:58.378388 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:26:58.267572 ====> Client connect 19:26:58.267621 accept_connection 3 returned 4 19:26:58.267652 Read 93 bytes 19:26:58.267664 Process 93 bytes request 19:26:58.267677 Got request: GET /verifiedserver HTTP/1.1 19:26:58.267687 Are-we-friendly question received 19:26:58.267716 Wrote request (93 bytes) input to log/11/server.input 19:26:58.267741 Identifying ourselves as friends 19:26:58.267838 Response sent (56 bytes) and written to log/11/server.response 19:26:58.267851 special request received, no persistency 19:26:58.267859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 35134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind563 ==110977== ==110977== Process terminating with default action of signal 4 (SIGILL) ==110977== Illegal opcode at address 0x51CC63F ==110977== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==110977== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==110977== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==110977== by 0x40041AF: main (first.c:264) === End of file valgrind563 test 0573 [verify connect time with multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37089/573 > log/5/stdout573 2> log/5/stderr573 573: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:37089/573 > log/5/stdout573 2> log/5/stderr573 === End of file commands.log === Start of file http_server.log 19:26:59.461117 ====> Client connect 19:26:59.461160 accept_connection 3 returned 4 19:26:59.461186 Read 93 bytes 19:26:59.461198 Process 93 bytes request 19:26:59.461212 Got request: GET /verifiedserver HTTP/1.1 19:26:59.461221 Are-we-friendly question received 19:26:59.461254 Wrote request (93 bytes) input to log/5/server.input 19:26:59.461273 Identifying ourselves as friends 19:26:59.461361 Response sent (56 bytes) and written to log/5/server.response 19:26:59.461374 special request received, no persistency 19:26:59.461383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 33636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind573 ==111225== ==111225== Process terminating with default action of signal 4 (SIGILL) ==111225== Illegal opcode at address 0x51CC63F ==111225== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111225== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111225== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111225== by 0x40041AF: main (first.c:264) === End of file valgrind573 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:44883/path/564 127.0.0.1:37225 > log/15/stdout564 2> log/15/stderr564 test 0574 [FTP wildcard download - changed fnmatch, 2x perform (Unix LIST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:35787/fully_simulated/UNIX/*.txt > log/21/stdout574 2> log/21/stderr574 574: stdout FAILED: --- log/21/check-expected 2026-10-15 19:27:01.246793161 +0000 +++ log/21/check-generated 2026-10-15 19:27:01.242159422 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/21/ directory after test 574 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:35787/fully_simulated/UNIX/*.txt > log/21/stdout574 2> log/21/stderr574 === End of file commands.log === Start of file ftp_server.log 19:26:59.934465 ====> Client connect 19:26:59.934758 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:59.934988 < "USER anonymous" 19:26:59.935033 > "331 We are happy you popped in![CR][LF]" 19:26:59.935202 < "PASS ftp@example.com" 19:26:59.935228 > "230 Welcome you silly person[CR][LF]" 19:26:59.935398 < "PWD" 19:26:59.935428 > "257 "/" is current directory[CR][LF]" 19:26:59.935578 < "EPSV" 19:26:59.935601 ====> Passive DATA channel requested by client 19:26:59.935614 DATA sockfilt for passive data channel starting... 19:26:59.952069 DATA sockfilt for passive data channel started (pid 111259) 19:26:59.952277 DATA sockfilt for passive data channel listens on port 38627 19:26:59.952331 > "229 Entering Passive Mode (|||38627|)[CR][LF]" 19:26:59.952349 Client has been notified that upcoming DATA connection is awaited on port 38627 19:26:59.952677 Client connects to port 38627 19:26:59.952709 ====> Client established passive DATA connection on port 38627 19:26:59.952803 < "TYPE I" 19:26:59.952836 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:59.953004 < "SIZE verifiedserver" 19:26:59.953044 > "213 17[CR][LF]" 19:26:59.953203 < "RETR verifiedserver" 19:26:59.953240 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:59.953340 =====> Closing passive DATA connection... 19:26:59.953359 Server disconnects passive DATA connection 19:26:59.953607 Server disconnected passive DATA connection 19:26:59.953637 DATA sockfilt for passive data channel quits (pid 111259) 19:26:59.953919 DATA sockfilt for passive data channel quit (pid 111259) 19:26:59.953946 =====> Closed passive DATA connection 19:26:59.953975 > "226 File transfer complete[CR][LF]" 19:26:59.999201 < "QUIT" 19:26:59.999257 > "221 bye bye baby[CR][LF]" 19:27:00.000486 MAIN sockfilt said DISC 19:27:00.000522 ====> Client disconnected 19:27:00.000597 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:59.543461 ====> Client connect 19:26:59.543725 Received DATA (on stdin) 19:26:59.543744 > 146 bytes data, server => client 19:26:59.543764 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:59.543775 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:59.543784 '220 \___|\___/|_| \_\_____|\r\n' 19:26:59.543936 < 16 bytes data, client => server 19:26:59.543951 'USER anonymous\r\n' 19:26:59.544129 Received DATA (on stdin) 19:26:59.544140 > 33 bytes data, server => client 19:26:59.544150 '331 We are happy you popped in!\r\n' 19:26:59.544196 < 22 bytes data, client => server 19:26:59.544207 'PASS ftp@example.com\r\n' 19:26:59.544320 Received DATA (on stdin) 19:26:59.544330 > 30 bytes data, server => client 19:26:59.544340 '230 Welcome you silly person\r\n' 19:26:59.544387 < 5 bytes data, client => server 19:26:59.544420 'PWD\r\n' 19:26:59.544520 Received DATA (on stdin) 19:26:59.544530 > 30 bytes data, server => client 19:26:59.544539 '257 "/" is current directory\r\n' 19:26:59.544594 < 6 bytes data, client => server 19:26:59.544604 'EPSV\r\n' 19:26:59.561458 Received DATA (on stdin) 19:26:59.561476 > 39 bytes data, server => client 19:26:59.561486 '229 Entering Passive Mode (|||38627|)\r\n' 19:26:59.561690 < 8 bytes data, client => server 19:26:59.561705 'TYPE I\r\n' 19:26:59.561934 Received DATA (on stdin) 19:26:59.561945 > 33 bytes data, server => client 19:26:59.561955 '200 I modify TYPE as you wanted\r\n' 19:26:59.562010 < 21 bytes data, client => server 19:26:59.562022 'SIZE verifiedserver\r\n' 19:26:59.562141 Received DATA (on stdin) 19:26:59.562152 > 8 bytes data, server => client 19:26:59.562162 '213 17\r\n' 19:26:59.562210 < 21 bytes data, client => server 19:26:59.562220 'RETR verifiedserver\r\n' 19:26:59.562458 Received DATA (on stdin) 19:26:59.562470 > 29 bytes data, server => client 19:26:59.562480 '150 Binary junk (17 bytes).\r\n' 19:26:59.563074 Received DATA (on stdin) 19:26:59.563086 > 28 bytes data, server => client 19:26:59.563096 '226 File transfer complete\r\n' 19:26:59.608130 < 6 bytes data, client => server 19:26:59.608155 'QUIT\r\n' 19:26:59.608368 Received DATA (on stdin) 19:26:59.608380 > 18 bytes data, server => client 19:26:59.608390 '221 bye bye baby\r\n' 19:26:59.609540 ====> Client disconnect 19:26:59.609705 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:59.552051 Running IPv4 version 19:26:59.552145 Listening on port 38627 19:26:59.552191 Wrote pid 111259 to log/21/server/ftp_sockdata.pid 19:26:59.557797 Received PING (on stdin) 19:26:59.561254 Received PORT (on stdin) 19:26:59.561728 ====> Client connect 19:26:59.562539 Received DATA (on stdin) 19:26:59.562554 > 17 bytes data, server => client 19:26:59.562567 'WE ROOLZ: 84694\r\n' 19:26:59.562594 Received DISC (on stdin) 19:26:59.562604 ====> Client forcibly disconnected 19:26:59.562743 Received QUIT (on stdin) 19:26:59.562754 quits 19:26:59.562826 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 574 === End of file server.cmd === Start of file valgrind574 ==111304== ==111304== Process terminating with default action of signal 4 (SIGILL) ==111304== Illegal opcode at address 0x51CC63F ==111304== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111304== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111304== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111304== by 0x40041AF: main (first.c:264) === End of file valgrind574 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:40031/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 startnew: ./server/servers socksd --port 0 --pidfile log/15/server/socks_server.pid --portfile log/15/server/socks_server.port --reqfile log/15/socksd-request.log --logfile log/15/socks_server.log --backend 127.0.0.1 --config log/15/server.cmd RUN: SOCKS server is now running PID 110886 * pid socks => 110886 110886 test 0564 [FTP RETR a file over a SOCKS proxy using the multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:44883/path/564 127.0.0.1:37225 > log/15/stdout564 2> log/15/stderr564 564: stdout FAILED: --- log/15/check-expected 2026-10-15 19:27:01.262327940 +0000 +++ log/15/check-generated 2026-10-15 19:27:01.261148956 +0000 @@ -1,6 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/15/ directory after test 564 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:44883/path/564 127.0.0.1:37225 > log/15/stdout564 2> log/15/stderr564 === End of file commands.log === Start of file ftp_server.log 19:26:58.682165 ====> Client connect 19:26:58.682405 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:58.682725 < "USER anonymous" 19:26:58.682759 > "331 We are happy you popped in![CR][LF]" 19:26:58.682919 < "PASS ftp@example.com" 19:26:58.682946 > "230 Welcome you silly person[CR][LF]" 19:26:58.683085 < "PWD" 19:26:58.683114 > "257 "/" is current directory[CR][LF]" 19:26:58.683266 < "EPSV" 19:26:58.683288 ====> Passive DATA channel requested by client 19:26:58.683301 DATA sockfilt for passive data channel starting... 19:26:58.688541 DATA sockfilt for passive data channel started (pid 110819) 19:26:58.688654 DATA sockfilt for passive data channel listens on port 43583 19:26:58.688715 > "229 Entering Passive Mode (|||43583|)[CR][LF]" 19:26:58.688733 Client has been notified that upcoming DATA connection is awaited on port 43583 19:26:58.689000 Client connects to port 43583 19:26:58.689026 ====> Client established passive DATA connection on port 43583 19:26:58.689099 < "TYPE I" 19:26:58.689126 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:58.689263 < "SIZE verifiedserver" 19:26:58.689295 > "213 17[CR][LF]" 19:26:58.689421 < "RETR verifiedserver" 19:26:58.689448 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:58.689526 =====> Closing passive DATA connection... 19:26:58.689541 Server disconnects passive DATA connection 19:26:58.689746 Server disconnected passive DATA connection 19:26:58.689768 DATA sockfilt for passive data channel quits (pid 110819) 19:26:58.689955 DATA sockfilt for passive data channel quit (pid 110819) 19:26:58.689976 =====> Closed passive DATA connection 19:26:58.689999 > "226 File transfer complete[CR][LF]" 19:26:58.739528 < "QUIT" 19:26:58.739599 > "221 bye bye baby[CR][LF]" 19:26:58.741171 MAIN sockfilt said DISC 19:26:58.741212 ====> Client disconnected 19:26:58.741301 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:58.290845 ====> Client connect 19:26:58.291246 Received DATA (on stdin) 19:26:58.291260 > 146 bytes data, server => client 19:26:58.291271 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:58.291281 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:58.291289 '220 \___|\___/|_| \_\_____|\r\n' 19:26:58.291413 < 16 bytes data, client => server 19:26:58.291424 'USER anonymous\r\n' 19:26:58.291588 Received DATA (on stdin) 19:26:58.291599 > 33 bytes data, server => client 19:26:58.291610 '331 We are happy you popped in!\r\n' 19:26:58.291661 < 22 bytes data, client => server 19:26:58.291672 'PASS ftp@example.com\r\n' 19:26:58.291771 Received DATA (on stdin) 19:26:58.291781 > 30 bytes data, server => client 19:26:58.291791 '230 Welcome you silly person\r\n' 19:26:58.291836 < 5 bytes data, client => server 19:26:58.291845 'PWD\r\n' 19:26:58.291939 Received DATA (on stdin) 19:26:58.291949 > 30 bytes data, server => client 19:26:58.291958 '257 "/" is current directory\r\n' 19:26:58.292010 < 6 bytes data, client => server 19:26:58.292019 'EPSV\r\n' 19:26:58.297566 Received DATA (on stdin) 19:26:58.297580 > 39 bytes data, server => client 19:26:58.297589 '229 Entering Passive Mode (|||43583|)\r\n' 19:26:58.297755 < 8 bytes data, client => server 19:26:58.297767 'TYPE I\r\n' 19:26:58.297953 Received DATA (on stdin) 19:26:58.297963 > 33 bytes data, server => client 19:26:58.297972 '200 I modify TYPE as you wanted\r\n' 19:26:58.298019 < 21 bytes data, client => server 19:26:58.298028 'SIZE verifiedserver\r\n' 19:26:58.298121 Received DATA (on stdin) 19:26:58.298130 > 8 bytes data, server => client 19:26:58.298138 '213 17\r\n' 19:26:58.298180 < 21 bytes data, client => server 19:26:58.298189 'RETR verifiedserver\r\n' 19:26:58.298369 Received DATA (on stdin) 19:26:58.298378 > 29 bytes data, server => client 19:26:58.298387 '150 Binary junk (17 bytes).\r\n' 19:26:58.298827 Received DATA (on stdin) 19:26:58.298838 > 28 bytes data, server => client 19:26:58.298847 '226 File transfer complete\r\n' 19:26:58.347644 < 6 bytes data, client => server 19:26:58.347679 'QUIT\r\n' 19:26:58.348455 Received DATA (on stdin) 19:26:58.348469 > 18 bytes data, server => client 19:26:58.348480 '221 bye bye baby\r\n' 19:26:58.349710 ====> Client disconnect 19:26:58.350148 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:58.297044 Running IPv4 version 19:26:58.297115 Listening on port 43583 19:26:58.297159 Wrote pid 110819 to log/15/server/ftp_sockdata.pid 19:26:58.297314 Received PING (on stdin) 19:26:58.297395 Received PORT (on stdin) 19:26:58.297786 ====> Client connect 19:26:58.298436 Received DATA (on stdin) 19:26:58.298447 > 17 bytes data, server => client 19:26:58.298456 'WE ROOLZ: 84744\r\n' 19:26:58.298479 Received DISC (on stdin) 19:26:58.298488 ====> Client forcibly disconnected 19:26:58.298601 Received QUIT (on stdin) 19:26:58.298609 quits 19:26:58.298659 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 564 === End of file server.cmd === Start of file socks_server.log 19:26:58.358991 Running IPv4 version 19:26:58.359088 Listening on port 37225 19:26:58.359129 Wrote pid 110886 to log/15/server/socks_server.pid 19:26:58.359165 Wrote port 37225 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind564 ==111147== ==111147== Process terminating with default action of signal 4 (SIGILL) ==111147== Illegal opcode at address 0x51CC63F ==111147== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111147== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111147== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111147== by 0x40041AF: main (first.c:264) === End of file valgrind564 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:38815/580 > log/1/stdout580 2> log/1/stderr580 test 0575 [FTP wildcard download - dup_handle and multi interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:40031/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 575: stdout FAILED: --- log/16/check-expected 2026-10-15 19:27:01.282928840 +0000 +++ log/16/check-generated 2026-10-15 19:27:01.278818376 +0000 @@ -1,15 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/16/ directory after test 575 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:40031/fully_simulated/UNIX/* > log/16/stdout575 2> log/16/stderr575 === End of file commands.log === Start of file ftp_server.log 19:26:59.926554 ====> Client connect 19:26:59.926789 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:26:59.928902 < "USER anonymous" 19:26:59.928946 > "331 We are happy you popped in![CR][LF]" 19:26:59.929134 < "PASS ftp@example.com" 19:26:59.929169 > "230 Welcome you silly person[CR][LF]" 19:26:59.929364 < "PWD" 19:26:59.929403 > "257 "/" is current directory[CR][LF]" 19:26:59.929604 < "EPSV" 19:26:59.929635 ====> Passive DATA channel requested by client 19:26:59.929651 DATA sockfilt for passive data channel starting... 19:26:59.933370 DATA sockfilt for passive data channel started (pid 111255) 19:26:59.933491 DATA sockfilt for passive data channel listens on port 33951 19:26:59.933537 > "229 Entering Passive Mode (|||33951|)[CR][LF]" 19:26:59.933556 Client has been notified that upcoming DATA connection is awaited on port 33951 19:26:59.934134 Client connects to port 33951 19:26:59.934167 ====> Client established passive DATA connection on port 33951 19:26:59.934257 < "TYPE I" 19:26:59.934288 > "200 I modify TYPE as you wanted[CR][LF]" 19:26:59.934466 < "SIZE verifiedserver" 19:26:59.934509 > "213 17[CR][LF]" 19:26:59.938756 < "RETR verifiedserver" 19:26:59.938807 > "150 Binary junk (17 bytes).[CR][LF]" 19:26:59.938908 =====> Closing passive DATA connection... 19:26:59.938926 Server disconnects passive DATA connection 19:26:59.939205 Server disconnected passive DATA connection 19:26:59.939237 DATA sockfilt for passive data channel quits (pid 111255) 19:26:59.939506 DATA sockfilt for passive data channel quit (pid 111255) 19:26:59.939532 =====> Closed passive DATA connection 19:26:59.939566 > "226 File transfer complete[CR][LF]" 19:26:59.992177 < "QUIT" 19:26:59.992232 > "221 bye bye baby[CR][LF]" 19:26:59.993417 MAIN sockfilt said DISC 19:26:59.993462 ====> Client disconnected 19:26:59.993543 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:59.535529 ====> Client connect 19:26:59.535902 Received DATA (on stdin) 19:26:59.535919 > 146 bytes data, server => client 19:26:59.535930 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:59.535940 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:59.535949 '220 \___|\___/|_| \_\_____|\r\n' 19:26:59.537821 < 16 bytes data, client => server 19:26:59.537839 'USER anonymous\r\n' 19:26:59.538046 Received DATA (on stdin) 19:26:59.538059 > 33 bytes data, server => client 19:26:59.538069 '331 We are happy you popped in!\r\n' 19:26:59.538121 < 22 bytes data, client => server 19:26:59.538135 'PASS ftp@example.com\r\n' 19:26:59.538266 Received DATA (on stdin) 19:26:59.538279 > 30 bytes data, server => client 19:26:59.538290 '230 Welcome you silly person\r\n' 19:26:59.538348 < 5 bytes data, client => server 19:26:59.538363 'PWD\r\n' 19:26:59.538501 Received DATA (on stdin) 19:26:59.538514 > 30 bytes data, server => client 19:26:59.538525 '257 "/" is current directory\r\n' 19:26:59.538599 < 6 bytes data, client => server 19:26:59.538614 'EPSV\r\n' 19:26:59.542657 Received DATA (on stdin) 19:26:59.542670 > 39 bytes data, server => client 19:26:59.542680 '229 Entering Passive Mode (|||33951|)\r\n' 19:26:59.543136 < 8 bytes data, client => server 19:26:59.543153 'TYPE I\r\n' 19:26:59.543383 Received DATA (on stdin) 19:26:59.543395 > 33 bytes data, server => client 19:26:59.543405 '200 I modify TYPE as you wanted\r\n' 19:26:59.543464 < 21 bytes data, client => server 19:26:59.543476 'SIZE verifiedserver\r\n' 19:26:59.543604 Received DATA (on stdin) 19:26:59.543615 > 8 bytes data, server => client 19:26:59.543625 '213 17\r\n' 19:26:59.543680 < 21 bytes data, client => server 19:26:59.543693 'RETR verifiedserver\r\n' 19:26:59.548029 Received DATA (on stdin) 19:26:59.548045 > 29 bytes data, server => client 19:26:59.548055 '150 Binary junk (17 bytes).\r\n' 19:26:59.548665 Received DATA (on stdin) 19:26:59.548679 > 28 bytes data, server => client 19:26:59.548689 '226 File transfer complete\r\n' 19:26:59.601113 < 6 bytes data, client => server 19:26:59.601141 'QUIT\r\n' 19:26:59.601342 Received DATA (on stdin) 19:26:59.601353 > 18 bytes data, server => client 19:26:59.601362 '221 bye bye baby\r\n' 19:26:59.602461 ====> Client disconnect 19:26:59.602661 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:26:59.542125 Running IPv4 version 19:26:59.542204 Listening on port 33951 19:26:59.542247 Wrote pid 111255 to log/16/server/ftp_sockdata.pid 19:26:59.542402 Received PING (on stdin) 19:26:59.542493 Received PORT (on stdin) 19:26:59.543176 ====> Client connect 19:26:59.548093 Received DATA (on stdin) 19:26:59.548109 > 17 bytes data, server => client 19:26:59.548119 'WE ROOLZ: 84702\r\n' 19:26:59.548146 Received DISC (on stdin) 19:26:59.548158 ====> Client forcibly disconnected 19:26:59.548346 Received QUIT (on stdin) 19:26:59.548358 quits 19:26:59.548431 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 575 === End of file server.cmd === Start of file valgrind575 ==111291== ==111291== Process terminating with default action of signal 4 (SIGILL) ==111291== Illegal opcode at address 0x51CC63F ==111291== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111291== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111291== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111291== by 0x40041AF: main (first.c:264) === End of file valgrind575 test 0580 [multi interface, multiple Location: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --supprCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:46497/584 > log/19/stdout584 2> log/19/stderr584 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:33935/581 > log/6/stdout581 2> log/6/stderr581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:43739/585 > log/18/stdout585 2> log/18/stderr585 essions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:38815/580 > log/1/stdout580 2> log/1/stderr580 580: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:38815/580 > log/1/stdout580 2> log/1/stderr580 === End of file commands.log === Start of file http_server.log 19:27:00.767854 ====> Client connect 19:27:00.767887 accept_connection 3 returned 4 19:27:00.767908 Read 93 bytes 19:27:00.767917 Process 93 bytes request 19:27:00.767927 Got request: GET /verifiedserver HTTP/1.1 19:27:00.767935 Are-we-friendly question received 19:27:00.767959 Wrote request (93 bytes) input to log/1/server.input 19:27:00.767975 Identifying ourselves as friends 19:27:00.768051 Response sent (56 bytes) and written to log/1/server.response 19:27:00.768062 special request received, no persistency 19:27:00.768071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 56976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind580 ==111543== ==111543== Process terminating with default action of signal 4 (SIGILL) ==111543== Illegal opcode at address 0x51CC63F ==111543== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111543== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111543== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111543== by 0x40041AF: main (first.c:264) === End of file valgrind580 test 0584 [CURLOPT_MIMEPOST first set then set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:46497/584 > log/19/stdout584 2> log/19/stderr584 584: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:46497/584 > log/19/stdout584 2> log/19/stderr584 === End of file commands.log === Start of file http_server.log 19:26:59.909597 ====> Client connect 19:26:59.909631 accept_connection 3 returned 4 19:26:59.909653 Read 93 bytes 19:26:59.909662 Process 93 bytes request 19:26:59.909674 Got request: GET /verifiedserver HTTP/1.1 19:26:59.909682 Are-we-friendly question received 19:26:59.909708 Wrote request (93 bytes) input to log/19/server.input 19:26:59.909724 Identifying ourselves as friends 19:26:59.909794 Response sent (56 bytes) and written to log/19/server.response 19:26:59.909803 special request received, no persistency 19:26:59.909811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 50048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind584 ==111734== ==111734== Process terminating with default action of signal 4 (SIGILL) ==111734== Illegal opcode at address 0x51CC63F ==111734== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111734== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111734== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111734== by 0x40041AF: main (first.c:264) === End of file valgrind584 test 0581 [multi interface, multiple Content-Type: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:33935/581 > log/6/stdout581 2> log/6/stderr581 581: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:33935/581 > log/6/stdout581 2> log/6/stderr581 === End of file commands.log === Start of file http_server.log 19:26:59.765049 ====> Client connect 19:26:59.765091 accept_connection 3 returned 4 19:26:59.765115 Read 93 bytes 19:26:59.765127 Process 93 bytes request 19:26:59.765140 Got request: GET /verifiedserver HTTP/1.1 19:26:59.765149 Are-we-friendly question received 19:26:59.765182 Wrote request (93 bytes) input to log/6/server.input 19:26:59.765202 Identifying ourselves as friends 19:26:59.765281 Response sent (56 bytes) and written to log/6/server.response 19:26:59.765294 special request received, no persistency 19:26:59.765304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 41632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind581 ==111524== ==111524== Process terminating with default action of signal 4 (SIGILL) ==111524== Illegal opcode at address 0x51CC63F ==111524== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111524== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111524== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111524== by 0x40041AF: main (first.c:264) === End of file valgrind581 test 0585 [socket open/close callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:43739/585 > log/18/stdout585 2> log/18/stderr585 585: protocol FAILED! There was no content at allCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:45467/579 log/14/ip579 > log/14/stdout579 2> log/14/stderr579 in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:43739/585 > log/18/stdout585 2> log/18/stderr585 === End of file commands.log === Start of file http_server.log 19:27:01.105637 ====> Client connect 19:27:01.105674 accept_connection 3 returned 4 19:27:01.105698 Read 93 bytes 19:27:01.105708 Process 93 bytes request 19:27:01.105721 Got request: GET /verifiedserver HTTP/1.1 19:27:01.105730 Are-we-friendly question received 19:27:01.105759 Wrote request (93 bytes) input to log/18/server.input 19:27:01.105776 Identifying ourselves as friends 19:27:01.105845 Response sent (56 bytes) and written to log/18/server.response 19:27:01.105856 special request received, no persistency 19:27:01.105864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 58408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind585 ==111873== ==111873== Process terminating with default action of signal 4 (SIGILL) ==111873== Illegal opcode at address 0x51CC63F ==111873== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111873== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111873== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111873== by 0x40041AF: main (first.c:264) === End of file valgrind585 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41879/fully_simulated/UNIX/* > log/8/stdout576 2> log/8/stderr576 test 0579 [small chunked HTTP POSTs with digest auth and progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:45467/579 log/14/ip579 > log/14/stdout579 2> log/14/stderr579 579: data FAILED: --- log/14/check-expected 2026-10-15 19:27:01.603702033 +0000 +++ log/14/check-generated 2026-10-15 19:27:01.598751058 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 100 Continue[CR][LF] -Server: Microsoft-IIS/5.0[CR][LF] -Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] -X-Powered-By: ASP.NET[CR][LF] -[CR][LF] -HTTP/1.1 401 authentication please swsbounce[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 0[CR][LF] -[CR][LF] -HTTP/1.1 200 A OK[CR][LF] -Server: Microsoft-IIS/6.0[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] == Contents of files in the log/14/ directory after test 579 === Start of file check-expected HTTP/1.1 100 Continue[CR][LF] Server: Microsoft-IIS/5.0[CR][LF] Date: Sun, 03 Apr 2005 14:57:45 GMT[CR][LF] X-Powered-By: ASP.NET[CR][LF] [CR][LF] HTTP/1.1 401 authentication please swsbounce[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 0[CR][LF] [CR][LF] HTTP/1.1 200 A OK[CR][LF] Server: Microsoft-IIS/6.0[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:45467/579 log/14/ip579 > log/14/stdout579 2> log/14/stderr579 === End of file commands.log === Start of file http_server.log 19:26:59.739038 ====> Client connect 19:26:59.739075 accept_connection 3 returned 4 19:26:59.739097 Read 93 bytes 19:26:59.739106 Process 93 bytes request 19:26:59.739119 Got request: GET /verifiedserver HTTP/1.1 19:26:59.739127 Are-we-friendly question received 19:26:59.739158 Wrote request (93 bytes) input to log/14/server.input 19:26:59.739178 Identifying ourselves as friends 19:26:59.739250 Response sent (56 bytes) and written to log/14/server.response 19:26:59.739260 special request received, no persistency 19:26:59.739268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 39686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind579 ==111490== ==111490== Process terminating with default action of signal 4 (SIGILL) ==111490== Illegal opcode at address 0x51CC63F ==111490== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111490== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111490== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111490== by 0x40041AF: main (first.c:264) === End of file valgrind579 test 0576 [FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41879/fully_simulated/UNIX/* > log/8/stdout576 2> log/8/stderr576 576: stdout FAILED: --- log/8/check-expected 2026-10-15 19:27:01.619514094 +0000 +++ log/8/check-generated 2026-10-15 19:27:01.615414219 +0000 @@ -1,152 +0,0 @@ -=============================================================[LF] -Remains: 14[LF] -Filename: .[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 5:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 13[LF] -Filename: ..[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 20480B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 12[LF] -Filename: chmod1[LF] -Permissions: r--r--r-- (parsed => 444)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 11 10:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: chmod2[LF] -Permissions: rw-rw-rw- (parsed => 666)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod3[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 38B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Feb 1 8:00[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod4[LF] -Permissions: --S--S--t (parsed => 7001)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod5[LF] -Permissions: --s--s--T (parsed => 7110)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: May 4 4:31[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: empty_file.dat[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: file.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 35B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: link[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:42[LF] -Filetype: symlink[LF] -Target: file.txt[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: link_absolute[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 0B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 6 4:45[LF] -Filetype: symlink[LF] -Target: /data/ftp/file.txt[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Permissions: rwxrwxrwx (parsed => 777)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Jan 23 2:05[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Permissions: rw-r--r-- (parsed => 644)[LF] -Size: 47B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 27 11:01[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Permissions: rwxr-xrwx (parsed => 757)[LF] -Size: 4096B[LF] -User: ftp-default[LF] -Group: ftp-default[LF] -Time: Apr 23 3:12[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/8/ directory after test 576 === Start of file check-expected =============================================================[LF] Remains: 14[LF] Filename: .[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 5:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 13[LF] Filename: ..[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 20480B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] Remains: 12[LF] Filename: chmod1[LF] Permissions: r--r--r-- (parsed => 444)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 11 10:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 11[LF] Filename: chmod2[LF] Permissions: rw-rw-rw- (parsed => 666)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod3[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 38B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Feb 1 8:00[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod4[LF] Permissions: --S--S--t (parsed => 7001)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod5[LF] Permissions: --s--s--T (parsed => 7110)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: May 4 4:31[LF] Filetype: directory[LF] =============================================================[LF] Remains: 7[LF] Filename: empty_file.dat[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 6[LF] Filename: file.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 35B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 5[LF] Filename: link[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:42[LF] Filetype: symlink[LF] Target: file.txt[LF] =============================================================[LF] Remains: 4[LF] Filename: link_absolute[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 0B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 6 4:45[LF] Filetype: symlink[LF] Target: /data/ftp/file.txt[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Permissions: rwxrwxrwx (parsed => 777)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Jan 23 2:05[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Permissions: rw-r--r-- (parsed => 644)[LF] Size: 47B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 27 11:01[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Permissions: rwxr-xrwx (parsed => 757)[LF] Size: 4096B[LF] User: ftp-default[LF] Group: ftp-default[LF] Time: Apr 23 3:12[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:41879/fully_simulated/UNIX/* > log/8/stdout576 2> log/8/stderr576 === End of file commands.log === Start of file ftp_server.log 19:27:00.065376 ====> Client connect 19:27:00.065648 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:00.066045 < "USER anonymous" 19:27:00.066085 > "331 We are happy you popped in![CR][LF]" 19:27:00.066268 < "PASS ftp@example.com" 19:27:00.066302 > "230 Welcome you silly person[CR][LF]" 19:27:00.066485 < "PWD" 19:27:00.066522 > "257 "/" is current directory[CR][LF]" 19:27:00.072170 < "EPSV" 19:27:00.072222 ====> Passive DATA channel requested by client 19:27:00.072242 DATA sockfilt for passive data channel starting... 19:27:00.076721 DATA sockfilt for passive data channel started (pid 111355) 19:27:00.076869 DATA sockfilt for passive data channel listens on port 38237 19:27:00.076921 > "229 Entering Passive Mode (|||38237|)[CR][LF]" 19:27:00.076942 Client has been notified that upcoming DATA connection is awaited on port 38237 19:27:00.077245 Client connects to port 38237 19:27:00.077278 ====> Client established passive DATA connection on port 38237 19:27:00.077372 < "TYPE I" 19:27:00.077407 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:00.077583 < "SIZE verifiedserver" 19:27:00.077621 > "213 17[CR][LF]" 19:27:00.077798 < "RETR verifiedserver" 19:27:00.077839 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:00.077928 =====> Closing passive DATA connection... 19:27:00.077947 Server disconnects passive DATA connection 19:27:00.078179 Server disconnected passive DATA connection 19:27:00.078206 DATA sockfilt for passive data channel quits (pid 111355) 19:27:00.078417 DATA sockfilt for passive data channel quit (pid 111355) 19:27:00.078443 =====> Closed passive DATA connection 19:27:00.078476 > "226 File transfer complete[CR][LF]" 19:27:00.119043 < "QUIT" 19:27:00.119098 > "221 bye bye baby[CR][LF]" 19:27:00.120271 MAIN sockfilt said DISC 19:27:00.120304 ====> Client disconnected 19:27:00.120385 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:26:59.669695 ====> Client connect 19:26:59.674798 Received DATA (on stdin) 19:26:59.674822 > 146 bytes data, server => client 19:26:59.674835 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:26:59.674845 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:26:59.674854 '220 \___|\___/|_| \_\_____|\r\n' 19:26:59.675001 < 16 bytes data, client => server 19:26:59.675017 'USER anonymous\r\n' 19:26:59.675213 Received DATA (on stdin) 19:26:59.675227 > 33 bytes data, server => client 19:26:59.675237 '331 We are happy you popped in!\r\n' 19:26:59.675289 < 22 bytes data, client => server 19:26:59.675303 'PASS ftp@example.com\r\n' 19:26:59.675428 Received DATA (on stdin) 19:26:59.675440 > 30 bytes data, server => client 19:26:59.675450 '230 Welcome you silly person\r\n' 19:26:59.675512 < 5 bytes data, client => server 19:26:59.675526 'PWD\r\n' 19:26:59.675646 Received DATA (on stdin) 19:26:59.675659 > 30 bytes data, server => client 19:26:59.675669 '257 "/" is current directory\r\n' 19:26:59.675734 < 6 bytes data, client => server 19:26:59.675748 'EPSV\r\n' 19:26:59.686078 Received DATA (on stdin) 19:26:59.686096 > 39 bytes data, server => client 19:26:59.686107 '229 Entering Passive Mode (|||38237|)\r\n' 19:26:59.686284 < 8 bytes data, client => server 19:26:59.686300 'TYPE I\r\n' 19:26:59.686535 Received DATA (on stdin) 19:26:59.686547 > 33 bytes data, server => client 19:26:59.686558 '200 I modify TYPE as you wanted\r\n' 19:26:59.686614 < 21 bytes data, client => server 19:26:59.686628 'SIZE verifiedserver\r\n' 19:26:59.686747 Received DATA (on stdin) 19:26:59.686759 > 8 bytes data, server => client 19:26:59.686769 '213 17\r\n' 19:26:59.686831 < 21 bytes data, client => server 19:26:59.686844 'RETR verifiedserver\r\n' 19:26:59.687072 Received DATA (on stdin) 19:26:59.687083 > 29 bytes data, server => client 19:26:59.687093 '150 Binary junk (17 bytes).\r\n' 19:26:59.687605 Received DATA (on stdin) 19:26:59.687618 > 28 bytes data, server => client 19:26:59.687628 '226 File transfer complete\r\n' 19:26:59.72cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:40913/587 > log/10/stdout587 2> log/10/stderr587 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:35869/567 > log/4/stdout567 2> log/4/stderr567 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44711/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 7960 < 6 bytes data, client => server 19:26:59.727990 'QUIT\r\n' 19:26:59.728233 Received DATA (on stdin) 19:26:59.728245 > 18 bytes data, server => client 19:26:59.728254 '221 bye bye baby\r\n' 19:26:59.729354 ====> Client disconnect 19:26:59.729522 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:00.685627 Running IPv4 version 19:27:00.685713 Listening on port 38237 19:27:00.685752 Wrote pid 111355 to log/8/server/ftp_sockdata.pid 19:27:00.685775 Received PING (on stdin) 19:27:00.685889 Received PORT (on stdin) 19:27:00.686321 ====> Client connect 19:27:00.687150 Received DATA (on stdin) 19:27:00.687162 > 17 bytes data, server => client 19:27:00.687172 'WE ROOLZ: 84824\r\n' 19:27:00.687197 Received DISC (on stdin) 19:27:00.687207 ====> Client forcibly disconnected 19:27:00.687341 Received QUIT (on stdin) 19:27:00.687353 quits 19:27:00.687406 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 576 === End of file server.cmd === Start of file valgrind576 ==111503== ==111503== Process terminating with default action of signal 4 (SIGILL) ==111503== Illegal opcode at address 0x51CC63F ==111503== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111503== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111503== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111503== by 0x40041AF: main (first.c:264) === End of file valgrind576 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/4/server/rtsp_server.pid" --portfile "log/4/server/rtsp_server.port" --logfile "log/4/rtsp_server.log" --logdir "log/4" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111069 port 35869 * pid rtsp => 111069 111069 test 0567 [simple RTSP OPTIONS command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:35869/567 > log/4/stdout567 2> log/4/stderr567 567: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:35869/567 > log/4/stdout567 2> log/4/stderr567 === End of file commands.log === Start of file rtsp_server.log 19:26:59.736553 Running IPv4 version on port 35869 19:26:59.736774 Wrote pid 111069 to log/4/server/rtsp_server.pid 19:26:59.736809 Wrote port 35869 to log/4/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 567 === End of file server.cmd === Start of file valgrind567 ==111401== ==111401== Process terminating with default action of signal 4 (SIGILL) ==111401== Illegal opcode at address 0x51CC63F ==111401== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111401== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111401== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111401== by 0x40041AF: main (first.c:264) === End of file valgrind567 cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45539/568 log/13/file568.txt > log/13/stdout568 2> log/13/stderr568 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:41549/586 > log/20/stdout586 2> log/20/stderr586 test 0578 [HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44711/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 578: data FAILED: --- log/23/check-expected 2026-10-15 19:27:01.817292799 +0000 +++ log/23/check-generated 2026-10-15 19:27:01.812039514 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/23/ directory after test 578 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:44711/578 log/23/ip578 > log/23/stdout578 2> log/23/stderr578 === End of file commands.log === Start of file http_server.log 19:26:59.676989 ====> Client connect 19:26:59.677018 accept_connection 3 returned 4 19:26:59.677037 Read 93 bytes 19:26:59.677046 Process 93 bytes request 19:26:59.677058 Got request: GET /verifiedserver HTTP/1.1 19:26:59.677066 Are-we-friendly question received 19:26:59.677090 Wrote request (93 bytes) input to log/23/server.input 19:26:59.677105 Identifying ourselves as friends 19:26:59.677157 Response sent (56 bytes) and written to log/23/server.response 19:26:59.677165 special request received, no persistency 19:26:59.677173 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 33090 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind578 ==111403== ==111403== Process terminating with default action of signal 4 (SIGILL) ==111403== Illegal opcode at address 0x51CC63F ==111403== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111403== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111403== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111403== by 0x40041AF: main (first.c:264) === End of file valgrind578 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/13/server/rtsp_server.pid" --portfile "log/13/server/rtsp_server.port" --logfile "log/13/rtsp_server.log" --logdir "log/13" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111131 port 45539 * pid rtsp => 111131 111131 test 0568 [RTSP Announce (PUT and POST style) test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45539/568 log/13/file568.txt > log/13/stdout568 2> log/13/stderr568 568: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45539/568 log/13/file568.txt > log/13/stdout568 2> log/13/stderr568 === End of file commands.log === Start of file file568.txt v=0 o=mhandley 2890844526 2890845468 IN IP4 126.16.64.4 s=SDP Seminar i=A Seminar on the session description protocol u=something something something something something e=once upon the time we knew c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 === End of file file568.txt === Start of file rtsp_server.log 19:26:59.161107 Running IPv4 version on port 45539 19:26:59.161237 Wrote pid 111131 to log/13/server/rtsp_server.pid 19:26:59.161275 Wrote port 45539 to log/13/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 568 === End of file server.cmd === Start of file valgrind568 ==111902== ==111902== Process terminating with default action of signal 4 (SIGILL) ==111902== Illegal opcode at address 0x51CC63F ==111902== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111902== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111902== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111902== by 0x40041AF: main (first.c:264) === End of file valgrind568 test 0586 [FTP and open/close socket callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:41549/586 > log/20/stdout586 2> log/20/stderr586 586: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 586 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:41549/586 > log/20/stdout586 2> log/20/stderr586 === End of file commands.log === Start of file ftp_server.log 19:27:00.525377 ====> Client connect 19:27:00.525682 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:00.526073 < "USER anonymous" 19:27:00.526121 > "331 We are happy you popped in![CR][LF]" 19:27:00.526340 < "PASS ftp@example.com" 19:27:00.526375 > "230 Welcome you silly person[CR][LF]" 19:27:00.526569 < "PWD" 19:27:00.526610 > "257 "/" is current directory[CR][LF]" 19:27:00.526815 < "EPSV" 19:27:00.526843 ====> Passive DATA channel requested by client 19:27:00.526860 DATA sockfilt for passive data channel starting... 19:27:00.533517 DATA sockfilt for passive data channel started (pid 111880) 19:27:00.533675 DATA sockfilt for passive data channel listens on port 42909 19:27:00.533737 > "229 Entering Passive Mode (|||42909|)[CR][LF]" 19:27:00.533763 Client has been notified that upcoming DATA connection is awaited on port 42909 19:27:00.534132 Client connects to port 42909 19:27:00.534169 ====> Client established passive DATA connection on port 42909 19:27:00.534279 < "TYPE I" 19:27:00.534316 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:00.534509 < "SIZE verifiedserver" 19:27:00.534555 > "213 17[CR][LF]" 19:27:00.534754 < "RETR verifiedserver" 19:27:00.534797 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:00.5349cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33577/570 > log/2/stdout570 2> log/2/stderr570 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43115/571 log/12/protofile571.txt > log/12/stdout571 2> log/12/stderr571 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36439/569 log/7/idfile569.txt > log/7/stdout569 2> log/7/stderr569 04 =====> Closing passive DATA connection... 19:27:00.534930 Server disconnects passive DATA connection 19:27:00.535119 Server disconnected passive DATA connection 19:27:00.535148 DATA sockfilt for passive data channel quits (pid 111880) 19:27:00.535418 DATA sockfilt for passive data channel quit (pid 111880) 19:27:00.535449 =====> Closed passive DATA connection 19:27:00.535481 > "226 File transfer complete[CR][LF]" 19:27:00.582671 < "QUIT" 19:27:00.582728 > "221 bye bye baby[CR][LF]" 19:27:00.586416 MAIN sockfilt said DISC 19:27:00.586460 ====> Client disconnected 19:27:00.586538 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.126866 ====> Client connect 19:27:00.134936 Received DATA (on stdin) 19:27:00.134961 > 146 bytes data, server => client 19:27:00.134973 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.134983 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.134993 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.135127 < 16 bytes data, client => server 19:27:00.135144 'USER anonymous\r\n' 19:27:00.135351 Received DATA (on stdin) 19:27:00.135364 > 33 bytes data, server => client 19:27:00.135375 '331 We are happy you popped in!\r\n' 19:27:00.135444 < 22 bytes data, client => server 19:27:00.135460 'PASS ftp@example.com\r\n' 19:27:00.135600 Received DATA (on stdin) 19:27:00.135612 > 30 bytes data, server => client 19:27:00.135623 '230 Welcome you silly person\r\n' 19:27:00.135686 < 5 bytes data, client => server 19:27:00.135700 'PWD\r\n' 19:27:00.135836 Received DATA (on stdin) 19:27:00.135849 > 30 bytes data, server => client 19:27:00.135859 '257 "/" is current directory\r\n' 19:27:00.135934 < 6 bytes data, client => server 19:27:00.135950 'EPSV\r\n' 19:27:00.143002 Received DATA (on stdin) 19:27:00.143022 > 39 bytes data, server => client 19:27:00.143033 '229 Entering Passive Mode (|||42909|)\r\n' 19:27:00.143259 < 8 bytes data, client => server 19:27:00.143278 'TYPE I\r\n' 19:27:00.143541 Received DATA (on stdin) 19:27:00.143554 > 33 bytes data, server => client 19:27:00.143564 '200 I modify TYPE as you wanted\r\n' 19:27:00.143626 < 21 bytes data, client => server 19:27:00.143639 'SIZE verifiedserver\r\n' 19:27:00.143784 Received DATA (on stdin) 19:27:00.143796 > 8 bytes data, server => client 19:27:00.143807 '213 17\r\n' 19:27:00.143870 < 21 bytes data, client => server 19:27:00.143886 'RETR verifiedserver\r\n' 19:27:00.144158 Received DATA (on stdin) 19:27:00.144172 > 29 bytes data, server => client 19:27:00.144182 '150 Binary junk (17 bytes).\r\n' 19:27:00.144708 Received DATA (on stdin) 19:27:00.144721 > 28 bytes data, server => client 19:27:00.144731 '226 File transfer complete\r\n' 19:27:00.191690 < 6 bytes data, client => server 19:27:00.191727 'QUIT\r\n' 19:27:00.192206 Received DATA (on stdin) 19:27:00.192227 > 18 bytes data, server => client 19:27:00.192238 '221 bye bye baby\r\n' 19:27:00.195585 ====> Client disconnect 19:27:00.195769 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:00.142066 Running IPv4 version 19:27:00.142163 Listening on port 42909 19:27:00.142216 Wrote pid 111880 to log/20/server/ftp_sockdata.pid 19:27:00.142657 Received PING (on stdin) 19:27:00.142786 Received PORT (on stdin) 19:27:00.143303 ====> Client connect 19:27:00.144213 Received DATA (on stdin) 19:27:00.144227 > 17 bytes data, server => client 19:27:00.144237 'WE ROOLZ: 84833\r\n' 19:27:00.144267 Received DISC (on stdin) 19:27:00.144283 ====> Client forcibly disconnected 19:27:00.144382 Received QUIT (on stdin) 19:27:00.144396 quits 19:27:00.144470 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 586 === End of file server.cmd === Start of file valgrind586 ==111925== ==111925== Process terminating with default action of signal 4 (SIGILL) ==111925== Illegal opcode at address 0x51CC63F ==111925== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111925== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111925== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111925== by 0x40041AF: main (first.c:264) === End of file valgrind586 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/2/server/rtsp_server.pid" --portfile "log/2/server/rtsp_server.port" --logfile "log/2/rtsp_server.log" --logdir "log/2" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111139 port 33577 * pid rtsp => 111139 111139 test 0570 [RTSP CSeq and Session Mismatch checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33577/570 > log/2/stdout570 2> log/2/stderr570 570: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:33577/570 > log/2/stdout570 2> log/2/stderr570 === End of file commands.log === Start of file rtsp_server.log 19:26:59.253457 Running IPv4 version on port 33577 19:26:59.253583 Wrote pid 111139 to log/2/server/rtsp_server.pid 19:26:59.253618 Wrote port 33577 to log/2/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 570 === End of file server.cmd === Start of file valgrind570 ==111972== ==111972== Process terminating with default action of signal 4 (SIGILL) ==111972== Illegal opcode at address 0x51CC63F ==111972== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111972== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111972== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111972== by 0x40041AF: main (first.c:264) === End of file valgrind570 cannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:40989/589 > log/11/stdout589 2> log/11/stderr589 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/12/server/rtsp_server.pid" --portfile "log/12/server/rtsp_server.port" --logfile "log/12/rtsp_server.log" --logdir "log/12" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111141 port 43115 * pid rtsp => 111141 111141 test 0571 [RTSP RTP Interleaving Test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43115/571 log/12/protofile571.txt > log/12/stdout571 2> log/12/stderr571 571: stdout FAILED: --- log/12/check-expected 2026-10-15 19:27:02.046654419 +0000 +++ log/12/check-generated 2026-10-15 19:27:02.045323793 +0000 @@ -1,20 +0,0 @@ -RTP: message size 10, channel 1[LF] -RTP: message size 500, channel 0[LF] -RTP: message size 196, channel 0[LF] -RTP: message size 124, channel 0[LF] -RTP: message size 824, channel 0[LF] -RTP: message size 12, channel 0[LF] -RTP: message size 10, channel 1[LF] -RTP: message size 50, channel 0[LF] -RTP: message size 798, channel 0[LF] -RTP: message size 42, channel 0[LF] -RTP: message size 30, channel 1[LF] -RTP: message size 2048, channel 0[LF] -RTP: message size 85, channel 0[LF] -RTP: message size 24, channel 1[LF] -RTP: message size 13, channel 0[LF] -RTP: message size 33, channel 0[LF] -RTP: message size 127, channel 0[LF] -RTP: message size 35, channel 1[LF] -RTP PAYLOAD END CORRUPTED (11), [$][LF] -RTP: message size 63, channel 0[LF] == Contents of files in the log/12/ directory after test 571 === Start of file check-expected RTP: message size 10, channel 1[LF] RTP: message size 500, channel 0[LF] RTP: message size 196, channel 0[LF] RTP: message size 124, channel 0[LF] RTP: message size 824, channel 0[LF] RTP: message size 12, channel 0[LF] RTP: message size 10, channel 1[LF] RTP: message size 50, channel 0[LF] RTP: message size 798, channel 0[LF] RTP: message size 42, channel 0[LF] RTP: message size 30, channel 1[LF] RTP: message size 2048, channel 0[LF] RTP: message size 85, channel 0[LF] RTP: message size 24, channel 1[LF] RTP: message size 13, channel 0[LF] RTP: message size 33, channel 0[LF] RTP: message size 127, channel 0[LF] RTP: message size 35, channel 1[LF] RTP PAYLOAD END CORRUPTED (11), [$][LF] RTP: message size 63, channel 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:43115/571 log/12/protofile571.txt > log/12/stdout571 2> log/12/stderr571 === End of file commands.log === Start of file rtsp_server.log 19:26:59.281761 Running IPv4 version on port 43115 19:26:59.281910 Wrote pid 111141 to log/12/server/rtsp_server.pid 19:26:59.281956 Wrote port 43115 to log/12/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd rtp: part 2 channel 1 size 10 rtp: part 2 channel 0 size 500 rtp: part 2 channel 0 size 196 rtp: part 2 channel 0 size 124 rtp: part 2 channel 0 size 824 rtp: part 2 channel 0 size 18 size_err -6 rtp: part 3 channel 1 size 10 rtp: part 3 channel 0 size 50 rtp: part 4 channel 0 size 798 rtp: part 4 channel 0 size 42 rtp: part 4 channel 1 size 30 rtp: part 4 channel 0 size 2048 rtp: part 4 channel 0 size 85 rtp: part 4 channel 1 size 24 rtp: part 4 channel 0 size 17 size_err -4 rtp: part 4 channel 0 size 33 rtp: part 4 channel 0 size 127 rtp: part 4 channel 1 size 24 size_err 11 rtp: part 4 channel 0 size 37 rtp: part 4 channel 0 size 63 Testnum 571 === End of file server.cmd === Start of file valgrind571 ==112048== ==112048== Process terminating with default action of signal 4 (SIGILL) ==112048== Illegal opcode at address 0x51CC63F ==112048== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112048== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112048== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112048== by 0x40041AF: main (first.c:264) === End of file valgrind571 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/7/server/rtsp_server.pid" --portfile "log/7/server/rtsp_server.port" --logfile "log/7/rtsp_server.log" --logdir "log/7" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111137 port 36439 * pid rtsp => 111137 111137 test 0569 [RTSP Session ID parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36439/569 log/7/idfile569.txt > log/7/stdout569 2> log/7/stderr569 569: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:36439/569 log/7/idfile569.txt > log/7/stdout569 2> log/7/stderr569 === End of file commands.log === Start of file rtsp_server.log 19:26:59.238199 Running IPv4 version on port 36439 19:26:59.238322 Wrote pid 111137 to log/7/server/rtsp_server.pid 19:26:59.238361 Wrote port 36439 to log/7/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 569 === End of file server.cmd === Start of file valgrind569 ==111984== ==111984== Process terminating with default action of signal 4 (SIGILL) ==111984== Illegal opcode at address 0x51CC63F ==111984== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111984== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111984== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111984== by 0x40041AF: main (first.c:264) === End of file valgrind569 test 0589 [make an HTTP MIME POST set to NULL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:40989/589 > log/11/stdout589 2> log/11/stderr589 589: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 589 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:40989/589 > log/11/stdout589 2> log/11/stderr589 === End of file commands.log === Start of file http_server.log 19:27:00.320352 ====> Client connect 19:27:00.320400 accept_connection 3 returned 4 19:27:00.320572 Read 93 bytes 19:27:00.320589 Process 93 bytes request 19:27:00.320602 Got request: GET /verifiedserver HTTP/1.1 19:27:00.320612 Are-we-friendly question received 19:27:00.320647 Wrote request (93 bytes) input to log/11/server.input 19:27:00.320666 Identifying ourselves as friends 19:27:00.320735 Response sent (56 bytes) and written to log/11/server.response 19:27:00.320747 special request received, no persistency 19:27:00.320755 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 35140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.locannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46137/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:42675/577 > log/9/stdout577 2> log/9/stderr577 cannot find sshd g === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 589 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind589 ==112156== ==112156== Process terminating with default action of signal 4 (SIGILL) ==112156== Illegal opcode at address 0x51CC63F ==112156== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112156== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112156== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112156== by 0x40041AF: main (first.c:264) === End of file valgrind589 test 0588 [FTP PORT upload using multi interface, EPRT does not work] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46137/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 588: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:46137/path/588 log/17/upload588 > log/17/stdout588 2> log/17/stderr588 === End of file commands.log === Start of file ftp_server.log 19:27:00.571787 ====> Client connect 19:27:00.572077 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:00.583175 < "USER anonymous" 19:27:00.583227 > "331 We are happy you popped in![CR][LF]" 19:27:00.583415 < "PASS ftp@example.com" 19:27:00.583453 > "230 Welcome you silly person[CR][LF]" 19:27:00.583651 < "PWD" 19:27:00.583692 > "257 "/" is current directory[CR][LF]" 19:27:00.583897 < "EPSV" 19:27:00.583929 ====> Passive DATA channel requested by client 19:27:00.583945 DATA sockfilt for passive data channel starting... 19:27:00.586412 DATA sockfilt for passive data channel started (pid 111900) 19:27:00.586531 DATA sockfilt for passive data channel listens on port 41123 19:27:00.586578 > "229 Entering Passive Mode (|||41123|)[CR][LF]" 19:27:00.586601 Client has been notified that upcoming DATA connection is awaited on port 41123 19:27:00.588899 Client connects to port 41123 19:27:00.588936 ====> Client established passive DATA connection on port 41123 19:27:00.589034 < "TYPE I" 19:27:00.589074 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:00.589275 < "SIZE verifiedserver" 19:27:00.589324 > "213 17[CR][LF]" 19:27:00.589507 < "RETR verifiedserver" 19:27:00.589546 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:00.589650 =====> Closing passive DATA connection... 19:27:00.589671 Server disconnects passive DATA connection 19:27:00.589939 Server disconnected passive DATA connection 19:27:00.589971 DATA sockfilt for passive data channel quits (pid 111900) 19:27:00.590213 DATA sockfilt for passive data channel quit (pid 111900) 19:27:00.590242 =====> Closed passive DATA connection 19:27:00.590273 > "226 File transfer complete[CR][LF]" 19:27:00.635512 < "QUIT" 19:27:00.635563 > "221 bye bye baby[CR][LF]" 19:27:00.636651 MAIN sockfilt said DISC 19:27:00.636692 ====> Client disconnected 19:27:00.636780 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.180868 ====> Client connect 19:27:00.181330 Received DATA (on stdin) 19:27:00.181345 > 146 bytes data, server => client 19:27:00.181357 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.181367 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.181377 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.192210 < 16 bytes data, client => server 19:27:00.192231 'USER anonymous\r\n' 19:27:00.192462 Received DATA (on stdin) 19:27:00.192474 > 33 bytes data, server => client 19:27:00.192483 '331 We are happy you popped in!\r\n' 19:27:00.192542 < 22 bytes data, client => server 19:27:00.192553 'PASS ftp@example.com\r\n' 19:27:00.192690 Received DATA (on stdin) 19:27:00.192704 > 30 bytes data, server => client 19:27:00.192714 '230 Welcome you silly person\r\n' 19:27:00.192779 < 5 bytes data, client => server 19:27:00.192793 'PWD\r\n' 19:27:00.192928 Received DATA (on stdin) 19:27:00.192941 > 30 bytes data, server => client 19:27:00.192952 '257 "/" is current directory\r\n' 19:27:00.193026 < 6 bytes data, client => server 19:27:00.193042 'EPSV\r\n' 19:27:00.195840 Received DATA (on stdin) 19:27:00.195854 > 39 bytes data, server => client 19:27:00.195865 '229 Entering Passive Mode (|||41123|)\r\n' 19:27:00.198034 < 8 bytes data, client => server 19:27:00.198053 'TYPE I\r\n' 19:27:00.198313 Received DATA (on stdin) 19:27:00.198327 > 33 bytes data, server => client 19:27:00.198337 '200 I modify TYPE as you wanted\r\n' 19:27:00.198406 < 21 bytes data, client => server 19:27:00.198420 'SIZE verifiedserver\r\n' 19:27:00.198562 Received DATA (on stdin) 19:27:00.198575 > 8 bytes data, server => client 19:27:00.198585 '213 17\r\n' 19:27:00.198645 < 21 bytes data, client => server 19:27:00.198658 'RETR verifiedserver\r\n' 19:27:00.198907 Received DATA (on stdin) 19:27:00.198921 > 29 bytes data, server => client 19:27:00.198932 '150 Binary junk (17 bytes).\r\n' 19:27:00.199511 Received DATA (on stdin) 19:27:00.199525 > 28 bytes data, server => client 19:27:00.199535 '226 File transfer complete\r\n' 19:27:00.244580 < 6 bytes data, client => server 19:27:00.244611 'QUIT\r\n' 19:27:00.244808 Received DATA (on stdin) 19:27:00.244819 > 18 bytes data, server => client 19:27:00.244828 '221 bye bye baby\r\n' 19:27:00.245832 ====> Client disconnect 19:27:00.246022 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:00.195081 Running IPv4 version 19:27:00.195156 Listening on port 41123 19:27:00.195194 Wrote pid 111900 to log/17/server/ftp_sockdata.pid 19:27:00.195575 Received PING (on stdin) 19:27:00.195670 Received PORT (on stdin) 19:27:00.198079 ====> Client connect 19:27:00.198995 Received DATA (on stdin) 19:27:00.199011 > 17 bytes data, server => client 19:27:00.199021 'WE ROOLZ: 84749\r\n' 19:27:00.199052 Received DISC (on stdin) 19:27:00.199065 ====> Client forcibly disconnected 19:27:00.199216 Received QUIT (on stdin) 19:27:00.199228 quits 19:27:00.199296 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPRT 500 we don't like EPRT now Testnum 588 === End of file server.cmd === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==112021== ==112021== Process terminating with default action of signal 4 (SIGILL) ==112021== Illegal opcode at address 0x51CC63F ==112021== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112021== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112021== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112021== by 0x40041AF: main (first.c:264) === End of file valgrind588 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/9/server/rtsp_server.pid" --portfile "log/9/server/rtsp_server.port" --logfile "log/9/rtsp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111274 port 42675 * pid rtsp => 111274 111274 test 0577 [Funny RTSP version in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:42675/577 > log/9/stdout577 2> log/9/stderr577 577: protocol FAILED! There was no content at all in the file loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:33101/572 log/3/file572.txt > log/3/stdout572 2> log/3/stderr572 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:39641/path/591 8 log/5/upload591 > log/5/stdout591 2> log/5/stderr591 g/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:42675/577 > log/9/stdout577 2> log/9/stderr577 === End of file commands.log === Start of file rtsp_server.log 19:27:00.626673 Running IPv4 version on port 42675 19:27:00.626771 Wrote pid 111274 to log/9/server/rtsp_server.pid 19:27:00.626807 Wrote port 42675 to log/9/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 577 === End of file server.cmd === Start of file valgrind577 ==112383== ==112383== Process terminating with default action of signal 4 (SIGILL) ==112383== Illegal opcode at address 0x51CC63F ==112383== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112383== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112383== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112383== by 0x40041AF: main (first.c:264) === End of file valgrind577 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/3/server/rtsp_server.pid" --portfile "log/3/server/rtsp_server.port" --logfile "log/3/rtsp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111152 port 33101 * pid rtsp => 111152 111152 test 0572 [RTSP GET_PARAMETER (Put/Heartbeat/Post)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:33101/572 log/3/file572.txt > log/3/stdout572 2> log/3/stderr572 572: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:33101/572 log/3/file572.txt > log/3/stdout572 2> log/3/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 19:26:59.433908 Running IPv4 version on port 33101 19:26:59.433997 Wrote pid 111152 to log/3/server/rtsp_server.pid 19:26:59.434026 Wrote port 33101 to log/3/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 572 === End of file server.cmd === Start of file valgrind572 ==112272== ==112272== Process terminating with default action of signal 4 (SIGILL) ==112272== Illegal opcode at address 0x51CC63F ==112272== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112272== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112272== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112272== by 0x40041AF: main (first.c:264) === End of file valgrind572 test 0591 [FTP multi PORT and 425 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:39641/path/591 8 log/5/upload591 > log/5/stdout591 2> log/5/stderr591 591: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:39641/path/591 8 log/5/upload591 > log/5/stdout591 2> log/5/stderr591 === End of file commands.log === Start of file ftp_server.log 19:27:01.087210 ====> Client connect 19:27:01.087414 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:01.087688 < "USER anonymous" 19:27:01.087721 > "331 We are happy you popped in![CR][LF]" 19:27:01.087878 < "PASS ftp@example.com" 19:27:01.087902 > "230 Welcome you silly person[CR][LF]" 19:27:01.088045 < "PWD" 19:27:01.088076 > "257 "/" is current directory[CR][LF]" 19:27:01.088226 < "EPSV" 19:27:01.088251 ====> Passive DATA channel requested by client 19:27:01.088264 DATA sockfilt for passive data channel starting... 19:27:01.090131 DATA sockfilt for passive data channel started (pid 112418) 19:27:01.090235 DATA sockfilt for passive data channel listens on port 41151 19:27:01.090274 > "229 Entering Passive Mode (|||41151|)[CR][LF]" 19:27:01.090291 Client has been notified that upcoming DATA connection is awaited on port 41151 19:27:01.090510 Client connects to port 41151 19:27:01.090540 ====> Client established passive DATA connection on port 41151 19:27:01.090610 < "TYPE I" 19:27:01.090636 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.090787 < "SIZE verifiedserver" 19:27:01.090819 > "213 17[CR][LF]" 19:27:01.090960 < "RETR verifiedserver" 19:27:01.090991 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.091079 =====> Closing passive DATA connection... 19:27:01.091095 Server disconnects passive DATA connection 19:27:01.091302 Server disconnected passive DATA connection 19:27:01.091329 DATA sockfilt for passive data channel quits (pid 112418) 19:27:01.091545 DATA sockfilt for passive data channel quit (pid 112418) 19:27:01.091567 =====> Closed passive DATA connection 19:27:01.091590 > "226 File transfer complete[CR][LF]" 19:27:01.142148 < "QUIT" 19:27:01.142214 > "221 bye bye baby[CR][LF]" 19:27:01.143488 MAIN sockfilt said DISC 19:27:01.143535 ====> Client disconnected 19:27:01.143629 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.696415 ====> Client connect 19:27:00.696762 Received DATA (on stdin) 19:27:00.696776 > 146 bytes data, server => client 19:27:00.696788 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.696798 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.696806 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.696882 < 16 bytes data, client => server 19:27:00.696893 'USER anonymous\r\n' 19:27:00.697059 Received DATA (on stdin) 19:27:00.697070 > 33 bytes data, server => client 19:27:00.697080 '331 We are happy you popped in!\r\n' 19:27:00.697131 < 22 bytes data, client => server 19:27:00.697142 'PASS ftp@example.com\r\n' 19:27:00.697236 Received DATA (on stdin) 19:27:00.697246 > 30 bytes data, server => client 19:27:00.697256 '230 Welcome you silly person\r\n' 19:27:00.697303 < 5 bytes data, client => server 19:27:00.697313 'PWD\r\n' 19:27:00.697411 Received DATA (on stdin) 19:27:00.697421 > 30 bytes data, server => client 19:27:00.697431 '257 "/" is current directory\r\n' 19:27:00.697486 < 6 bytes data, client => server 19:27:00.697495 'EPSV\r\n' 19:27:00.699632 Received DATA (on stdin) 19:27:00.699643 > 39 bytes data, server => client 19:27:00.699654 '229 Entering Passive Mode (|||41151|)\r\n' 19:27:00.699771 < 8 bytes data, client => server 19:27:00.699783 'TYPE I\r\n' 19:27:00.699973 Received DATA (on stdin) 19:27:00.699984 > 33 bytes data, server => client 19:27:00.699994 '200 I modify TYPE as you wanted\r\n' 19:27:00.700044 < 21 bytes data, client => server 19:27:00.700054 'SIZE verifiedserver\r\n' 19:27:00.700154 Received DATA (on stdin) 19:27:00.700164 > 8 bytes data, server => client 19:27:00.700174 '213 17\r\n' 19:27:00.700220 < 21 bytes data, client => server 19:27:00.700230 'RETR verifiedserver\r\n' 19:27:00.700432 Received DATA (on stdin) 19:27:00.700442 > 29 bytes data, server => client 1cannot find sshd cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35787/path/592 8 log/21/upload592 > log/21/stdout592 2> log/21/stderr592 9:27:00.700452 '150 Binary junk (17 bytes).\r\n' 19:27:00.700927 Received DATA (on stdin) 19:27:00.700939 > 28 bytes data, server => client 19:27:00.700949 '226 File transfer complete\r\n' 19:27:00.748134 < 6 bytes data, client => server 19:27:00.748166 'QUIT\r\n' 19:27:00.751581 Received DATA (on stdin) 19:27:00.751599 > 18 bytes data, server => client 19:27:00.751610 '221 bye bye baby\r\n' 19:27:00.752772 ====> Client disconnect 19:27:00.752992 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.699170 Running IPv4 version 19:27:01.699236 Listening on port 41151 19:27:01.699272 Wrote pid 112418 to log/5/server/ftp_sockdata.pid 19:27:01.699413 Received PING (on stdin) 19:27:01.699491 Received PORT (on stdin) 19:27:01.699803 ====> Client connect 19:27:01.700477 Received DATA (on stdin) 19:27:01.700488 > 17 bytes data, server => client 19:27:01.700498 'WE ROOLZ: 85245\r\n' 19:27:01.700520 Received DISC (on stdin) 19:27:01.700531 ====> Client forcibly disconnected 19:27:01.700674 Received QUIT (on stdin) 19:27:01.700684 quits 19:27:01.700741 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 REPLY EPRT 500 we don't like EPRT now Testnum 591 === End of file server.cmd === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==112450== ==112450== Process terminating with default action of signal 4 (SIGILL) ==112450== Illegal opcode at address 0x51CC63F ==112450== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112450== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112450== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112450== by 0x40041AF: main (first.c:264) === End of file valgrind591 test 0592 [FTP multi PORT and 421 on upload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35787/path/592 8 log/21/upload592 > log/21/stdout592 2> log/21/stderr592 592: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:35787/path/592 8 log/21/upload592 > log/21/stdout592 2> log/21/stderr592 === End of file commands.log === Start of file ftp_server.log 19:27:01.318721 ====> Client connect 19:27:01.319003 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:01.322146 < "USER anonymous" 19:27:01.322203 > "331 We are happy you popped in![CR][LF]" 19:27:01.325560 < "PASS ftp@example.com" 19:27:01.325612 > "230 Welcome you silly person[CR][LF]" 19:27:01.325832 < "PWD" 19:27:01.325879 > "257 "/" is current directory[CR][LF]" 19:27:01.326079 < "EPSV" 19:27:01.326107 ====> Passive DATA channel requested by client 19:27:01.326123 DATA sockfilt for passive data channel starting... 19:27:01.336997 DATA sockfilt for passive data channel started (pid 112534) 19:27:01.337179 DATA sockfilt for passive data channel listens on port 42965 19:27:01.337243 > "229 Entering Passive Mode (|||42965|)[CR][LF]" 19:27:01.337267 Client has been notified that upcoming DATA connection is awaited on port 42965 19:27:01.337609 Client connects to port 42965 19:27:01.337641 ====> Client established passive DATA connection on port 42965 19:27:01.337747 < "TYPE I" 19:27:01.337789 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.338003 < "SIZE verifiedserver" 19:27:01.338054 > "213 17[CR][LF]" 19:27:01.338256 < "RETR verifiedserver" 19:27:01.338303 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.338403 =====> Closing passive DATA connection... 19:27:01.338425 Server disconnects passive DATA connection 19:27:01.338688 Server disconnected passive DATA connection 19:27:01.338718 DATA sockfilt for passive data channel quits (pid 112534) 19:27:01.339015 DATA sockfilt for passive data channel quit (pid 112534) 19:27:01.339043 =====> Closed passive DATA connection 19:27:01.339072 > "226 File transfer complete[CR][LF]" 19:27:01.382447 < "QUIT" 19:27:01.382507 > "221 bye bye baby[CR][LF]" 19:27:01.388757 MAIN sockfilt said DISC 19:27:01.388821 ====> Client disconnected 19:27:01.388909 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.924727 ====> Client connect 19:27:00.928364 Received DATA (on stdin) 19:27:00.928390 > 146 bytes data, server => client 19:27:00.928400 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.928410 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.928418 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.928582 < 16 bytes data, client => server 19:27:00.928598 'USER anonymous\r\n' 19:27:00.931599 Received DATA (on stdin) 19:27:00.931613 > 33 bytes data, server => client 19:27:00.931622 '331 We are happy you popped in!\r\n' 19:27:00.934790 < 22 bytes data, client => server 19:27:00.934812 'PASS ftp@example.com\r\n' 19:27:00.935011 Received DATA (on stdin) 19:27:00.935026 > 30 bytes data, server => client 19:27:00.935037 '230 Welcome you silly person\r\n' 19:27:00.935108 < 5 bytes data, client => server 19:27:00.935124 'PWD\r\n' 19:27:00.935273 Received DATA (on stdin) 19:27:00.935286 > 30 bytes data, server => client 19:27:00.935296 '257 "/" is current directory\r\n' 19:27:00.935368 < 6 bytes data, client => server 19:27:00.935381 'EPSV\r\n' 19:27:00.946671 Received DATA (on stdin) 19:27:00.946689 > 39 bytes data, server => client 19:27:00.946699 '229 Entering Passive Mode (|||42965|)\r\n' 19:27:00.946914 < 8 bytes data, client => server 19:27:00.946932 'TYPE I\r\n' 19:27:00.947186 Received DATA (on stdin) 19:27:00.947200 > 33 bytes data, server => client 19:27:00.947210 '200 I modify TYPE as you wanted\r\n' 19:27:00.947283 < 21 bytes data, client => server 19:27:00.947297 'SIZE verifiedserver\r\n' 19:27:00.947452 Received DATA (on stdin) 19:27:00.947465 > 8 bytes data, server => client 19:27:00.947474 '213 17\r\n' 19:27:00.947540 < 21 bytes data, client => server 19:27:00.947556 'RETR verifiedserver\r\n' 19:27:00.947818 Received DATA (on stdin) 19:27:00.947830 > 29 bytes data, server => client 19:27:00.947840 '150 Binary junk (17 bytes).\r\n' 19:27:00.948464 Received DATA (on stdin) 19:27:00.948477 > 28 bytes data, server => client 19:27:00.948487 '226 File transfer complete\r\n' 19:27:00.991642 < 6 bytes data, client => server 19:27:00.991666 'QUIT\r\n' 19:27:00.991912 Received DATA (on stdin) 19:27:00.991924 > 18 bytes data, server => client 19:27:00.991934 '221 bye bye baby\r\n' 19:27:00.998075 ====> Client disconnect 19:27:00.998318 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.946145 Running IPv4 version 19:27:01.946242 Listening on port 42965 19:27:01.946288 Wrote pid 112534 to log/21/server/ftp_sockdata.pid 19:27:01.946310 Received PING (on stdin) 19:27:01.946452 Received PORT (on stdin) 19:27:01.946952 ====> Client connect 19:27:01.947902 Received DATA (on stdin) 19:27:01.947917 > 17 bytes data, server => client 19:27:01.947927 'WE ROOLZ: 84694\r\n' 19:27:01.947955 Received DISC (on stdin) 19:27:01.947967 ====> Client forcibly disconnected 19:27:01.948122 Received QUIT (on stdin) 19:27:01.948134 quits 19:27:01.948211 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 REPLY EPRT 500 we don't like EPRT now Testnum 592 === End of file server.cmd === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40031/595 log/16/ip595 > log/16/stdout595 2> log/16/stderr595 cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:44883/path/593 8 log/15/upload593 > log/15/stdout593 2> log/15/stderr593 ==112566== ==112566== Process terminating with default action of signal 4 (SIGILL) ==112566== Illegal opcode at address 0x51CC63F ==112566== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112566== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112566== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112566== by 0x40041AF: main (first.c:264) === End of file valgrind592 test 0595 [verify close callbacks with passive FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40031/595 log/16/ip595 > log/16/stdout595 2> log/16/stderr595 595: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:40031/595 log/16/ip595 > log/16/stdout595 2> log/16/stderr595 === End of file commands.log === Start of file ftp_server.log 19:27:01.367637 ====> Client connect 19:27:01.367850 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:01.375567 < "USER anonymous" 19:27:01.375618 > "331 We are happy you popped in![CR][LF]" 19:27:01.375828 < "PASS ftp@example.com" 19:27:01.375853 > "230 Welcome you silly person[CR][LF]" 19:27:01.375996 < "PWD" 19:27:01.376027 > "257 "/" is current directory[CR][LF]" 19:27:01.376182 < "EPSV" 19:27:01.376207 ====> Passive DATA channel requested by client 19:27:01.376220 DATA sockfilt for passive data channel starting... 19:27:01.382220 DATA sockfilt for passive data channel started (pid 112559) 19:27:01.382354 DATA sockfilt for passive data channel listens on port 36481 19:27:01.382404 > "229 Entering Passive Mode (|||36481|)[CR][LF]" 19:27:01.382422 Client has been notified that upcoming DATA connection is awaited on port 36481 19:27:01.382726 Client connects to port 36481 19:27:01.382756 ====> Client established passive DATA connection on port 36481 19:27:01.382846 < "TYPE I" 19:27:01.382873 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.383027 < "SIZE verifiedserver" 19:27:01.383064 > "213 17[CR][LF]" 19:27:01.383209 < "RETR verifiedserver" 19:27:01.383241 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.383337 =====> Closing passive DATA connection... 19:27:01.383352 Server disconnects passive DATA connection 19:27:01.383568 Server disconnected passive DATA connection 19:27:01.383596 DATA sockfilt for passive data channel quits (pid 112559) 19:27:01.383894 DATA sockfilt for passive data channel quit (pid 112559) 19:27:01.383916 =====> Closed passive DATA connection 19:27:01.383948 > "226 File transfer complete[CR][LF]" 19:27:01.428985 < "QUIT" 19:27:01.429042 > "221 bye bye baby[CR][LF]" 19:27:01.430346 MAIN sockfilt said DISC 19:27:01.430381 ====> Client disconnected 19:27:01.430464 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.976899 ====> Client connect 19:27:00.977265 Received DATA (on stdin) 19:27:00.977283 > 146 bytes data, server => client 19:27:00.977294 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.977305 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.977314 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.984740 < 16 bytes data, client => server 19:27:00.984770 'USER anonymous\r\n' 19:27:00.985018 Received DATA (on stdin) 19:27:00.985029 > 33 bytes data, server => client 19:27:00.985040 '331 We are happy you popped in!\r\n' 19:27:00.985137 < 22 bytes data, client => server 19:27:00.985148 'PASS ftp@example.com\r\n' 19:27:00.985249 Received DATA (on stdin) 19:27:00.985259 > 30 bytes data, server => client 19:27:00.985268 '230 Welcome you silly person\r\n' 19:27:00.985315 < 5 bytes data, client => server 19:27:00.985325 'PWD\r\n' 19:27:00.985423 Received DATA (on stdin) 19:27:00.985433 > 30 bytes data, server => client 19:27:00.985443 '257 "/" is current directory\r\n' 19:27:00.985503 < 6 bytes data, client => server 19:27:00.985512 'EPSV\r\n' 19:27:00.991830 Received DATA (on stdin) 19:27:00.991845 > 39 bytes data, server => client 19:27:00.991857 '229 Entering Passive Mode (|||36481|)\r\n' 19:27:00.992044 < 8 bytes data, client => server 19:27:00.992058 'TYPE I\r\n' 19:27:00.992273 Received DATA (on stdin) 19:27:00.992283 > 33 bytes data, server => client 19:27:00.992293 '200 I modify TYPE as you wanted\r\n' 19:27:00.992344 < 21 bytes data, client => server 19:27:00.992354 'SIZE verifiedserver\r\n' 19:27:00.992462 Received DATA (on stdin) 19:27:00.992472 > 8 bytes data, server => client 19:27:00.992482 '213 17\r\n' 19:27:00.992531 < 21 bytes data, client => server 19:27:00.992540 'RETR verifiedserver\r\n' 19:27:00.992752 Received DATA (on stdin) 19:27:00.992763 > 29 bytes data, server => client 19:27:00.992772 '150 Binary junk (17 bytes).\r\n' 19:27:00.993347 Received DATA (on stdin) 19:27:00.993359 > 28 bytes data, server => client 19:27:00.993369 '226 File transfer complete\r\n' 19:27:01.038191 < 6 bytes data, client => server 19:27:01.038223 'QUIT\r\n' 19:27:01.038455 Received DATA (on stdin) 19:27:01.038466 > 18 bytes data, server => client 19:27:01.038476 '221 bye bye baby\r\n' 19:27:01.039703 ====> Client disconnect 19:27:01.039873 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.989731 Running IPv4 version 19:27:01.989823 Listening on port 36481 19:27:01.989869 Wrote pid 112559 to log/16/server/ftp_sockdata.pid 19:27:01.991544 Received PING (on stdin) 19:27:01.991654 Received PORT (on stdin) 19:27:01.992078 ====> Client connect 19:27:01.992797 Received DATA (on stdin) 19:27:01.992808 > 17 bytes data, server => client 19:27:01.992822 'WE ROOLZ: 84702\r\n' 19:27:01.992844 Received DISC (on stdin) 19:27:01.992854 ====> Client forcibly disconnected 19:27:01.993002 Received QUIT (on stdin) 19:27:01.993013 quits 19:27:01.993090 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 595 === End of file server.cmd === Start of file valgrind595 ==112587== ==112587== Process terminating with default action of signal 4 (SIGILL) ==112587== Illegal opcode at address 0x51CC63F ==112587== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112587== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112587== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112587== by 0x40041AF: main (first.c:264) === End of file valgrind595 test 0593 [FTP multi PORT upload, no data conn and no transient neg. reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:44883/path/593 8 log/15/upload593 > log/15/stdout593 2> log/15/stderr593 593: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:44883/path/593 8 log/15/upload593 > log/15/stdout593 2> log/15/stderr593 === End of file commands.log === Start of file ftp_server.log 19:27:01.352408 ====> Client connect 19:27:01.352625 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:40221/596 log/1/ip596 activeftp > log/1/stdout596 2> log/1/stderr596 CR][LF]" 19:27:01.356288 < "USER anonymous" 19:27:01.356334 > "331 We are happy you popped in![CR][LF]" 19:27:01.356561 < "PASS ftp@example.com" 19:27:01.356595 > "230 Welcome you silly person[CR][LF]" 19:27:01.356770 < "PWD" 19:27:01.356803 > "257 "/" is current directory[CR][LF]" 19:27:01.356984 < "EPSV" 19:27:01.357011 ====> Passive DATA channel requested by client 19:27:01.357026 DATA sockfilt for passive data channel starting... 19:27:01.360291 DATA sockfilt for passive data channel started (pid 112553) 19:27:01.360426 DATA sockfilt for passive data channel listens on port 40289 19:27:01.360481 > "229 Entering Passive Mode (|||40289|)[CR][LF]" 19:27:01.360501 Client has been notified that upcoming DATA connection is awaited on port 40289 19:27:01.360761 Client connects to port 40289 19:27:01.360792 ====> Client established passive DATA connection on port 40289 19:27:01.360923 < "TYPE I" 19:27:01.360957 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.361136 < "SIZE verifiedserver" 19:27:01.361177 > "213 17[CR][LF]" 19:27:01.361353 < "RETR verifiedserver" 19:27:01.361388 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.361483 =====> Closing passive DATA connection... 19:27:01.361508 Server disconnects passive DATA connection 19:27:01.361750 Server disconnected passive DATA connection 19:27:01.361782 DATA sockfilt for passive data channel quits (pid 112553) 19:27:01.362049 DATA sockfilt for passive data channel quit (pid 112553) 19:27:01.362075 =====> Closed passive DATA connection 19:27:01.362100 > "226 File transfer complete[CR][LF]" 19:27:01.405653 < "QUIT" 19:27:01.405714 > "221 bye bye baby[CR][LF]" 19:27:01.407018 MAIN sockfilt said DISC 19:27:01.407061 ====> Client disconnected 19:27:01.407150 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:00.961640 ====> Client connect 19:27:00.962294 Received DATA (on stdin) 19:27:00.962317 > 146 bytes data, server => client 19:27:00.962330 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:00.962341 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:00.962350 '220 \___|\___/|_| \_\_____|\r\n' 19:27:00.965500 < 16 bytes data, client => server 19:27:00.965520 'USER anonymous\r\n' 19:27:00.965745 Received DATA (on stdin) 19:27:00.965759 > 33 bytes data, server => client 19:27:00.965770 '331 We are happy you popped in!\r\n' 19:27:00.965855 < 22 bytes data, client => server 19:27:00.965868 'PASS ftp@example.com\r\n' 19:27:00.965994 Received DATA (on stdin) 19:27:00.966006 > 30 bytes data, server => client 19:27:00.966017 '230 Welcome you silly person\r\n' 19:27:00.966075 < 5 bytes data, client => server 19:27:00.966086 'PWD\r\n' 19:27:00.966198 Received DATA (on stdin) 19:27:00.966209 > 30 bytes data, server => client 19:27:00.966219 '257 "/" is current directory\r\n' 19:27:00.966288 < 6 bytes data, client => server 19:27:00.966300 'EPSV\r\n' 19:27:00.969907 Received DATA (on stdin) 19:27:00.969923 > 39 bytes data, server => client 19:27:00.969935 '229 Entering Passive Mode (|||40289|)\r\n' 19:27:00.970207 < 8 bytes data, client => server 19:27:00.970219 'TYPE I\r\n' 19:27:00.970354 Received DATA (on stdin) 19:27:00.970366 > 33 bytes data, server => client 19:27:00.970376 '200 I modify TYPE as you wanted\r\n' 19:27:00.970436 < 21 bytes data, client => server 19:27:00.970450 'SIZE verifiedserver\r\n' 19:27:00.970575 Received DATA (on stdin) 19:27:00.970588 > 8 bytes data, server => client 19:27:00.970598 '213 17\r\n' 19:27:00.970657 < 21 bytes data, client => server 19:27:00.970670 'RETR verifiedserver\r\n' 19:27:00.970907 Received DATA (on stdin) 19:27:00.970919 > 29 bytes data, server => client 19:27:00.970929 '150 Binary junk (17 bytes).\r\n' 19:27:00.971494 Received DATA (on stdin) 19:27:00.971505 > 28 bytes data, server => client 19:27:00.971514 '226 File transfer complete\r\n' 19:27:01.014864 < 6 bytes data, client => server 19:27:01.014899 'QUIT\r\n' 19:27:01.015130 Received DATA (on stdin) 19:27:01.015147 > 18 bytes data, server => client 19:27:01.015157 '221 bye bye baby\r\n' 19:27:01.016362 ====> Client disconnect 19:27:01.016561 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.969237 Running IPv4 version 19:27:01.969412 Listening on port 40289 19:27:01.969455 Wrote pid 112553 to log/15/server/ftp_sockdata.pid 19:27:01.969623 Received PING (on stdin) 19:27:01.969723 Received PORT (on stdin) 19:27:01.970104 ====> Client connect 19:27:01.970958 Received DATA (on stdin) 19:27:01.970971 > 17 bytes data, server => client 19:27:01.970981 'WE ROOLZ: 84744\r\n' 19:27:01.971006 Received DISC (on stdin) 19:27:01.971018 ====> Client forcibly disconnected 19:27:01.971188 Received QUIT (on stdin) 19:27:01.971200 quits 19:27:01.971274 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 REPLY EPRT 500 we don't like EPRT now Testnum 593 === End of file server.cmd === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==112571== ==112571== Process terminating with default action of signal 4 (SIGILL) ==112571== Illegal opcode at address 0x51CC63F ==112571== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112571== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112571== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112571== by 0x40041AF: main (first.c:264) === End of file valgrind593 test 0596 [verify close callbacks with active FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:40221/596 log/1/ip596 activeftp > log/1/stdout596 2> log/1/stderr596 596: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:40221/596 log/1/ip596 activeftp > log/1/stdout596 2> log/1/stderr596 === End of file commands.log === Start of file ftp_server.log 19:27:01.480386 ====> Client connect 19:27:01.480627 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:01.480958 < "USER anonymous" 19:27:01.481000 > "331 We are happy you popped in![CR][LF]" 19:27:01.481207 < "PASS ftp@example.com" 19:27:01.481243 > "230 Welcome you silly person[CR][LF]" 19:27:01.481428 < "PWD" 19:27:01.481465 > "257 "/" is current directory[CR][LF]" 19:27:01.481651 < "EPSV" 19:27:01.481679 ====> Passive DATA channel requested by client 19:27:01.481695 DATA sockfilt for passive data channel starting... 19:27:01.489080 DATA sockfilt for passive data channel started (pid 112612) 19:27:01.492145 DATA sockfilt for passive data channel listens on port 42703 19:27:01.492214 > "229 Entering Passive Mode (|||42703|)[CR][LF]" 19:27:01.492232 Client has been notified that upcoming DATA connection is awaited on port 42703 19:27:01.498756 Client connects to port 42703 19:27:01.498819 ====> Client established passive DATA connection on port 42703 19:27:01.498932 < "TYPE I" 19:27:01.498987 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.499196 < "SIZE verifiedserver" 19:27:01.499236 > "213 17[CR][LF]" 19:27:01.499383 < "RETR verifiedserver" 19:27:01.499411 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.499503 =====> Closing passive DATA connection... 19:27:01.499518 Server disconnects passive DATA connection 19:27:01.499634 Server disconnected passive DATA connection 19:27:01.499651 DATA sockfilt for passive data channel quits (pid 112612) 19:27:01.499918 DATA sockfcannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:33935/598 > log/6/stdout598 2> log/6/stderr598 ilt for passive data channel quit (pid 112612) 19:27:01.499940 =====> Closed passive DATA connection 19:27:01.499965 > "226 File transfer complete[CR][LF]" 19:27:01.545673 < "QUIT" 19:27:01.545734 > "221 bye bye baby[CR][LF]" 19:27:01.547044 MAIN sockfilt said DISC 19:27:01.547095 ====> Client disconnected 19:27:01.547177 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:02.089665 ====> Client connect 19:27:02.090072 Received DATA (on stdin) 19:27:02.090089 > 146 bytes data, server => client 19:27:02.090099 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:02.090108 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:02.090117 '220 \___|\___/|_| \_\_____|\r\n' 19:27:02.090208 < 16 bytes data, client => server 19:27:02.090224 'USER anonymous\r\n' 19:27:02.090427 Received DATA (on stdin) 19:27:02.090439 > 33 bytes data, server => client 19:27:02.090449 '331 We are happy you popped in!\r\n' 19:27:02.090512 < 22 bytes data, client => server 19:27:02.090527 'PASS ftp@example.com\r\n' 19:27:02.090667 Received DATA (on stdin) 19:27:02.090680 > 30 bytes data, server => client 19:27:02.090690 '230 Welcome you silly person\r\n' 19:27:02.090749 < 5 bytes data, client => server 19:27:02.090763 'PWD\r\n' 19:27:02.090888 Received DATA (on stdin) 19:27:02.090900 > 30 bytes data, server => client 19:27:02.090910 '257 "/" is current directory\r\n' 19:27:02.090975 < 6 bytes data, client => server 19:27:02.090988 'EPSV\r\n' 19:27:02.104753 Received DATA (on stdin) 19:27:02.104792 > 39 bytes data, server => client 19:27:02.104804 '229 Entering Passive Mode (|||42703|)\r\n' 19:27:02.105013 < 8 bytes data, client => server 19:27:02.105032 'TYPE I\r\n' 19:27:02.108416 Received DATA (on stdin) 19:27:02.108432 > 33 bytes data, server => client 19:27:02.108443 '200 I modify TYPE as you wanted\r\n' 19:27:02.108532 < 21 bytes data, client => server 19:27:02.108542 'SIZE verifiedserver\r\n' 19:27:02.108660 Received DATA (on stdin) 19:27:02.108670 > 8 bytes data, server => client 19:27:02.108679 '213 17\r\n' 19:27:02.108729 < 21 bytes data, client => server 19:27:02.108738 'RETR verifiedserver\r\n' 19:27:02.109389 Received DATA (on stdin) 19:27:02.109402 > 29 bytes data, server => client 19:27:02.109412 '150 Binary junk (17 bytes).\r\n' 19:27:02.109434 Received DATA (on stdin) 19:27:02.109443 > 28 bytes data, server => client 19:27:02.109452 '226 File transfer complete\r\n' 19:27:02.154899 < 6 bytes data, client => server 19:27:02.154933 'QUIT\r\n' 19:27:02.155194 Received DATA (on stdin) 19:27:02.155209 > 18 bytes data, server => client 19:27:02.155220 '221 bye bye baby\r\n' 19:27:02.156414 ====> Client disconnect 19:27:02.156624 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.096650 Running IPv4 version 19:27:01.096753 Listening on port 42703 19:27:01.096790 Wrote pid 112612 to log/1/server/ftp_sockdata.pid 19:27:01.098424 Received PING (on stdin) 19:27:01.101424 Received PORT (on stdin) 19:27:01.108096 ====> Client connect 19:27:01.108945 Received DATA (on stdin) 19:27:01.108960 > 17 bytes data, server => client 19:27:01.108969 'WE ROOLZ: 84935\r\n' 19:27:01.108996 Received DISC (on stdin) 19:27:01.109008 ====> Client forcibly disconnected 19:27:01.109079 Received QUIT (on stdin) 19:27:01.109088 quits 19:27:01.109157 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 596 === End of file server.cmd === Start of file valgrind596 ==112687== ==112687== Process terminating with default action of signal 4 (SIGILL) ==112687== Illegal opcode at address 0x51CC63F ==112687== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112687== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112687== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112687== by 0x40041AF: main (first.c:264) === End of file valgrind596 test 0598 [curl_easy_reset with referer and other strings set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:33935/598 > log/6/stdout598 2> log/6/stderr598 598: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:33935/598 > log/6/stdout598 2> log/6/stderr598 === End of file commands.log === Start of file http_server.log 19:27:01.294860 ====> Client connect 19:27:01.294894 accept_connection 3 returned 4 19:27:01.294916 Read 93 bytes 19:27:01.294925 Process 93 bytes request 19:27:01.294937 Got request: GET /verifiedserver HTTP/1.1 19:27:01.294946 Are-we-friendly question received 19:27:01.294973 Wrote request (93 bytes) input to log/6/server.input 19:27:01.294990 Identifying ourselves as friends 19:27:01.295065 Response sent (56 bytes) and written to log/6/server.response 19:27:01.295076 special request received, no persistency 19:27:01.295085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 41640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind598 ==112838== ==112838== Process terminating with default action of signal 4 (SIGILL) ==112838== Illegal opcode at address 0x51CC63F ==112838== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112838== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112838== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112838== by 0x40041AF: main (first.c:264) === End of file valgrind598 test 0587 [HTTP multi-part formpost with aborted read callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:40913/587 > log/10/stdout587 2> log/10/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/10/ directory after test 587 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:40913/587 > log/10/stdout587 2> log/10/stderr587 === End of file commands.log === Start of file http_server.log 19:27:00.146481 ====> Client connect 19:27:00.146516 accept_connection 3 returned 4 19:27:00.146539 Read 93 bytes 19:27:00.146549 Process 93 bytes request 19:27:00.146563 Got request: GET /verifiedserver HTTP/1.1 19:27:00.146572 Are-we-friendly question received 19:27:00.146599 Wrote request (93 bytes) input to log/10/server.input 19:27:00.146613 Identifying ourselves as friends 19:27:00.146676 Response sent (56 bytes) and written to log/10/server.response 19:27:00.146685 special request received, no persistency 19:27:00.146693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connecannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:43739/599 log/18/ip599 > log/18/stdout599 2> log/18/stderr599 ction to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 587 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind587 ==111899== ==111899== Process terminating with default action of signal 4 (SIGILL) ==111899== Illegal opcode at address 0x51CC63F ==111899== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==111899== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==111899== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==111899== by 0x40041AF: main (first.c:264) === End of file valgrind587 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:38555 > log/19/stdout597 2> log/19/stderr597 test 0599 [HTTP GET with progress callback and redirects changing content sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:43739/599 log/18/ip599 > log/18/stdout599 2> log/18/stderr599 599: data FAILED: --- log/18/check-expected 2026-10-15 19:27:02.784034841 +0000 +++ log/18/check-generated 2026-10-15 19:27:02.781836036 +0000 @@ -1,16 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Location: 5990001[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -[CR][LF] -this data is slightly larger than the first piece[LF] == Contents of files in the log/18/ directory after test 599 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Location: 5990001[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] [CR][LF] this data is slightly larger than the first piece[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:43739/599 log/18/ip599 > log/18/stdout599 2> log/18/stderr599 === End of file commands.log === Start of file http_server.log 19:27:02.264842 ====> Client connect 19:27:02.264879 accept_connection 3 returned 4 19:27:02.264901 Read 93 bytes 19:27:02.264911 Process 93 bytes request 19:27:02.264924 Got request: GET /verifiedserver HTTP/1.1 19:27:02.264932 Are-we-friendly question received 19:27:02.264962 Wrote request (93 bytes) input to log/18/server.input 19:27:02.264979 Identifying ourselves as friends 19:27:02.265052 Response sent (56 bytes) and written to log/18/server.response 19:27:02.265064 special request received, no persistency 19:27:02.265072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 58420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 599 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind599 ==112807== ==112807== Process terminating with default action of signal 4 (SIGILL) ==112807== Illegal opcode at address 0x51CC63F ==112807== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112807== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112807== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112807== by 0x40041AF: main (first.c:264) === End of file valgrind599 test 0597 [FTP connect only option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:38555 > log/19/stdout597 2> log/19/stderr597 597: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 597 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:38555 > log/19/stdout597 2> log/19/stderr597 === End of file commands.log === Start of file ftp_server.log 19:27:01.641456 ====> Client connect 19:27:01.641661 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:01.641967 < "USER anonymous" 19:27:01.642027 > "331 We are happy you popped in![CR][LF]" 19:27:01.642340 < "PASS ftp@example.com" 19:27:01.642372 > "230 Welcome you silly person[CR][LF]" 19:27:01.642525 < "PWD" 19:27:01.642558 > "257 "/" is current directory[CR][LF]" 19:27:01.642713 < "EPSV" 19:27:01.642737 ====> Passive DATA channel requested by client 19:27:01.642751 DATA sockfilt for passive data channel starting... 19:27:01.646945 DATA sockfilt for passive data channel started (pid 112775) 19:27:01.647079 DATA sockfilt for passive data channel listens on port 42443 19:27:01.647132 > "229 Entering Passive Mode (|||42443|)[CR][LF]" 19:27:01.647157 Client has been notified that upcoming DATA connection is awaited on port 42443 19:27:01.647459 Client connects to port 42443 19:27:01.647492 ====> Client established passive DATA connection on port 42443 19:27:01.647582 < "TYPE I" 19:27:01.647620 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:01.647859 < "SIZE verifiedserver" 19:27:01.647907 > "213 17[CR][LF]" 19:27:01.648102 < "RETR verifiedserver" 19:27:01.648148 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:01.648241 =====> Closing passive DATA connection... 19:27:01.648262 Server disconnects passive DATA connection 19:27:01.648541 Server disconnected passive DATA connection 19:27:01.648569 DATA sockfilt for passive data channel quits (pid 112775) 19:27:01.648817 DATA sockfilt for passive data channel quit (pid 112775) 19:27:01.648845 =====> Closed passive DATA connection 19:27:01.648929 > "226 File transfer complete[CR][LF]" 19:27:01.696732 < "QUIT" 19:27:01.696795 > "221 bye bye baby[CR][LF]" 19:27:01.699920 MAIN sockfilt said DISC 19:27:01.699967 ====> Client disconnected 19:27:01.700050 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:01.250788 ====> Client connect 19:27:01.251136 Received DATA (on stdin) 19:27:01.251153 > 146 bytes data, server => client 19:27:01.251165 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:01.251175 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:01.251184 '220 \___|\___/|_| \_\_____|\r\n' 19:27:01.251270 < 16 bytes data, client => server 19:27:01.251285 'USER anonymous\r\n' 19:27:01.251603 Received DATA (on stdin) 19:27:01.251616 > 33 bytes data, server => client 19:27:01.251626 '331 We are happy you popped in!\r\n' 19:27:01.251694 < 22 bytes data, client => server 19:27:01.251706 'PASS ftp@example.com\r\n' 19:27:01.251830 Received DATA (on stdin) 19:27:01.251840 > 30 bytes data, server => client 19:27:01.251849 '230 Welcome you silly person\r\n' 19:27:01.251897 < 5 bytes data, client => server 19:27:01.251906 'PWD\r\n' 19:27:01.252010 Received DATA (on stdin) 19:27:01.252020 > 30 bytes data, server => client 19:27:01.252029 '257 "/" is current directory\r\n' 19:27:01.252086 < 6 bytes data, client => server 19:27:01.252096 'EPSV\r\n' 19:27:01.256625 Received DATA (on stdin) 19:27:01.256641 > 39 bytes data, server => client 19:27:01.256652 '229 Entering Passive Mode (|||42443|)\r\n' 19:27:01.256825 < 8 bytes data, client => server 19:27:01.256843 'TYPE I\r\n' 19:27:01.257081 Received DATA (on stdin) 19:27:01.257095 > 33 bytes data, server => client cannot find sshd cannot find sshd CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35989/643 > log/22/stdout643 2> log/22/stderr643 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind632 ../src/curl -q --output log/24/curl632.out --include --trace-ascii log/24/trace632 --trace-time --hostpubmd5 00 --key log/24/server/curl_client_key --pubkey log/24/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/24/irrelevant-file --insecure > log/24/stdout632 2> log/24/stderr632 19:27:01.257105 '200 I modify TYPE as you wanted\r\n' 19:27:01.257164 < 21 bytes data, client => server 19:27:01.257176 'SIZE verifiedserver\r\n' 19:27:01.257368 Received DATA (on stdin) 19:27:01.257381 > 8 bytes data, server => client 19:27:01.257391 '213 17\r\n' 19:27:01.257455 < 21 bytes data, client => server 19:27:01.257470 'RETR verifiedserver\r\n' 19:27:01.257722 Received DATA (on stdin) 19:27:01.257734 > 29 bytes data, server => client 19:27:01.257745 '150 Binary junk (17 bytes).\r\n' 19:27:01.258311 Received DATA (on stdin) 19:27:01.258323 > 28 bytes data, server => client 19:27:01.258340 '226 File transfer complete\r\n' 19:27:01.304892 < 6 bytes data, client => server 19:27:01.304915 'QUIT\r\n' 19:27:01.308192 Received DATA (on stdin) 19:27:01.308218 > 18 bytes data, server => client 19:27:01.308228 '221 bye bye baby\r\n' 19:27:01.309318 ====> Client disconnect 19:27:01.309525 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:01.256062 Running IPv4 version 19:27:01.256133 Listening on port 42443 19:27:01.256176 Wrote pid 112775 to log/19/server/ftp_sockdata.pid 19:27:01.256333 Received PING (on stdin) 19:27:01.256436 Received PORT (on stdin) 19:27:01.256865 ====> Client connect 19:27:01.257812 Received DATA (on stdin) 19:27:01.257833 > 17 bytes data, server => client 19:27:01.257843 'WE ROOLZ: 84587\r\n' 19:27:01.257916 Received DISC (on stdin) 19:27:01.257934 ====> Client forcibly disconnected 19:27:01.258034 Received QUIT (on stdin) 19:27:01.258046 quits 19:27:01.258127 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 597 === End of file server.cmd === Start of file valgrind597 ==112841== ==112841== Process terminating with default action of signal 4 (SIGILL) ==112841== Illegal opcode at address 0x51CC63F ==112841== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==112841== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==112841== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==112841== by 0x40041AF: main (first.c:264) === End of file valgrind597 Hmmm, the tests are taking a while to finish. Here is the status: runtests.pl internal state: 24 busy test runner(s) of 24 Runner 1 (id 78958) running test 617 in state 3 Runner 2 (id 78959) running test 606 in state 3 Runner 3 (id 78960) running test 612 in state 3 Runner 4 (id 78961) running test 602 in state 3 Runner 5 (id 78962) running test 613 in state 3 Runner 6 (id 78963) running test 618 in state 3 Runner 7 (id 78964) running test 608 in state 3 Runner 8 (id 78965) running test 601 in state 3 Runner 9 (id 78966) running test 611 in state 3 Runner 10 (id 78967) running test 619 in state 3 Runner 11 (id 78968) running test 609 in state 3 Runner 12 (id 78969) running test 607 in state 3 Runner 13 (id 78970) running test 604 in state 3 Runner 14 (id 78971) running test 600 in state 3 Runner 15 (id 78972) running test 616 in state 3 Runner 16 (id 78973) running test 615 in state 3 Runner 17 (id 78974) running test 610 in state 3 Runner 18 (id 78975) running test 620 in state 3 Runner 19 (id 78976) running test 621 in state 3 Runner 20 (id 78977) running test 605 in state 3 Runner 21 (id 78978) running test 614 in state 3 Runner 22 (id 78979) running test 583 in state 3 Runner 23 (id 78980) running test 603 in state 3 Runner 24 (id 78981) running test 582 in state 3 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/22/server/ssh_server.pid" --logdir "log/22" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 37479 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37479 test 0583 SKIPPED: failed starting SSH server test 0622 SKIPPED: failed starting SSH server test 0623 SKIPPED: failed starting SSH server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/24/server/ssh_server.pid" --logdir "log/24" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 39499 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39499 test 0643 [HTTP multi-part mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35989/643 > log/22/stdout643 2> log/22/stderr643 643: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:35989/643 > log/22/stdout643 2> log/22/stderr643 === End of file commands.log === Start of file http_server.log 19:27:15.965114 ====> Client connect 19:27:15.965157 accept_connection 3 returned 4 19:27:15.965184 Read 93 bytes 19:27:15.965194 Process 93 bytes request 19:27:15.965208 Got request: GET /verifiedserver HTTP/1.1 19:27:15.965217 Are-we-friendly question received 19:27:15.965257 Wrote request (93 bytes) input to log/22/server.input 19:27:15.965275 Identifying ourselves as friends 19:27:15.965356 Response sent (56 bytes) and written to log/22/server.response 19:27:15.965367 special request received, no persistency 19:27:15.965375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 44688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind643 ==113071== ==113071== Process terminating with default action of signal 4 (SIGILL) ==113071== Illegal opcode at address 0x51CC63F ==113071== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113071== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113071== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113071== by 0x40041AF: main (first.c:264) === End of file valgrind643 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/14/server/ssh_server.pid" --logdir "log/14" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 39257 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39257 test 0632 [SFTP syntactically invalid host key] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind632 ../src/curl -q --output log/24/curl632.out --include --trace-ascii log/24/trace632 --trace-time --hostpubmd5 00 --key log/24/server/curl_client_key --pubkey log/24/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/24/irrelevant-file --insecure > log/24/stdout632 2> log/24/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/24/ directory after test 632 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind632 .CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:35989/645 > log/22/stdout645 2> log/22/stderr645 ./src/curl -q --output log/24/curl632.out --include --trace-ascii log/24/trace632 --trace-time --hostpubmd5 00 --key log/24/server/curl_client_key --pubkey log/24/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/24/irrelevant-file --insecure > log/24/stdout632 2> log/24/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==113024== ==113024== Process terminating with default action of signal 4 (SIGILL) ==113024== Illegal opcode at address 0x492B75F ==113024== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113024== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==113024== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113024== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113024== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113024== by 0x49908EB: curl_version_info (version.c:600) ==113024== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113024== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113024== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113024== by 0x4003269: main (tool_main.c:195) === End of file valgrind632 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/8/server/ssh_server.pid" --logdir "log/8" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 34251 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34251 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/4/server/ssh_server.pid" --logdir "log/4" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 37217 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37217 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/23/server/ssh_server.pid" --logdir "log/23" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 33381 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33381 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/13/server/ssh_server.pid" --logdir "log/13" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 36203 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36203 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/20/server/ssh_server.pid" --logdir "log/20" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 37937 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37937 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/2/server/ssh_server.pid" --logdir "log/2" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 33443 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33443 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/7/server/ssh_server.pid" --logdir "log/7" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 37031 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37031 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/12/server/ssh_server.pid" --logdir "log/12" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 43257 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43257 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/11/server/ssh_server.pid" --logdir "log/11" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 35639 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35639 test 0645 [HTTP multi-part chunked mimepost using read callback for the file part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:35989/645 > log/22/stdout645 2> log/22/stderr645 645: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 645 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:35989/645 > log/22/stdout645 2> log/22/stderr645 === End of file commands.log === Start of file http_server.log 19:27:17.001596 ====> Client connect 19:27:17.001636 accept_connection 3 returned 4 19:27:17.001660 Read 93 bytes 19:27:17.001671 Process 93 bytes request 19:27:17.001684 Got request: GET /verifiedserver HTTP/1.1 19:27:17.001693 Are-we-friendly question received 19:27:17.001723 Wrote request (93 bytes) input to log/22/server.input 19:27:17.001743 Identifying ourselves as friends 19:27:17.001818 Response sent (56 bytes) and written to log/22/server.response 19:27:17.001831 special request received, no persistency 19:27:17.001840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 44692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 645 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind645 ==113157== ==113157== Process terminating with default action of signal 4 (SIGILL) ==113157== Illegal opcode at address 0x51CC63F ==113157== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113157== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113157== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113157== by 0x40041AF: main (first.c:264) === End of file valgrind645 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/17/server/ssh_server.pid" --logdir "log/17" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 35671 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35671 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/9/server/ssh_server.pid" --logdir "log/9" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 36905 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36905 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/3/server/ssh_server.pid" --logdir "log/3" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 41999 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41999 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/5/server/ssh_server.pid" --logdir "log/5" --ipv4 --addr "127.0.0.1" --user "builduser" --kRUN: Process with pid 110886 signalled to die RUN: Process with pid 110886 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:44711/650 log/23/test650.filedata log/23/stdout650 2> log/23/stderr650 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind657 ./libtest/libtests lib567 rtsp://127.0.0.1:36439/657 > log/7/stdout657 2> log/7/stderr657 eyalgo rsa --sshport 34951 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34951 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/21/server/ssh_server.pid" --logdir "log/21" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 35457 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35457 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/16/server/ssh_server.pid" --logdir "log/16" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 36495 startnew: child process has died, server might start up RUN: failed to start the SSH server on 36495 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/1/server/ssh_server.pid" --logdir "log/1" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 44201 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44201 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/6/server/ssh_server.pid" --logdir "log/6" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 44567 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44567 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/10/server/ssh_server.pid" --logdir "log/10" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 45253 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45253 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/15/server/ssh_server.pid" --logdir "log/15" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 46841 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46841 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/19/server/ssh_server.pid" --logdir "log/19" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 42395 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42395 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/sshserver.pl --verbose --pidfile "log/18/server/ssh_server.pid" --logdir "log/18" --ipv4 --addr "127.0.0.1" --user "builduser" --keyalgo rsa --sshport 35839 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35839 test 0650 [HTTP formpost using form API - with redirect and re-POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:44711/650 log/23/test650.filedata log/23/stdout650 2> log/23/stderr650 650: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:44711/650 log/23/test650.filedata log/23/stdout650 2> log/23/stderr650 === End of file commands.log === Start of file http_server.log 19:27:17.583605 ====> Client connect 19:27:17.583645 accept_connection 3 returned 4 19:27:17.583671 Read 93 bytes 19:27:17.583683 Process 93 bytes request 19:27:17.583697 Got request: GET /verifiedserver HTTP/1.1 19:27:17.583706 Are-we-friendly question received 19:27:17.583733 Wrote request (93 bytes) input to log/23/server.input 19:27:17.583751 Identifying ourselves as friends 19:27:17.583819 Response sent (56 bytes) and written to log/23/server.response 19:27:17.583832 special request received, no persistency 19:27:17.583841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 43432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 650 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file stdin-for-650 Some data from stdin === End of file stdin-for-650 === Start of file test650.filedata This is data from a file. === End of file test650.filedata === Start of file valgrind650 ==113228== ==113228== Process terminating with default action of signal 4 (SIGILL) ==113228== Illegal opcode at address 0x51CC63F ==113228== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113228== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113228== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113228== by 0x40041AF: main (first.c:264) === End of file valgrind650 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:40921/654 log/12/file654.txt > log/12/stdout654 2> log/12/stderr654 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:38821/651 log/13/test651.filedata log/13/stdout651 2> log/13/stderr651 test 0657 [RTSP OPTIONS response with a body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind657 ./libtest/libtests lib567 rtsp://127.0.0.1:36439/657 > log/7/stdout657 2> log/7/stderr657 657: stdout FAILED: --- log/7/check-expected 2026-10-15 19:27:19.441065599 +0000 +++ log/7/check-generated 2026-10-15 19:27:19.435640882 +0000 @@ -1,7 +0,0 @@ -RTSP/1.0 200 OK[LF] -Server: RTSPD/libcurl-test[LF] -CSeq: 1[LF] -Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE[LF] -Content-Length: 18[LF] -[LF] -No-More: sessions[LF] == Contents of files in the log/7/ directory after test 657 === Start of file check-expected RTSP/1.0 200 OK[LF] Server: RTSPD/libcurl-test[LF] CSeq: 1[LF] Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE[LF] Content-Length: 18[LF] [LF] No-More: sessions[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind657 ./libtest/libtests lib567 rtsp://127.0.0.1:36439/657 > log/7/stdout657 2> log/7/stderr657 === End of file commands.log === Start of file rtsp_server.log 19:27:17.894778 ====> Client connect 19:27:17.894820 Read 93 bytes 19:27:17.894832 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:36439 User-Agent: curl/8.23.0 Accept: */* ] 19:27:17.894856 Got request: GET /verifiedserver HTTP/1.1 19:27:17.894865 Are-we-friendly question received 19:27:17.894889 Wrote request (93 bytes) input to log/7/server.input 19:27:17.894905 Send response number -2 part 0 19:27:17.894913 Identifying ourselves as friends 19:27:17.894961 Sent off 69 bytes 19:27:17.894976 Response sent (69 bytes) and written to log/7/server.response 19:27:17.894984 special request received, no persistency 19:27:17.894991 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:36439... * Established connection to 127.0.0.1 (127.0.0.1 port 36439) from 127.0.0.1 port 47152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36439 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1:36439 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 111137 === End of file rtsp_verify.out === Start of file server.cmd Testnum 657 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 111137 === End of file server.response === Start of file valgrind657 ==113478== ==113478== Process terminating with default action of signal 4 (SIGILL) ==113478== Illegal opcode at address 0x51CC63F ==113478== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113478== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113478== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113478== by 0x40041AF: main (first.c:264) === End of file valgrind657 test 0654 [HTTP duplicate easy handle with mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:40921/654 log/12/file654.txt > log/12/stdout654 2> log/12/stderr654 654: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 654 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:40921/654 log/12/file654.txt > log/12/stdout654 2> log/12/stderr654 === End of file commands.log === Start of file file654.txt This is data from a file === End of file file654.txt === Start of file http_server.log 19:27:17.821466 ====> Client connect 19:27:17.821513 accept_connection 3 returned 4 19:27:17.821542 Read 93 bytes 19:27:17.821553 Process 93 bytes request 19:27:17.821567 Got request: GET /verifiedserver HTTP/1.1 19:27:17.821576 Are-we-friendly question received 19:27:17.821608 Wrote request (93 bytes) input to log/12/server.input 19:27:17.821627 Identifying ourselves as friends 19:27:17.821726 Response sent (56 bytes) and written to log/12/server.response 19:27:17.821739 special request received, no persistency 19:27:17.821748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 57520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 654 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind654 ==113399== ==113399== Process terminating with default action of signal 4 (SIGILL) ==113399== Illegal opcode at address 0x51CC63F ==113399== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113399== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113399== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113399== by 0x40041AF: main (first.c:264) === End of file valgrind654 test 0651 [curl_formadd with huge COPYCONTENTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:38821/651 log/13/test651.filedata log/13/stdout651 2> log/13/stderr651 651: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:38821/651 log/13/test651.filedata log/13/stdout651 2> log/13/stderr651 === End of file commands.log === Start of file http_server.log 19:27:17.704064 ====> Client connect 19:27:17.704101 accept_connection 3 returned 4 19:27:17.704126 Read 93 bytes 19:27:17.704137 Process 93 bytes request 19:27:17.704150 Got request: GET /verifiedserver HTTP/1.1 19:27:17.704160 Are-we-friendly question received 19:27:17.704190 Wrote request (93 bytes) input to log/13/server.input 19:27:17.704209 Identifying ourselves as friends 19:27:17.704279 Response sent (56 bytes) and written to log/13/server.response 19:27:17.704292 special request received, no persistency 19:27:17.704300 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 60788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === StaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:34531/653 > log/2/stdout653 2> log/2/stderr653 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:40989/655 > log/11/stdout655 2> log/11/stderr655 rt of file server.cmd Testnum 651 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file stdin-for-651 Some data from stdin === End of file stdin-for-651 === Start of file test651.filedata This is data from a file. === End of file test651.filedata === Start of file valgrind651 ==113274== ==113274== Process terminating with default action of signal 4 (SIGILL) ==113274== Illegal opcode at address 0x51CC63F ==113274== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113274== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113274== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113274== by 0x40041AF: main (first.c:264) === End of file valgrind651 test 0653 [Reuse of handle after altering mime data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:34531/653 > log/2/stdout653 2> log/2/stderr653 653: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:34531/653 > log/2/stdout653 2> log/2/stderr653 === End of file commands.log === Start of file http_server.log 19:27:18.804808 ====> Client connect 19:27:18.804852 accept_connection 3 returned 4 19:27:18.804879 Read 93 bytes 19:27:18.804890 Process 93 bytes request 19:27:18.804904 Got request: GET /verifiedserver HTTP/1.1 19:27:18.804913 Are-we-friendly question received 19:27:18.804943 Wrote request (93 bytes) input to log/2/server.input 19:27:18.804963 Identifying ourselves as friends 19:27:18.805051 Response sent (56 bytes) and written to log/2/server.response 19:27:18.805065 special request received, no persistency 19:27:18.805076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 53414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 653 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind653 ==113354== ==113354== Process terminating with default action of signal 4 (SIGILL) ==113354== Illegal opcode at address 0x51CC63F ==113354== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113354== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113354== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113354== by 0x40041AF: main (first.c:264) === End of file valgrind653 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:35993 > log/17/stdout659 2> log/17/stderr659 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35989/658 > log/22/stdout658 2> log/22/stderr658 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42249/ > log/3/stdout661 2> log/3/stderr661 test 0655 [resolver start callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:40989/655 > log/11/stdout655 2> log/11/stderr655 655: data FAILED: --- log/11/check-expected 2026-10-15 19:27:19.614301585 +0000 +++ log/11/check-generated 2026-10-15 19:27:19.609001210 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/11/ directory after test 655 === Start of file check-expected hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:40989/655 > log/11/stdout655 2> log/11/stderr655 === End of file commands.log === Start of file http_server.log 19:27:17.820049 ====> Client connect 19:27:17.820086 accept_connection 3 returned 4 19:27:17.820108 Read 93 bytes 19:27:17.820118 Process 93 bytes request 19:27:17.820131 Got request: GET /verifiedserver HTTP/1.1 19:27:17.820140 Are-we-friendly question received 19:27:17.820167 Wrote request (93 bytes) input to log/11/server.input 19:27:17.820184 Identifying ourselves as friends 19:27:17.820250 Response sent (56 bytes) and written to log/11/server.response 19:27:17.820260 special request received, no persistency 19:27:17.820268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 38482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 655 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind655 ==113361== ==113361== Process terminating with default action of signal 4 (SIGILL) ==113361== Illegal opcode at address 0x51CC63F ==113361== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113361== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113361== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113361== by 0x40041AF: main (first.c:264) === End of file valgrind655 test 0659 [CURLOPT_CURLU without the path set - over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:35993 > log/17/stdout659 2> log/17/stderr659 659: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 659 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:35993 > log/17/stdout659 2> log/17/stderr659 === End of file commands.log === Start of file http_server.log 19:27:19.018104 ====> Client connect 19:27:19.018144 accept_connection 3 returned 4 19:27:19.018169 Read 93 bytes 19:27:19.018179 Process 93 bytes request 19:27:19.018192 Got request: GET /verifiedserver HTTP/1.1 19:27:19.018200 Are-we-friendly question received 19:27:19.018227 Wrote request (93 bytes) input to log/17/server.input 19:27:19.018244 Identifying ourselves as friends 19:27:19.018329 Response sent (56 bytes) and written to log/17/server.response 19:27:19.018340 special request received, no persistency 19:27:19.018349 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 50256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 659 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind659 ==113641== ==113641== Process terminating with default action of signal 4 (SIGILL) ==113641== Illegal opcode at address 0x51CC63F ==113641== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113641== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113641== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113641== by 0x40041AF: main (first.c:264) === End of file valgrind659 test 0658 [Pass URL to libcurl with CURLOPT_CURLU] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35989/658 > log/22/stdout658 2> log/22/stderr658 658: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 658 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35989/658 > log/22/stdout658 2> log/22/stderr658 === End of file commands.log === Start of file http_server.log 19:27:17.914782 ====> Client connect 19:27:17.914827 accept_connection 3 returned 4 19:27:17.914851 Read 93 bytes 19:27:17.914861 Process 93 bytes request 19:27:17.914874 Got request: GET /verifiedserver HTTP/1.1 19:27:17.914883 Are-we-friendly question received 19:27:17.914912 Wrote request (93 bytes) input to log/22/server.input 19:27:17.914929 Identifying ourselves as friends 19:27:17.915018 Response sent (56 bytes) and written to log/22/server.response 19:27:17.915030 special request received, no persistency 19:27:17.915039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 44708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 658 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind658 ==113503== ==113503== Process terminating with default action of signal 4 (SIGILL) ==113503== Illegal opcode at address 0x51CC63F ==113503== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113503== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113503== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113503== by 0x40041AF: main (first.c:264) === End of file valgrind658 test 0661 [Avoid redundant CWDs] ../libtool --mode=execute /usr/bin/valgrind --tool=meCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:33935/668 log/6/file668.txt > log/6/stdout668 2> log/6/stderr668 mcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42249/ > log/3/stdout661 2> log/3/stderr661 661: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:42249/ > log/3/stdout661 2> log/3/stderr661 === End of file commands.log === Start of file ftp_server.log 19:27:18.470418 ====> Client connect 19:27:18.470636 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:18.470951 < "USER anonymous" 19:27:18.470992 > "331 We are happy you popped in![CR][LF]" 19:27:18.471189 < "PASS ftp@example.com" 19:27:18.471222 > "230 Welcome you silly person[CR][LF]" 19:27:18.471384 < "PWD" 19:27:18.471412 > "257 "/" is current directory[CR][LF]" 19:27:18.471577 < "EPSV" 19:27:18.471607 ====> Passive DATA channel requested by client 19:27:18.471623 DATA sockfilt for passive data channel starting... 19:27:18.476886 DATA sockfilt for passive data channel started (pid 113702) 19:27:18.477015 DATA sockfilt for passive data channel listens on port 43759 19:27:18.477058 > "229 Entering Passive Mode (|||43759|)[CR][LF]" 19:27:18.477078 Client has been notified that upcoming DATA connection is awaited on port 43759 19:27:18.477378 Client connects to port 43759 19:27:18.477413 ====> Client established passive DATA connection on port 43759 19:27:18.477511 < "TYPE I" 19:27:18.477544 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:18.477711 < "SIZE verifiedserver" 19:27:18.477747 > "213 17[CR][LF]" 19:27:18.477890 < "RETR verifiedserver" 19:27:18.477922 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:18.478008 =====> Closing passive DATA connection... 19:27:18.478024 Server disconnects passive DATA connection 19:27:18.478245 Server disconnected passive DATA connection 19:27:18.478271 DATA sockfilt for passive data channel quits (pid 113702) 19:27:18.478516 DATA sockfilt for passive data channel quit (pid 113702) 19:27:18.478538 =====> Closed passive DATA connection 19:27:18.478565 > "226 File transfer complete[CR][LF]" 19:27:18.522301 < "QUIT" 19:27:18.522353 > "221 bye bye baby[CR][LF]" 19:27:18.523448 MAIN sockfilt said DISC 19:27:18.523476 ====> Client disconnected 19:27:18.523553 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:19.079670 ====> Client connect 19:27:19.080028 Received DATA (on stdin) 19:27:19.080045 > 146 bytes data, server => client 19:27:19.080057 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:19.080068 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:19.080078 '220 \___|\___/|_| \_\_____|\r\n' 19:27:19.080170 < 16 bytes data, client => server 19:27:19.080186 'USER anonymous\r\n' 19:27:19.080371 Received DATA (on stdin) 19:27:19.080385 > 33 bytes data, server => client 19:27:19.080396 '331 We are happy you popped in!\r\n' 19:27:19.080458 < 22 bytes data, client => server 19:27:19.080473 'PASS ftp@example.com\r\n' 19:27:19.080596 Received DATA (on stdin) 19:27:19.080608 > 30 bytes data, server => client 19:27:19.080618 '230 Welcome you silly person\r\n' 19:27:19.080674 < 5 bytes data, client => server 19:27:19.080684 'PWD\r\n' 19:27:19.080779 Received DATA (on stdin) 19:27:19.080787 > 30 bytes data, server => client 19:27:19.080796 '257 "/" is current directory\r\n' 19:27:19.080858 < 6 bytes data, client => server 19:27:19.080871 'EPSV\r\n' 19:27:19.086456 Received DATA (on stdin) 19:27:19.086472 > 39 bytes data, server => client 19:27:19.086482 '229 Entering Passive Mode (|||43759|)\r\n' 19:27:19.086655 < 8 bytes data, client => server 19:27:19.086669 'TYPE I\r\n' 19:27:19.086914 Received DATA (on stdin) 19:27:19.086925 > 33 bytes data, server => client 19:27:19.086935 '200 I modify TYPE as you wanted\r\n' 19:27:19.086991 < 21 bytes data, client => server 19:27:19.087001 'SIZE verifiedserver\r\n' 19:27:19.087115 Received DATA (on stdin) 19:27:19.087125 > 8 bytes data, server => client 19:27:19.087134 '213 17\r\n' 19:27:19.087182 < 21 bytes data, client => server 19:27:19.087192 'RETR verifiedserver\r\n' 19:27:19.087395 Received DATA (on stdin) 19:27:19.087405 > 29 bytes data, server => client 19:27:19.087415 '150 Binary junk (17 bytes).\r\n' 19:27:19.087935 Received DATA (on stdin) 19:27:19.087946 > 28 bytes data, server => client 19:27:19.087956 '226 File transfer complete\r\n' 19:27:19.131463 < 6 bytes data, client => server 19:27:19.131498 'QUIT\r\n' 19:27:19.131717 Received DATA (on stdin) 19:27:19.131726 > 18 bytes data, server => client 19:27:19.131735 '221 bye bye baby\r\n' 19:27:19.132762 ====> Client disconnect 19:27:19.132911 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:18.085895 Running IPv4 version 19:27:18.085980 Listening on port 43759 19:27:18.086020 Wrote pid 113702 to log/3/server/ftp_sockdata.pid 19:27:18.086197 Received PING (on stdin) 19:27:18.086292 Received PORT (on stdin) 19:27:18.086699 ====> Client connect 19:27:18.087467 Received DATA (on stdin) 19:27:18.087480 > 17 bytes data, server => client 19:27:18.087489 'WE ROOLZ: 84710\r\n' 19:27:18.087513 Received DISC (on stdin) 19:27:18.087523 ====> Client forcibly disconnected 19:27:18.087646 Received QUIT (on stdin) 19:27:18.087656 quits 19:27:18.087720 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 661 === End of file server.cmd === Start of file valgrind661 ==113753== ==113753== Process terminating with default action of signal 4 (SIGILL) ==113753== Illegal opcode at address 0x51CC63F ==113753== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==113753== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==113753== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==113753== by 0x40041AF: main (first.c:264) === End of file valgrind661 test 0668 [HTTP mimepost early end of data detection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:33935/668 log/6/file668.txt > log/6/stdout668 2> log/6/stderr668 668: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 668 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:33935/668 log/6/file668.txt > log/6/stdout668 2> log/6/stderr668 === End of file commands.log === Start of file file668.txt This is data from a file === End of file file668.txt === Start of file http_server.log 19:27:18.454697 ====> Client connect 19:27:18.454736 accept_connection 3 returned 4 19:27:18.454758 Read 93 bytes 19:27:18.454766 Process 93 bytes request 19:27:18.454777 Got request: GET /verifiedserver HTTP/1.1 19:27:18.454784 Are-we-friendly question received 19:27:18.454806 Wrote request (93 bytes) input to log/6/server.input 19:27:18.454819 Identifying ourselves as friends 19:27:18.454895 Response sent (56 bytes) and written to log/6/server.response 19:27:18.454902 special request received, no persistency 19:27:18.454909 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 3393CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:38815/667 > log/1/stdout667 2> log/1/stderr667 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:44711/673 > log/23/stdout673 2> log/23/stderr673 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40321/670 > log/15/stdout670 2> log/15/stderr670 5) from 127.0.0.1 port 37418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 668 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind668 ==114131== ==114131== Process terminating with default action of signal 4 (SIGILL) ==114131== Illegal opcode at address 0x51CC63F ==114131== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114131== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114131== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114131== by 0x40041AF: main (first.c:264) === End of file valgrind668 test 0667 [HTTP chunked mimepost using single-byte read callback with encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:38815/667 > log/1/stdout667 2> log/1/stderr667 667: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 667 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:38815/667 > log/1/stdout667 2> log/1/stderr667 === End of file commands.log === Start of file http_server.log 19:27:19.428026 ====> Client connect 19:27:19.428065 accept_connection 3 returned 4 19:27:19.428093 Read 93 bytes 19:27:19.428105 Process 93 bytes request 19:27:19.428120 Got request: GET /verifiedserver HTTP/1.1 19:27:19.428129 Are-we-friendly question received 19:27:19.428162 Wrote request (93 bytes) input to log/1/server.input 19:27:19.428181 Identifying ourselves as friends 19:27:19.428281 Response sent (56 bytes) and written to log/1/server.response 19:27:19.428295 special request received, no persistency 19:27:19.428304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 60192 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 667 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind667 ==114052== ==114052== Process terminating with default action of signal 4 (SIGILL) ==114052== Illegal opcode at address 0x51CC63F ==114052== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114052== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114052== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114052== by 0x40041AF: main (first.c:264) === End of file valgrind667 test 0673 [Request pause from form read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:44711/673 > log/23/stdout673 2> log/23/stderr673 673: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:44711/673 > log/23/stdout673 2> log/23/stderr673 === End of file commands.log === Start of file http_server.log 19:27:18.961142 ====> Client connect 19:27:18.961179 accept_connection 3 returned 4 19:27:18.961238 Read 93 bytes 19:27:18.961249 Process 93 bytes request 19:27:18.961262 Got request: GET /verifiedserver HTTP/1.1 19:27:18.961270 Are-we-friendly question received 19:27:18.961304 Wrote request (93 bytes) input to log/23/server.input 19:27:18.961321 Identifying ourselves as friends 19:27:18.961389 Response sent (56 bytes) and written to log/23/server.response 19:27:18.961400 special request received, no persistency 19:27:18.961410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 43444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 673 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind673 ==114638== ==114638== Process terminating with default action of signal 4 (SIGILL) ==114638== Illegal opcode at address 0x51CC63F ==114638== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114638== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114638== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114638== by 0x40041AF: main (first.c:264) === End of file valgrind673 test 0670 [Request pause from mime read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40321/670 > log/15/stdout670 2> log/15/stderr670 670: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 670 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:40321/670 > log/15/stdout670 2> log/15/stderr670 === End of file commands.log === Start of file http_server.log 19:27:19.498151 ====> Client connect 19:27:19.498204 accept_connection 3 returned 4 19:27:19.501336 Read 93 bytes 19:27:19.501357 Process 93 bytes request 19:27:19.501369 Got request: GET /verifiedserver HTTP/1.1 19:27:19.501377 Are-we-friendly question received 19:27:19.501412 Wrote request (93 bytes) input to log/15/server.input 19:27:19.501429 Identifying ourselves as friends 19:27:19.501508 Response sent (56 bytes) and written to log/15/server.response 19:27:19.501516 special request received, no persistency 19:27:19.501523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 34716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:46497/671 > log/19/stdout671 2> log/19/stderr671 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35903/666 > log/16/stdout666 2> log/16/stderr666 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind648 ../src/curl -q --output log/8/curl648.out --include --trace-ascii log/8/trace648 --trace-time smtp://127.0.0.1:34057/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/8/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/8/stdout648 2> log/8/stderr648 1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind670 ==114200== ==114200== Process terminating with default action of signal 4 (SIGILL) ==114200== Illegal opcode at address 0x51CC63F ==114200== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114200== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114200== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114200== by 0x40041AF: main (first.c:264) === End of file valgrind670 test 0671 [Request pause from mime read callback: easy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:46497/671 > log/19/stdout671 2> log/19/stderr671 671: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 671 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:46497/671 > log/19/stdout671 2> log/19/stderr671 === End of file commands.log === Start of file http_server.log 19:27:18.541355 ====> Client connect 19:27:18.541395 accept_connection 3 returned 4 19:27:18.541418 Read 93 bytes 19:27:18.541428 Process 93 bytes request 19:27:18.541441 Got request: GET /verifiedserver HTTP/1.1 19:27:18.541449 Are-we-friendly question received 19:27:18.541475 Wrote request (93 bytes) input to log/19/server.input 19:27:18.541491 Identifying ourselves as friends 19:27:18.541565 Response sent (56 bytes) and written to log/19/server.response 19:27:18.541574 special request received, no persistency 19:27:18.541582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 48652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind671 ==114278== ==114278== Process terminating with default action of signal 4 (SIGILL) ==114278== Illegal opcode at address 0x51CC63F ==114278== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114278== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114278== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114278== by 0x40041AF: main (first.c:264) === End of file valgrind671 test 0666 [HTTP mime post with binary-encoded huge data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35903/666 > log/16/stdout666 2> log/16/stderr666 666: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35903/666 > log/16/stdout666 2> log/16/stderr666 === End of file commands.log === Start of file http_server.log 19:27:19.432727 ====> Client connect 19:27:19.432759 accept_connection 3 returned 4 19:27:19.437364 Read 93 bytes 19:27:19.437388 Process 93 bytes request 19:27:19.437403 Got request: GET /verifiedserver HTTP/1.1 19:27:19.437412 Are-we-friendly question received 19:27:19.437450 Wrote request (93 bytes) input to log/16/server.input 19:27:19.437469 Identifying ourselves as friends 19:27:19.437540 Response sent (56 bytes) and written to log/16/server.response 19:27:19.437550 special request received, no persistency 19:27:19.437559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 50330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 666 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind666 ==114247== ==114247== Process terminating with default action of signal 4 (SIGILL) ==114247== Illegal opcode at address 0x51CC63F ==114247== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114247== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114247== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114247== by 0x40041AF: main (first.c:264) === End of file valgrind666 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/smtp_server.pid" --logfile "log/8/smtp_server.log" --logdir "log/8" --portfile "log/8/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34057 (log/8/server/smtp_server.port) RUN: SMTP server is PID 113206 port 34057 * pid smtp => 113206 113206 test 0648 [SMTP multipart with transfer content encoders] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind648 ../src/curl -q --output log/8/curl648.out --include --trace-ascii log/8/trace648 --trace-time smtp://127.0.0.1:34057/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/8/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/8/stdout648 2> log/8/stderr648 648: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind648 ../src/curl -q --output log/8/curl648.out --include --trace-ascii log/8/trace648 --trace-time smtp://127.0.0.1:34057/648 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is the email inline text with a very long line containing the special character = and that should be split by encoder.;headers=Content-disposition: "inline";encoder=quoted-printable' -F "=@log/8/test648.txt;encCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:43739/672 > log/18/stdout672 2> log/18/stderr672 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:44025/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 oder=base64" -H "From: different" -H "To: another" log/8/stdout648 2> log/8/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 19:27:17.758285 SMTP server listens on port IPv4/34057 19:27:17.758395 logged pid 113206 in log/8/server/smtp_server.pid 19:27:17.758444 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:17.367256 Running IPv4 version 19:27:17.367524 Listening on port 34057 19:27:17.367603 Wrote pid 113208 to log/8/server/smtp_sockfilt.pid 19:27:17.367638 Wrote port 34057 to log/8/server/smtp_server.port 19:27:17.367660 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-648 From: different To: another body === End of file stdin-for-648 === Start of file test648.txt This is an attached file. It may contain any type of data and will be encoded in base64 for transfer. === End of file test648.txt === Start of file valgrind648 ==113853== ==113853== Process terminating with default action of signal 4 (SIGILL) ==113853== Illegal opcode at address 0x492B75F ==113853== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113853== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==113853== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113853== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113853== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113853== by 0x49908EB: curl_version_info (version.c:600) ==113853== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113853== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113853== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113853== by 0x4003269: main (tool_main.c:195) === End of file valgrind648 test 0672 [Request pause from form read callback: multi] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:43739/672 > log/18/stdout672 2> log/18/stderr672 672: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 672 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:43739/672 > log/18/stdout672 2> log/18/stderr672 === End of file commands.log === Start of file http_server.log 19:27:19.565482 ====> Client connect 19:27:19.565515 accept_connection 3 returned 4 19:27:19.565537 Read 93 bytes 19:27:19.565545 Process 93 bytes request 19:27:19.565556 Got request: GET /verifiedserver HTTP/1.1 19:27:19.565564 Are-we-friendly question received 19:27:19.565587 Wrote request (93 bytes) input to log/18/server.input 19:27:19.565601 Identifying ourselves as friends 19:27:19.565656 Response sent (56 bytes) and written to log/18/server.response 19:27:19.565664 special request received, no persistency 19:27:19.565672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45814 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 672 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind672 ==114363== ==114363== Process terminating with default action of signal 4 (SIGILL) ==114363== Illegal opcode at address 0x51CC63F ==114363== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114363== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114363== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114363== by 0x40041AF: main (first.c:264) === End of file valgrind672 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/smtp_server.pid" --logfile "log/14/smtp_server.log" --logdir "log/14" --portfile "log/14/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44025 (log/14/server/smtp_server.port) RUN: SMTP server is PID 113204 port 44025 * pid smtp => 113204 113204 test 0646 [SMTP multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:44025/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 646: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind646 ../src/curl -q --output log/14/curl646.out --include --trace-ascii log/14/trace646 --trace-time smtp://127.0.0.1:44025/646 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=(;type=multipart/alternative" -F "= This is the html version;headers=X-test1: this is a header;type=text/html;headers=X-test2: this is another header " -F "=This is the plain text version;headers=@log/14/headers646" -F "=)" -F "=@log/14/test646.txt;headers=" log/14/stdout646 2> log/14/stderr646 === End of file commands.log === Start of file headers646 # This line is a comment X-fileheader1: This is a header from a file # This line is another comment. It precedes a folded header. X-fileheader2: This is #a folded header === End of file headers646 === Start of file server.cmd Testnum 646 === End of file server.cmd === Start of file smtp_server.log 19:27:17.738773 SMTP server listens on port IPv4/44025 19:27:17.738902 logged pid 113204 in log/14/server/smtp_server.pid 19:27:17.738951 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:17.335517 Running IPv4 version 19:27:17.335626 Listening on port 44025 19:27:17.335674 Wrote pid 113207 to log/14/server/smtp_sockfilt.pid 19:27:17.335709 Wrote port 44025 to log/14/server/smtp_server.port 19:27:17.344820 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-646 From: different To: another body === End of file stdin-for-646 === Start of file test646.txt This is an attached file. It may contain any type of data. === End of file test646.txt === Start of file valgrind646 ==113835== ==113835== Process terminating with default action of signal 4 (SIGILL) ==113835== Illegal opcode at address 0x492B75F ==113835== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113835== by 0x492C53A: CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38821/we/want/676 log/13/cookies676 > log/13/stdout676 2> log/13/stderr676 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44599/652 > log/20/stdout652 2> log/20/stderr652 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:40859/674 > log/7/stdout674 2> log/7/stderr674 curl_mvsnprintf (mprintf.c:1257) ==113835== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113835== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113835== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113835== by 0x49908EB: curl_version_info (version.c:600) ==113835== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113835== by 0x4003269: main (tool_main.c:195) === End of file valgrind646 test 0676 [verify setting CURLOPT_COOKIEFILE to NULL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38821/we/want/676 log/13/cookies676 > log/13/stdout676 2> log/13/stderr676 676: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:38821/we/want/676 log/13/cookies676 > log/13/stdout676 2> log/13/stderr676 === End of file commands.log === Start of file cookies676 127.0.0.1 TRUE /we/want/ FALSE 22118138987 proven yes === End of file cookies676 === Start of file http_server.log 19:27:19.269864 ====> Client connect 19:27:19.269897 accept_connection 3 returned 4 19:27:19.269918 Read 93 bytes 19:27:19.269927 Process 93 bytes request 19:27:19.269939 Got request: GET /verifiedserver HTTP/1.1 19:27:19.269948 Are-we-friendly question received 19:27:19.269977 Wrote request (93 bytes) input to log/13/server.input 19:27:19.269992 Identifying ourselves as friends 19:27:19.270085 Response sent (56 bytes) and written to log/13/server.response 19:27:19.270094 special request received, no persistency 19:27:19.270103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 60796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 676 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind676 ==114877== ==114877== Process terminating with default action of signal 4 (SIGILL) ==114877== Illegal opcode at address 0x51CC63F ==114877== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114877== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114877== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114877== by 0x40041AF: main (first.c:264) === End of file valgrind676 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/smtp_server.pid" --logfile "log/20/smtp_server.log" --logdir "log/20" --portfile "log/20/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44599 (log/20/server/smtp_server.port) RUN: SMTP server is PID 113262 port 44599 * pid smtp => 113262 113262 test 0652 [SMTP with encoded huge mime data contents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44599/652 > log/20/stdout652 2> log/20/stderr652 652: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:44599/652 > log/20/stdout652 2> log/20/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 19:27:18.149831 SMTP server listens on port IPv4/44599 19:27:18.149928 logged pid 113262 in log/20/server/smtp_server.pid 19:27:18.149971 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:18.758776 Running IPv4 version 19:27:18.758872 Listening on port 44599 19:27:18.758914 Wrote pid 113281 to log/20/server/smtp_sockfilt.pid 19:27:18.758943 Wrote port 44599 to log/20/server/smtp_server.port 19:27:18.759143 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind652 ==114580== ==114580== Process terminating with default action of signal 4 (SIGILL) ==114580== Illegal opcode at address 0x51CC63F ==114580== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114580== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114580== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114580== by 0x40041AF: main (first.c:264) === End of file valgrind652 test 0674 [Set CURLOPT_CURLU and dupe the handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:40859/674 > log/7/stdout674 2> log/7/stderr674 674: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 674 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:40859/674 > log/7/stdout674 2> log/7/stderr674 === End of file commands.log === Start of file http_server.log 19:27:19.148331 ====> Client connect 19:27:19.148371 accept_connection 3 returned 4 19:27:19.148392 Read 93 bytes 19:27:19.148402 Process 93 bytes request 19:27:19.148414 Got request: GET /verifiedserver HTTP/1.1 19:27:19.148476 Are-we-friendly question received 19:27:19.148503 Wrote request (93 bytes) input to log/7/server.input 19:27:19.148519 Identifying ourselves as friends 19:27:19.148588 Response sent (56 bytes) and written to log/7/server.response 19:27:19.148597 special request received, no persistency 19:27:19.148605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 50166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 674 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind674 ==114783== ==114783== Process terminating with default action of signal 4 (SIGILL) ==114783== Illegal opcode at address 0x51CC63F ==114783== at 0x51CC63F: formatf.constprop.1 (mprCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind662 ../src/curl -q --output log/5/curl662.out --include --trace-ascii log/5/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:37089 > log/5/stdout662 2> log/5/stderr662 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:38847/660 > log/9/stdout660 2> log/9/stderr660 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39881 > log/21/stdout663 2> log/21/stderr663 intf.c:1115) ==114783== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114783== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114783== by 0x40041AF: main (first.c:264) === End of file valgrind674 test 0662 [HTTP redirect with whitespace in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind662 ../src/curl -q --output log/5/curl662.out --include --trace-ascii log/5/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:37089 > log/5/stdout662 2> log/5/stderr662 662: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 662 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind662 ../src/curl -q --output log/5/curl662.out --include --trace-ascii log/5/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:37089 > log/5/stdout662 2> log/5/stderr662 === End of file commands.log === Start of file http_server.log 19:27:18.062318 ====> Client connect 19:27:18.062358 accept_connection 3 returned 4 19:27:18.062519 Read 93 bytes 19:27:18.062536 Process 93 bytes request 19:27:18.062550 Got request: GET /verifiedserver HTTP/1.1 19:27:18.062560 Are-we-friendly question received 19:27:18.062594 Wrote request (93 bytes) input to log/5/server.input 19:27:18.062613 Identifying ourselves as friends 19:27:18.062681 Response sent (56 bytes) and written to log/5/server.response 19:27:18.062692 special request received, no persistency 19:27:18.062699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 54004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 662 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind662 ==113707== ==113707== Process terminating with default action of signal 4 (SIGILL) ==113707== Illegal opcode at address 0x492B75F ==113707== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113707== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==113707== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113707== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113707== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113707== by 0x49908EB: curl_version_info (version.c:600) ==113707== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113707== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113707== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113707== by 0x4003269: main (tool_main.c:195) === End of file valgrind662 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/imap_server.pid" --logfile "log/9/imap_server.log" --logdir "log/9" --portfile "log/9/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38847 (log/9/server/imap_server.port) RUN: IMAP server is PID 113573 port 38847 * pid imap => 113573 113573 test 0660 [IMAP CONNECT_ONLY option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:38847/660 > log/9/stdout660 2> log/9/stderr660 660: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 660 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:38847/660 > log/9/stdout660 2> log/9/stderr660 === End of file commands.log === Start of file imap_server.log 19:27:18.442763 IMAP server listens on port IPv4/38847 19:27:18.443088 logged pid 113573 in log/9/server/imap_server.pid 19:27:18.443155 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:18.046494 Running IPv4 version 19:27:18.046593 Listening on port 38847 19:27:18.046653 Wrote pid 113640 to log/9/server/imap_sockfilt.pid 19:27:18.046690 Wrote port 38847 to log/9/server/imap_server.port 19:27:18.051972 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 660 === End of file server.cmd === Start of file valgrind660 ==114661== ==114661== Process terminating with default action of signal 4 (SIGILL) ==114661== Illegal opcode at address 0x51CC63F ==114661== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==114661== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==114661== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==114661== by 0x40041AF: main (first.c:264) === End of file valgrind660 test 0663 [HTTP redirect with dotdots and whitespaces in absolute Location: URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39881 > log/21/stdout663 2> log/21/stderr663 663: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 663 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind663 ../src/curl -q --output log/21/curl663.out --include --trace-ascii log/21/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:39881 > log/21/stdout663 2> log/21/stderr663 === End of file commands.log === Start of file http_server.log 19:27:18.360511 ====> Client connect 19:27:18.360543 accept_connection 3 returned 4 19:27:18.360565 Read 93 bytes 19:27:18.360574 Process 93 bytes request 19:27:18.360586 Got request: GET /verifiedserver HTTP/1.1 19:27:18.360595 Are-we-friendly question received 19:27:18.360621 Wrote request (93 bytes) input to log/21/server.input 19:27:18.360637 Identifying ourselves as friends 19:27:18.360702 Response sent (56 bytes) and written to log/21/server.response 19:27:18.360712 special request received, no persistency 19:27:18.360720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 51568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 663 === End of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind647 ../src/curl -q --output log/24/curl647.out --include --trace-ascii log/24/trace647 --trace-time imap://127.0.0.1:34999/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/24/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/24/stdout647 2> log/24/stderr647 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:32885/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/stderr649 server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind663 ==113929== ==113929== Process terminating with default action of signal 4 (SIGILL) ==113929== Illegal opcode at address 0x492B75F ==113929== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113929== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==113929== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113929== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113929== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113929== by 0x49908EB: curl_version_info (version.c:600) ==113929== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113929== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113929== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113929== by 0x4003269: main (tool_main.c:195) === End of file valgrind663 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/imap_server.pid" --logfile "log/24/imap_server.log" --logdir "log/24" --portfile "log/24/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34999 (log/24/server/imap_server.port) RUN: IMAP server is PID 113205 port 34999 * pid imap => 113205 113205 test 0647 [IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind647 ../src/curl -q --output log/24/curl647.out --include --trace-ascii log/24/trace647 --trace-time imap://127.0.0.1:34999/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/24/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/24/stdout647 2> log/24/stderr647 647: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 647 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind647 ../src/curl -q --output log/24/curl647.out --include --trace-ascii log/24/trace647 --trace-time imap://127.0.0.1:34999/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/24/test647.txt" -H "Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)" -H "From: Fred Foobar " -H "To: joe@example.com" -H "Message-Id: " -H "Subject: afternoon meeting" -u user:secret > log/24/stdout647 2> log/24/stderr647 === End of file commands.log === Start of file imap_server.log 19:27:17.763629 IMAP server listens on port IPv4/34999 19:27:17.763752 logged pid 113205 in log/24/server/imap_server.pid 19:27:17.763811 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:17.372766 Running IPv4 version 19:27:17.372872 Listening on port 34999 19:27:17.372919 Wrote pid 113209 to log/24/server/imap_sockfilt.pid 19:27:17.372955 Wrote port 34999 to log/24/server/imap_server.port 19:27:17.372979 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 647 === End of file server.cmd === Start of file test647.txt This is an attached file. It may contain any type of data. === End of file test647.txt === Start of file valgrind647 ==113874== ==113874== Process terminating with default action of signal 4 (SIGILL) ==113874== Illegal opcode at address 0x492B75F ==113874== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==113874== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==113874== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==113874== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==113874== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==113874== by 0x49908EB: curl_version_info (version.c:600) ==113874== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==113874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==113874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==113874== by 0x4003269: main (tool_main.c:195) === End of file valgrind647 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/smtp_server.pid" --logfile "log/4/smtp_server.log" --logdir "log/4" --portfile "log/4/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32885 (log/4/server/smtp_server.port) RUN: SMTP server is PID 113210 port 32885 * pid smtp => 113210 113210 test 0649 [SMTP multipart with 7-bit encoder error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:32885/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/stderr649 649: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 649 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind649 ../src/curl -q --output log/4/curl649.out --include --trace-ascii log/4/trace649 --trace-time smtp://127.0.0.1:32885/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/4/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/4/stdout649 2> log/4/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 19:27:17.850371 SMTP server listens on port IPv4/32885 19:27:17.850479 logged pid 113210 in log/4/server/smtp_server.pid 19:27:17.850528 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:17.459370 Running IPv4 version 19:27:17.459487 Listening on port 32885 19:27:17.459531 Wrote pid 113211 to log/4/server/smtp_sockfilt.pid 19:27:17.459566 Wrote port 32885 to log/4/server/smtp_server.port 19:27:17.459726 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-649 From: different To: another body === End of file stdin-for-649 === Start of file test649.txt This is an attached file (in french: pièce jointe). It contains at least an 8-bit byte value. === End of file test649.txt === Start of file valgrind649 ==114001== ==114001== Process terminating with default action of signal 4 (SIGILL) ==114001== Illegal opcode at address 0x492B75F ==114001== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==114001== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==114001== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==114001== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==114001== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==114001== by 0x49908EB: curl_version_info (version.c:600) ==114001== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==114001== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==114001== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==114001== by 0x4003269CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind669 ../src/curl -q --output log/10/curl669.out --include --trace-ascii log/10/trace669 --trace-time http://127.0.0.1:40913/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/10/stdout669 2> log/10/stderr669 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:40921/user1/675 http://user2:foo2@127.0.0.1:40921/user2/675 > log/12/stdout675 2> log/12/stderr675 : main (tool_main.c:195) === End of file valgrind649 test 0669 [HTTP custom Content-Type with parameter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind669 ../src/curl -q --output log/10/curl669.out --include --trace-ascii log/10/trace669 --trace-time http://127.0.0.1:40913/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/10/stdout669 2> log/10/stderr669 669: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind669 ../src/curl -q --output log/10/curl669.out --include --trace-ascii log/10/trace669 --trace-time http://127.0.0.1:40913/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/10/stdout669 2> log/10/stderr669 === End of file commands.log === Start of file http_server.log 19:27:18.481353 ====> Client connect 19:27:18.481392 accept_connection 3 returned 4 19:27:18.481413 Read 93 bytes 19:27:18.481423 Process 93 bytes request 19:27:18.481436 Got request: GET /verifiedserver HTTP/1.1 19:27:18.481445 Are-we-friendly question received 19:27:18.481480 Wrote request (93 bytes) input to log/10/server.input 19:27:18.481496 Identifying ourselves as friends 19:27:18.484972 Response sent (56 bytes) and written to log/10/server.response 19:27:18.484990 special request received, no persistency 19:27:18.484998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 36204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 669 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind669 ==114175== ==114175== Process terminating with default action of signal 4 (SIGILL) ==114175== Illegal opcode at address 0x492B75F ==114175== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==114175== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==114175== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==114175== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==114175== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==114175== by 0x49908EB: curl_version_info (version.c:600) ==114175== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==114175== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==114175== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==114175== by 0x4003269: main (tool_main.c:195) === End of file valgrind669 test 0680 [netrc with quoted password but missing end quote] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/11/ directory after test 680 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 === End of file commands.log === Start of file netrc680 machine 127.0.0.1 login user1 password "with spaces and \"\n\r\t\a === End of file netrc680 === Start of file server.cmd Testnum 680 === End of file server.cmd === Start of file valgrind680 ==114860== ==114860== Process terminating with default action of signal 4 (SIGILL) ==114860== Illegal opcode at address 0x492B75F ==114860== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==114860== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==114860== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==114860== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==114860== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==114860== by 0x49908EB: curl_version_info (version.c:600) ==114860== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==114860== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==114860== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==114860== by 0x4003269: main (tool_main.c:195) === End of file valgrind680 test 0675 [HTTP connection reuse and different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:40921/user1/675 http://user2:foo2@127.0.0.1:40921/user2/675 > log/12/stdout675 2> log/12/stderr675 675: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind675 ../src/curl -q --output log/12/curl675.out --include --trace-ascii log/12/trace675 --trace-time http://user1:foo1@127.0.0.1:40921/user1/675 http://user2:foo2@127.0.0.1:40921/user2/675 > log/12/stdout675 2> log/12/stderr675 === End of file commands.log === Start of file http_server.log 19:27:19.126611 ====> Client connect 19:27:19.126647 accept_connection 3 returned 4 19:27:19.126666 Read 93 bytes 19:27:19.126675 Process 93 bytes request 19:27:19.126687 Got request: GET /verifiedserver HTTP/1.1 19:27:19.126695 Are-we-friendly question received 19:27:19.126722 Wrote request (93 bytes) input to log/12/server.input 19:27:19.126737 Identifying ourselves as friends 19:27:19.126885 Response sent (56 bytes) and written to log/12/server.response 19:27:19.126894 special request received, no persistency 19:27:19.126902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 57524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 675 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind675 ==114766== ==114766== Process terminating with default action of signal 4 (SIGILL) ==114766== Illegal opcode at address 0x492B75F ==114766== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:46461/677 > log/2/stdout677 2> log/2/stderr677 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind681 ../src/curl -q --trace-ascii log/22/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35989/681 > log/22/stdout681 2> log/22/stderr681 14766== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==114766== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==114766== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==114766== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==114766== by 0x49908EB: curl_version_info (version.c:600) ==114766== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==114766== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==114766== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==114766== by 0x4003269: main (tool_main.c:195) === End of file valgrind675 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/imap_server.pid" --logfile "log/2/imap_server.log" --logdir "log/2" --portfile "log/2/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46461 (log/2/server/imap_server.port) RUN: IMAP server is PID 114810 port 46461 * pid imap => 114810 114810 test 0677 [IMAP with CONNECT_ONLY, custom command then exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:46461/677 > log/2/stdout677 2> log/2/stderr677 677: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 677 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:46461/677 > log/2/stdout677 2> log/2/stderr677 === End of file commands.log === Start of file imap_server.log 19:27:19.647149 IMAP server listens on port IPv4/46461 19:27:19.647239 logged pid 114810 in log/2/server/imap_server.pid 19:27:19.647281 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:19.255915 Running IPv4 version 19:27:19.256017 Listening on port 46461 19:27:19.256057 Wrote pid 114838 to log/2/server/imap_sockfilt.pid 19:27:19.256086 Wrote port 46461 to log/2/server/imap_server.port 19:27:19.256234 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 677 === End of file server.cmd === Start of file valgrind677 ==115339== ==115339== Process terminating with default action of signal 4 (SIGILL) ==115339== Illegal opcode at address 0x51CC63F ==115339== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==115339== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==115339== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==115339== by 0x40041AF: main (first.c:264) === End of file valgrind677 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind679 ../src/curl -q --output log/17/curl679.out --include --trace-ascii log/17/trace679 --trace-time --netrc-optional --netrc-file log/17/netrc679 http://127.0.0.1:35993/ > log/17/stdout679 2> log/17/stderr679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33897 > log/20/stdout696 2> log/20/stderr696 test 0681 [--remote-name-all with --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind681 ../src/curl -q --trace-ascii log/22/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35989/681 > log/22/stdout681 2> log/22/stderr681 681: stdout FAILED: --- log/22/check-expected 2026-10-15 19:27:22.076563457 +0000 +++ log/22/check-generated 2026-10-15 19:27:22.072711197 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/22/ directory after test 681 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind681 ../src/curl -q --trace-ascii log/22/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35989/681 > log/22/stdout681 2> log/22/stderr681 === End of file commands.log === Start of file http_server.log 19:27:19.500197 ====> Client connect 19:27:19.500228 accept_connection 3 returned 4 19:27:19.500249 Read 93 bytes 19:27:19.500258 Process 93 bytes request 19:27:19.500270 Got request: GET /verifiedserver HTTP/1.1 19:27:19.500278 Are-we-friendly question received 19:27:19.500302 Wrote request (93 bytes) input to log/22/server.input 19:27:19.500316 Identifying ourselves as friends 19:27:19.500379 Response sent (56 bytes) and written to log/22/server.response 19:27:19.500387 special request received, no persistency 19:27:19.500395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 44720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind681 ==115064== ==115064== Process terminating with default action of signal 4 (SIGILL) ==115064== Illegal opcode at address 0x492B75F ==115064== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115064== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115064== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115064== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115064== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115064== by 0x49908EB: curl_version_info (version.c:600) ==115064== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115064== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115064== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115064== by 0x4003269: main (tool_main.c:195) === End of file valgrind681 test 0679 [netrc with quoted username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind679 ../src/curl -q --output log/17/curl679.out --include --trace-ascii log/17/trace679 --trace-time --netrc-optional --netrc-file log/17/netrc679 http://127.0.0.1:35993/ > log/17/stdout679 2> log/17/stderr679 679: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 679 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind679 ../src/curl -q --output log/17/curl679.out --include --trace-ascii log/17/trace679 --trace-time --netrc-optional --netrc-file log/17/netrc679 http://127.0.0.1:35993/ > log/17/stdout679 2> log/17/stderr679 === End of file commands.log === Start of file http_server.log 19:27:20.367005 ====> Client connect 19:27:20.367043 accept_connection 3 returned 4 19:27:20.367066 Read 93 bytes 19:27:20.367076 Process 93 bytes request 19:27:20.367089 Got request: GET /verifiedserver HTTP/1.1 19:27:20.367098 Are-we-friendly question received 19:27:20.367128 Wrote request (93 bytes) input to log/17/server.input 19:27:20.367147 Identifying ourselves as friends 19:27:20.367219 Response sent (56 bytes) and written to log/17/server.response 19:27:20.367231 special request received, no persistency 19:27:20.367239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 50270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file netrc679 machine 127.0.0.1 login "user one" password "with spaces and \"\n\r\t\a" === End of file netrc679 === Start of file server.cmd Testnum 679 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind679 ==114960== ==114960== Process terminating with default action of signal 4 (SIGILL) ==114960== Illegal opcode at address 0x492B75F ==114960== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==114960== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==114960== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==114960== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==114960== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==114960== by 0x49908EB: curl_version_info (version.c:600) ==114960== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==114960== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==114960== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==114960== by 0x4003269: main (tool_main.c:195) === End of file valgrind679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:38821/we/want/695 > log/13/stdout695 2> log/13/stderr695 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:36161/ > log/3/stdout682 2> log/3/stderr682 test 0696 [CONNECT_ONLY and doing a second curl_easy_perform] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33897 > log/20/stdout696 2> log/20/stderr696 696: stdout FAILED: --- log/20/check-expected 2026-10-15 19:27:22.243630642 +0000 +++ log/20/check-generated 2026-10-15 19:27:22.239402732 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] -HTTP/1.1 200 OK swsclose[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -[CR][LF] --foo-[LF] == Contents of files in the log/20/ directory after test 696 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] HTTP/1.1 200 OK swsclose[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] [CR][LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:33897 > log/20/stdout696 2> log/20/stderr696 === End of file commands.log === Start of file http_server.log 19:27:20.704299 ====> Client connect 19:27:20.704351 accept_connection 3 returned 4 19:27:20.704381 Read 93 bytes 19:27:20.704391 Process 93 bytes request 19:27:20.704405 Got request: GET /verifiedserver HTTP/1.1 19:27:20.704413 Are-we-friendly question received 19:27:20.704441 Wrote request (93 bytes) input to log/20/server.input 19:27:20.704457 Identifying ourselves as friends 19:27:20.704516 Response sent (56 bytes) and written to log/20/server.response 19:27:20.704525 special request received, no persistency 19:27:20.704533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 56136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 696 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind696 ==115880== ==115880== Process terminating with default action of signal 4 (SIGILL) ==115880== Illegal opcode at address 0x51CC63F ==115880== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==115880== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==115880== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==115880== by 0x40041AF: main (first.c:264) === End of file valgrind696 test 0695 [MIME parts reuse as a child part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:38821/we/want/695 > log/13/stdout695 2> log/13/stderr695 695: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 695 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:38821/we/want/695 > log/13/stdout695 2> log/13/stderr695 === End of file commands.log === Start of file http_server.log 19:27:20.539382 ====> Client connect 19:27:20.539420 accept_connection 3 returned 4 19:27:20.539443 Read 93 bytes 19:27:20.539451 Process 93 bytes request 19:27:20.539463 Got request: GET /verifiedserver HTTP/1.1 19:27:20.539470 Are-we-friendly question received 19:27:20.539493 Wrote request (93 bytes) input to log/13/server.input 19:27:20.539507 Identifying ourselves as friends 19:27:20.539585 Response sent (56 bytes) and written to log/13/server.response 19:27:20.539593 special request received, no persistency 19:27:20.539600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 60800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 695 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind695 ==115662== ==115662== Process terminating with default action of signal 4 (SIGILL) ==115662== Illegal opcode at address 0x51CC63F ==115662== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==115662== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==115662== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==115662== by 0x40041AF: main (first.c:264) === End of file valgrind695 test 0682 [netrc with multiple logins - pick first] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:36161/ > log/3/stdout682 2> log/3/stderr682 682: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 682 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind682 ../src/curl -q --output log/3/curl682.out --include --trace-ascii log/3/trace682 --trace-time --netrc-optional --netrc-file log/3/netrc682 http://user1@127.0.0.1:36161/ > log/3/stdout682 2> log/3/stderr682 === End of file commands.log === Start of file http_server.log 19:27:20.753008 ====> Client connect 19:27:20.753042 accept_connection 3 returned 4 19:27:20.753063 Read 93 bytes 19:27:20.753073 Process 93 bytes request 19:27:20.753085 Got request: GET /verifiedserver HTTP/1.1 19:27:20.753094 Are-we-friendly question received 19:27:20.753120 Wrote request (93 bytes) input to log/3/server.input 19:27:20.753136 Identifying ourselves as friends 19:27:20.753196 Response sent (56 bytes) and written to log/3/server.response 19:27:20.753205 special request received, no persistency 19:27:20.753213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 41922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind690 ../src/curl -q --include --trace-ascii log/16/trace690 --trace-time http://127.0.0.1:35903/ -O --output-dir log/16 > log/16/stdout690 2> log/16/stderr690 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind685 ../src/curl -q --output log/23/curl685.out --include --trace-ascii log/23/trace685 --trace-time --netrc-optional --netrc-file log/23/netrc685 http://user@127.0.0.1:44711/ > log/23/stdout685 2> log/23/stderr685 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind684 ../src/curl -q --output log/1/curl684.out --include --trace-ascii log/1/trace684 --trace-time --netrc-optional --netrc-file log/1/netrc684 http://127.0.0.1:38815/ > log/1/stdout684 2> log/1/stderr684 Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file netrc682 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc682 === Start of file server.cmd Testnum 682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind682 ==115160== ==115160== Process terminating with default action of signal 4 (SIGILL) ==115160== Illegal opcode at address 0x492B75F ==115160== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115160== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115160== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115160== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115160== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115160== by 0x49908EB: curl_version_info (version.c:600) ==115160== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115160== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115160== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115160== by 0x4003269: main (tool_main.c:195) === End of file valgrind682 test 0690 [-O with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind690 ../src/curl -q --include --trace-ascii log/16/trace690 --trace-time http://127.0.0.1:35903/ -O --output-dir log/16 > log/16/stdout690 2> log/16/stderr690 690: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 690 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind690 ../src/curl -q --include --trace-ascii log/16/trace690 --trace-time http://127.0.0.1:35903/ -O --output-dir log/16 > log/16/stdout690 2> log/16/stderr690 === End of file commands.log === Start of file http_server.log 19:27:21.269369 ====> Client connect 19:27:21.269402 accept_connection 3 returned 4 19:27:21.269421 Read 93 bytes 19:27:21.269430 Process 93 bytes request 19:27:21.269442 Got request: GET /verifiedserver HTTP/1.1 19:27:21.269450 Are-we-friendly question received 19:27:21.269474 Wrote request (93 bytes) input to log/16/server.input 19:27:21.269488 Identifying ourselves as friends 19:27:21.269544 Response sent (56 bytes) and written to log/16/server.response 19:27:21.269553 special request received, no persistency 19:27:21.269561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 50344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 690 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind690 ==115426== ==115426== Process terminating with default action of signal 4 (SIGILL) ==115426== Illegal opcode at address 0x492B75F ==115426== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115426== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115426== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115426== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115426== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115426== by 0x49908EB: curl_version_info (version.c:600) ==115426== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115426== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115426== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115426== by 0x4003269: main (tool_main.c:195) === End of file valgrind690 test 0685 [netrc with no login - but provided user in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind685 ../src/curl -q --output log/23/curl685.out --include --trace-ascii log/23/trace685 --trace-time --netrc-optional --netrc-file log/23/netrc685 http://user@127.0.0.1:44711/ > log/23/stdout685 2> log/23/stderr685 685: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 685 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind685 ../src/curl -q --output log/23/curl685.out --include --trace-ascii log/23/trace685 --trace-time --netrc-optional --netrc-file log/23/netrc685 http://user@127.0.0.1:44711/ > log/23/stdout685 2> log/23/stderr685 === End of file commands.log === Start of file http_server.log 19:27:20.202188 ====> Client connect 19:27:20.202228 accept_connection 3 returned 4 19:27:20.202249 Read 93 bytes 19:27:20.202259 Process 93 bytes request 19:27:20.202270 Got request: GET /verifiedserver HTTP/1.1 19:27:20.202278 Are-we-friendly question received 19:27:20.202330 Wrote request (93 bytes) input to log/23/server.input 19:27:20.202348 Identifying ourselves as friends 19:27:20.202411 Response sent (56 bytes) and written to log/23/server.response 19:27:20.202421 special request received, no persistency 19:27:20.202429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 43454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file netrc685 machine 127.0.0.1 password firstthis login unknown machine 127.0.0.1 password 5up3r53cr37 machine 127.0.0.1 password d1ff3r3nt login anotherone === End of file netrc685 === Start of file server.cmd Testnum 685 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind685 ==115321== ==115321== Process terminating with default action of signal 4 (SIGILL) ==115321== Illegal opcode at address 0x492B75F ==115321== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115321== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115321== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115321== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115321== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115321== by 0x49908EB: curl_version_info (version.c:600) ==115321== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115321== by 0x4003269: main (tool_main.c:195) === End of file valgrind685 test 0684 [netrc with no login] ../libtool --mode=execute /usr/binCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind683 ../src/curl -q --output log/6/curl683.out --include --trace-ascii log/6/trace683 --trace-time --netrc-optional --netrc-file log/6/netrc683 http://user2@127.0.0.1:33935/ > log/6/stdout683 2> log/6/stderr683 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind686 ../src/curl -q --output log/15/curl686.out --include --trace-ascii log/15/trace686 --trace-time htdhdhdtp://localhost --next > log/15/stdout686 2> log/15/stderr686 /valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind684 ../src/curl -q --output log/1/curl684.out --include --trace-ascii log/1/trace684 --trace-time --netrc-optional --netrc-file log/1/netrc684 http://127.0.0.1:38815/ > log/1/stdout684 2> log/1/stderr684 684: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind684 ../src/curl -q --output log/1/curl684.out --include --trace-ascii log/1/trace684 --trace-time --netrc-optional --netrc-file log/1/netrc684 http://127.0.0.1:38815/ > log/1/stdout684 2> log/1/stderr684 === End of file commands.log === Start of file http_server.log 19:27:21.200367 ====> Client connect 19:27:21.200404 accept_connection 3 returned 4 19:27:21.200426 Read 93 bytes 19:27:21.200436 Process 93 bytes request 19:27:21.200450 Got request: GET /verifiedserver HTTP/1.1 19:27:21.200459 Are-we-friendly question received 19:27:21.200488 Wrote request (93 bytes) input to log/1/server.input 19:27:21.200505 Identifying ourselves as friends 19:27:21.200574 Response sent (56 bytes) and written to log/1/server.response 19:27:21.200585 special request received, no persistency 19:27:21.200594 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 60196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file netrc684 machine 127.0.0.1 password 5up3r53cr37 === End of file netrc684 === Start of file server.cmd Testnum 684 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind684 ==115322== ==115322== Process terminating with default action of signal 4 (SIGILL) ==115322== Illegal opcode at address 0x492B75F ==115322== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115322== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115322== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115322== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115322== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115322== by 0x49908EB: curl_version_info (version.c:600) ==115322== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115322== by 0x4003269: main (tool_main.c:195) === End of file valgrind684 test 0683 [netrc with multiple logins - pick second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind683 ../src/curl -q --output log/6/curl683.out --include --trace-ascii log/6/trace683 --trace-time --netrc-optional --netrc-file log/6/netrc683 http://user2@127.0.0.1:33935/ > log/6/stdout683 2> log/6/stderr683 683: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 683 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind683 ../src/curl -q --output log/6/curl683.out --include --trace-ascii log/6/trace683 --trace-time --netrc-optional --netrc-file log/6/netrc683 http://user2@127.0.0.1:33935/ > log/6/stdout683 2> log/6/stderr683 === End of file commands.log === Start of file http_server.log 19:27:20.069799 ====> Client connect 19:27:20.069837 accept_connection 3 returned 4 19:27:20.069862 Read 93 bytes 19:27:20.069872 Process 93 bytes request 19:27:20.069886 Got request: GET /verifiedserver HTTP/1.1 19:27:20.069895 Are-we-friendly question received 19:27:20.069924 Wrote request (93 bytes) input to log/6/server.input 19:27:20.069940 Identifying ourselves as friends 19:27:20.070001 Response sent (56 bytes) and written to log/6/server.response 19:27:20.070010 special request received, no persistency 19:27:20.070019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 37422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file netrc683 machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc683 === Start of file server.cmd Testnum 683 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind683 ==115234== ==115234== Process terminating with default action of signal 4 (SIGILL) ==115234== Illegal opcode at address 0x492B75F ==115234== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115234== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115234== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115234== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115234== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115234== by 0x49908EB: curl_version_info (version.c:600) ==115234== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115234== by 0x4003269: main (tool_main.c:195) === End of file valgrind683 test 0686 [verify return code for missing URL after --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind686 ../src/curl -q --output log/15/curl686.out --include --trace-ascii log/15/trace686 --trace-time htdhdhdtp://localhost --next > log/15/stdout686 2> log/15/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/15/ directory after test 686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind686 ../src/curl -q --output log/15/curl686.out --include --trace-ascii log/15/trace686 --trace-time htdhdhdtp://localhost --next > log/15/stdout686 2> log/15/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==115294== ==115294== Process terminating with default action of signal 4 (SIGILL) ==115294== Illegal opcode at address 0x492B75F ==115294== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115294== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115294== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115294== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115294== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==11CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-time http://127.0.0.1:44467/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37539/689 > log/19/stdout689 2> log/19/stderr689 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind693 ../src/curl -q --output log/14/curl693.out --include --trace-ascii log/14/trace693 --trace-time http://127.0.0.1:45467/693 --etag-save log/14/moo/boo/etag693 --create-dirs > log/14/stdout693 2> log/14/stderr693 5294== by 0x49908EB: curl_version_info (version.c:600) ==115294== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115294== by 0x4003269: main (tool_main.c:195) === End of file valgrind686 test 0691 [-O with URL with path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-time http://127.0.0.1:44467/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 691: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 691 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind691 ../src/curl -q --include --trace-ascii log/8/trace691 --trace-time http://127.0.0.1:44467/path/to/here/ -O --output-dir log/8 > log/8/stdout691 2> log/8/stderr691 === End of file commands.log === Start of file http_server.log 19:27:20.457726 ====> Client connect 19:27:20.457768 accept_connection 3 returned 4 19:27:20.457790 Read 93 bytes 19:27:20.457799 Process 93 bytes request 19:27:20.457812 Got request: GET /verifiedserver HTTP/1.1 19:27:20.457821 Are-we-friendly question received 19:27:20.457849 Wrote request (93 bytes) input to log/8/server.input 19:27:20.457865 Identifying ourselves as friends 19:27:20.457936 Response sent (56 bytes) and written to log/8/server.response 19:27:20.457945 special request received, no persistency 19:27:20.457953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 42446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 691 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind691 ==115633== ==115633== Process terminating with default action of signal 4 (SIGILL) ==115633== Illegal opcode at address 0x492B75F ==115633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115633== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115633== by 0x49908EB: curl_version_info (version.c:600) ==115633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115633== by 0x4003269: main (tool_main.c:195) === End of file valgrind691 test 0693 [--etag-save with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind693 ../src/curl -q --output log/14/curl693.out --include --trace-ascii log/14/trace693 --trace-time http://127.0.0.1:45467/693 --etag-save log/14/moo/boo/etag693 --create-dirs > log/14/stdout693 2> log/14/stderr693 693: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 693 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind693 ../src/curl -q --output log/14/curl693.out --include --trace-ascii log/14/trace693 --trace-time http://127.0.0.1:45467/693 --etag-save log/14/moo/boo/etag693 --create-dirs > log/14/stdout693 2> log/14/stderr693 === End of file commands.log === Start of file http_server.log 19:27:20.549901 ====> Client connect 19:27:20.549935 accept_connection 3 returned 4 19:27:20.549956 Read 93 bytes 19:27:20.549965 Process 93 bytes request 19:27:20.549977 Got request: GET /verifiedserver HTTP/1.1 19:27:20.549986 Are-we-friendly question received 19:27:20.550012 Wrote request (93 bytes) input to log/14/server.input 19:27:20.550028 Identifying ourselves as friends 19:27:20.550091 Response sent (56 bytes) and written to log/14/server.response 19:27:20.550101 special request received, no persistency 19:27:20.550109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 42786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 693 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind693 ==115664== ==115664== Process terminating with default action of signal 4 (SIGILL) ==115664== Illegal opcode at address 0x492B75F ==115664== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115664== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115664== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115664== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115664== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115664== by 0x49908EB: curl_version_info (version.c:600) ==115664== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115664== by 0x4003269: main (tool_main.c:195) === End of file valgrind693 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/19/server/rtsp_server.pid" --portfile "log/19/server/rtsp_server.port" --logfile "log/19/rtsp_server.log" --logdir "log/19" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 115289 port 37539 * pid rtsp => 115289 115289 test 0689 [fuzzing crash issue #12701] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37539/689 > log/19/stdout689 2> log/19/stderr689 689: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 689 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:37539/689 > log/19/stdout689 2> log/19/stderr689 === End of file commands.log === Start of file rtsp_server.log 19:27:20.210479 Running IPv4 version on port 37539 19:27:20.210608 Wrote pid 115289 to log/19/server/rtsp_server.pid 19:27:20.21CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind692 ../src/curl -q --trace-ascii log/18/trace692 --trace-time http://127.0.0.1:43739/ -JO --output-dir log/18 > log/18/stdout692 2> log/18/stderr692 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind698 ../src/curl -q --output log/5/curl698.out --include --trace-ascii log/5/trace698 --trace-time ftp://127.0.0.1:39641/698 --ftp-account "one count" ftp://127.0.0.1:39641/698 > log/5/stdout698 2> log/5/stderr698 0650 Wrote port 37539 to log/19/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file valgrind689 ==116138== ==116138== Process terminating with default action of signal 4 (SIGILL) ==116138== Illegal opcode at address 0x51CC63F ==116138== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==116138== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==116138== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==116138== by 0x40041AF: main (first.c:264) === End of file valgrind689 test 0692 [-JO with URL without path using trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind692 ../src/curl -q --trace-ascii log/18/trace692 --trace-time http://127.0.0.1:43739/ -JO --output-dir log/18 > log/18/stdout692 2> log/18/stderr692 692: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind692 ../src/curl -q --trace-ascii log/18/trace692 --trace-time http://127.0.0.1:43739/ -JO --output-dir log/18 > log/18/stdout692 2> log/18/stderr692 === End of file commands.log === Start of file http_server.log 19:27:21.543425 ====> Client connect 19:27:21.543465 accept_connection 3 returned 4 19:27:21.543488 Read 93 bytes 19:27:21.543498 Process 93 bytes request 19:27:21.543510 Got request: GET /verifiedserver HTTP/1.1 19:27:21.543518 Are-we-friendly question received 19:27:21.543548 Wrote request (93 bytes) input to log/18/server.input 19:27:21.543564 Identifying ourselves as friends 19:27:21.543630 Response sent (56 bytes) and written to log/18/server.response 19:27:21.543642 special request received, no persistency 19:27:21.543651 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 692 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind692 ==115672== ==115672== Process terminating with default action of signal 4 (SIGILL) ==115672== Illegal opcode at address 0x492B75F ==115672== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115672== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115672== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115672== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115672== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115672== by 0x49908EB: curl_version_info (version.c:600) ==115672== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115672== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115672== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115672== by 0x4003269: main (tool_main.c:195) === End of file valgrind692 test 0698 [FTP with ACCT and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind698 ../src/curl -q --output log/5/curl698.out --include --trace-ascii log/5/trace698 --trace-time ftp://127.0.0.1:39641/698 --ftp-account "one count" ftp://127.0.0.1:39641/698 > log/5/stdout698 2> log/5/stderr698 698: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 698 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind698 ../src/curl -q --output log/5/curl698.out --include --trace-ascii log/5/trace698 --trace-time ftp://127.0.0.1:39641/698 --ftp-account "one count" ftp://127.0.0.1:39641/698 > log/5/stdout698 2> log/5/stderr698 === End of file commands.log === Start of file ftp_server.log 19:27:21.162161 ====> Client connect 19:27:21.162387 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:21.166575 < "USER anonymous" 19:27:21.166626 > "331 We are happy you popped in![CR][LF]" 19:27:21.166812 < "PASS ftp@example.com" 19:27:21.166839 > "230 Welcome you silly person[CR][LF]" 19:27:21.167055 < "PWD" 19:27:21.167089 > "257 "/" is current directory[CR][LF]" 19:27:21.167243 < "EPSV" 19:27:21.167269 ====> Passive DATA channel requested by client 19:27:21.167283 DATA sockfilt for passive data channel starting... 19:27:21.176947 DATA sockfilt for passive data channel started (pid 115904) 19:27:21.177116 DATA sockfilt for passive data channel listens on port 37321 19:27:21.177167 > "229 Entering Passive Mode (|||37321|)[CR][LF]" 19:27:21.177185 Client has been notified that upcoming DATA connection is awaited on port 37321 19:27:21.177481 Client connects to port 37321 19:27:21.177513 ====> Client established passive DATA connection on port 37321 19:27:21.177650 < "TYPE I" 19:27:21.177686 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:21.178225 < "SIZE verifiedserver" 19:27:21.178264 > "213 17[CR][LF]" 19:27:21.178430 < "RETR verifiedserver" 19:27:21.178465 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:21.178563 =====> Closing passive DATA connection... 19:27:21.178582 Server disconnects passive DATA connection 19:27:21.178717 Server disconnected passive DATA connection 19:27:21.178741 DATA sockfilt for passive data channel quits (pid 115904) 19:27:21.178997 DATA sockfilt for passive data channel quit (pid 115904) 19:27:21.179019 =====> Closed passive DATA connection 19:27:21.179042 > "226 File transfer complete[CR][LF]" 19:27:21.235521 < "QUIT" 19:27:21.235580 > "221 bye bye baby[CR][LF]" 19:27:21.236563 MAIN sockfilt said DISC 19:27:21.236595 ====> Client disconnected 19:27:21.236672 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:20.770972 ====> Client connect 19:27:20.771371 Received DATA (on stdin) 19:27:20.771389 > 146 bytes data, server => client 19:27:20.771401 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:20.771411 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:20.771420 '220 \___|\___/|_| \_\_____|\r\n' 19:27:20.775220 < 16 bytes data, client => server 19:27:20.775247 'USER anonymous\r\n' 19:27:20.775586 Received DATA (on stdin) 19:27:20.775600 > 33 bytes data, server => client 19:27:20.775609 '331 We are happy you popped in!\r\n' 19:27:20.775667 < 22 bytes data, client => server 19:27:20.775677 'PASS ftp@example.com\r\n' 19:27:20.775789 Received DATA (on stdin) 19:27:20.775798 > 30 bytes data, server => client 19:27:20.775807 '230 Welcome you silly person\r\n' 19:27:20.775853 < 5 bytes data, client => server 19:27:20.775862 'PWD\r\n' 19:27:20.776040 Received DATA (on stdin) 19:27:20.776050 > 30 bytes data, server => client 19:27:20.776059 '257 "/" is current directory\r\n' 19:27:20.776118 < 6 bytes data, client => server 19:27:20.776127 'EPSV\r\n' 19:27:20.786147 Received DATA (on stdin) 19:27:20.786164 > 39 bytes data, server => client 19:27:20.786174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind697 ../src/curl -q --output log/7/curl697.out --include --trace-ascii log/7/trace697 --trace-time --netrc --netrc-file log/7/netrc697 http://user1@http.example/ > log/7/stdout697 2> log/7/stderr697 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind699 ../src/curl -q --output log/9/curl699.out --include --trace-ascii log/9/trace699 --trace-time http://127.0.0.1:43733/699 -K log/9/cmd > log/9/stdout699 2> log/9/stderr699 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind705 ../src/curl -q --output log/12/curl705.out --include --trace-ascii log/12/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:40921/705 > log/12/stdout705 2> log/12/stderr705 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind704 ../src/curl -q --output log/11/curl704.out --include --trace-ascii log/11/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:40989/704 > log/11/stdout704 2> log/11/stderr704 '229 Entering Passive Mode (|||37321|)\r\n' 19:27:20.786485 < 8 bytes data, client => server 19:27:20.786497 'TYPE I\r\n' 19:27:20.786640 Received DATA (on stdin) 19:27:20.786650 > 33 bytes data, server => client 19:27:20.786661 '200 I modify TYPE as you wanted\r\n' 19:27:20.787078 < 21 bytes data, client => server 19:27:20.787095 'SIZE verifiedserver\r\n' 19:27:20.787218 Received DATA (on stdin) 19:27:20.787231 > 8 bytes data, server => client 19:27:20.787241 '213 17\r\n' 19:27:20.787294 < 21 bytes data, client => server 19:27:20.787305 'RETR verifiedserver\r\n' 19:27:20.787992 Received DATA (on stdin) 19:27:20.788003 > 29 bytes data, server => client 19:27:20.788012 '150 Binary junk (17 bytes).\r\n' 19:27:20.788035 Received DATA (on stdin) 19:27:20.788044 > 28 bytes data, server => client 19:27:20.788053 '226 File transfer complete\r\n' 19:27:20.844274 < 6 bytes data, client => server 19:27:20.844301 'QUIT\r\n' 19:27:20.844528 Received DATA (on stdin) 19:27:20.844540 > 18 bytes data, server => client 19:27:20.844550 '221 bye bye baby\r\n' 19:27:20.845452 ====> Client disconnect 19:27:20.845618 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:21.785122 Running IPv4 version 19:27:21.785253 Listening on port 37321 19:27:21.785294 Wrote pid 115904 to log/5/server/ftp_sockdata.pid 19:27:21.785828 Received PING (on stdin) 19:27:21.785964 Received PORT (on stdin) 19:27:21.786379 ====> Client connect 19:27:21.787534 Received DATA (on stdin) 19:27:21.787546 > 17 bytes data, server => client 19:27:21.787556 'WE ROOLZ: 85245\r\n' 19:27:21.787585 Received DISC (on stdin) 19:27:21.787612 ====> Client forcibly disconnected 19:27:21.787697 Received QUIT (on stdin) 19:27:21.787706 quits 19:27:21.787770 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name REPLY ACCT 230 thank you Testnum 698 === End of file server.cmd === Start of file valgrind698 ==115999== ==115999== Process terminating with default action of signal 4 (SIGILL) ==115999== Illegal opcode at address 0x492B75F ==115999== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115999== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115999== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115999== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115999== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115999== by 0x49908EB: curl_version_info (version.c:600) ==115999== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115999== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115999== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115999== by 0x4003269: main (tool_main.c:195) === End of file valgrind698 test 0697 [netrc with missing netrc file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind697 ../src/curl -q --output log/7/curl697.out --include --trace-ascii log/7/trace697 --trace-time --netrc --netrc-file log/7/netrc697 http://user1@http.example/ > log/7/stdout697 2> log/7/stderr697 curl returned 132, when expecting 2 697: exit FAILED == Contents of files in the log/7/ directory after test 697 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind697 ../src/curl -q --output log/7/curl697.out --include --trace-ascii log/7/trace697 --trace-time --netrc --netrc-file log/7/netrc697 http://user1@http.example/ > log/7/stdout697 2> log/7/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==115747== ==115747== Process terminating with default action of signal 4 (SIGILL) ==115747== Illegal opcode at address 0x492B75F ==115747== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==115747== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==115747== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==115747== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==115747== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==115747== by 0x49908EB: curl_version_info (version.c:600) ==115747== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==115747== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==115747== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==115747== by 0x4003269: main (tool_main.c:195) === End of file valgrind697 test 0699 [--config with single-letter options plus one that is cleared] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind699 ../src/curl -q --output log/9/curl699.out --include --trace-ascii log/9/trace699 --trace-time http://127.0.0.1:43733/699 -K log/9/cmd > log/9/stdout699 2> log/9/stderr699 699: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 699 === Start of file cmd -Lfuhej:you === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind699 ../src/curl -q --output log/9/curl699.out --include --trace-ascii log/9/trace699 --trace-time http://127.0.0.1:43733/699 -K log/9/cmd > log/9/stdout699 2> log/9/stderr699 === End of file commands.log === Start of file http_server.log 19:27:20.844350 ====> Client connect 19:27:20.844394 accept_connection 3 returned 4 19:27:20.844420 Read 93 bytes 19:27:20.844430 Process 93 bytes request 19:27:20.844443 Got request: GET /verifiedserver HTTP/1.1 19:27:20.844451 Are-we-friendly question received 19:27:20.844481 Wrote request (93 bytes) input to log/9/server.input 19:27:20.844498 Identifying ourselves as friends 19:27:20.844588 Response sent (56 bytes) and written to log/9/server.response 19:27:20.844599 special request received, no persistency 19:27:20.844607 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 699 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind699 ==116008== ==116008== Process terminating with default action of signal 4 (SIGILL) ==116008== Illegal opcode at address 0x492B75F ==116008== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116008== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116008== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116008== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116008== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116008== by 0x49908EB: curl_version_info (version.c:600) ==116008== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116008== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116008== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116008== by 0x4003269: main (tool_main.c:195) === End of file valgrind699 test 0705 [Attempt connect to non-listening SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-calCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind702 ../src/curl -q --output log/4/curl702.out --include --trace-ascii log/4/trace702 --trace-time --socks4 127.0.0.1:44355 http://127.0.0.1:47 > log/4/stdout702 2> log/4/stderr702 lers=16 --log-file=log/12/valgrind705 ../src/curl -q --output log/12/curl705.out --include --trace-ascii log/12/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:40921/705 > log/12/stdout705 2> log/12/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/12/ directory after test 705 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind705 ../src/curl -q --output log/12/curl705.out --include --trace-ascii log/12/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:40921/705 > log/12/stdout705 2> log/12/stderr705 === End of file commands.log === Start of file http_server.log 19:27:21.632642 ====> Client connect 19:27:21.632681 accept_connection 3 returned 4 19:27:21.632703 Read 93 bytes 19:27:21.632712 Process 93 bytes request 19:27:21.632725 Got request: GET /verifiedserver HTTP/1.1 19:27:21.632733 Are-we-friendly question received 19:27:21.634154 Wrote request (93 bytes) input to log/12/server.input 19:27:21.634240 Identifying ourselves as friends 19:27:21.634324 Response sent (56 bytes) and written to log/12/server.response 19:27:21.634335 special request received, no persistency 19:27:21.634343 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 51172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 705 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind705 ==116244== ==116244== Process terminating with default action of signal 4 (SIGILL) ==116244== Illegal opcode at address 0x492B75F ==116244== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116244== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116244== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116244== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116244== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116244== by 0x49908EB: curl_version_info (version.c:600) ==116244== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116244== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116244== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116244== by 0x4003269: main (tool_main.c:195) === End of file valgrind705 test 0704 [Attempt connect to non-listening SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind704 ../src/curl -q --output log/11/curl704.out --include --trace-ascii log/11/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:40989/704 > log/11/stdout704 2> log/11/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/11/ directory after test 704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind704 ../src/curl -q --output log/11/curl704.out --include --trace-ascii log/11/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:40989/704 > log/11/stdout704 2> log/11/stderr704 === End of file commands.log === Start of file http_server.log 19:27:21.623271 ====> Client connect 19:27:21.623323 accept_connection 3 returned 4 19:27:21.623348 Read 93 bytes 19:27:21.623358 Process 93 bytes request 19:27:21.623370 Got request: GET /verifiedserver HTTP/1.1 19:27:21.623379 Are-we-friendly question received 19:27:21.623405 Wrote request (93 bytes) input to log/11/server.input 19:27:21.623422 Identifying ourselves as friends 19:27:21.623484 Response sent (56 bytes) and written to log/11/server.response 19:27:21.623494 special request received, no persistency 19:27:21.623503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 35342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind704 ==116235== ==116235== Process terminating with default action of signal 4 (SIGILL) ==116235== Illegal opcode at address 0x492B75F ==116235== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116235== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116235== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116235== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116235== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116235== by 0x49908EB: curl_version_info (version.c:600) ==116235== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116235== by 0x4003269: main (tool_main.c:195) === End of file valgrind704 startnew: ./server/servers socksd --port 0 --pidfile log/4/server/socks_server.pid --portfile log/4/server/socks_server.port --reqfile log/4/socksd-request.log --logfile log/4/socks_server.log --backend 127.0.0.1 --config log/4/server.cmd RUN: SOCKS server is now running PID 116118 * pid socks => 116118 116118 test 0702 [Attempt connect to non-listening HTTP server via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind702 ../src/curl -q --output log/4/curl702.out --include --trace-ascii log/4/trace702 --trace-time --socks4 127.0.0.1:44355 http://127.0.0.1:47 > log/4/stdout702 2> log/4/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/4/ directory after test 702 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind702 ../src/curl -q --output log/4/curl702.out --include --trace-ascii log/4/trace702 --trace-time --socks4 127.0.0.1:44355 http://127.0.0.1:47 > log/4/stdout702 2> log/4/stderr702 === End of file commands.log === Start of file server.cmd response 91 Testnum 702 === End of file server.cmd === Start of file socks_server.log 19:27:21.073484 Running IPv4 version 19:27:21.073586 Listening on port 44355 19:27:21.073621 Wrote pid 116118 to log/4/server/socks_server.pid 19:27:21.073648 Wrote port 44355 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==116485== ==116485== Process terminating with default action of signal 4 (SIGILL) ==116485== Illegal opcode at address 0x492B75F ==116485== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116485== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116485== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116485== by 0x49A9B9E: Curl_ossl_version (openssl.c:547CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind701 ../src/curl -q --output log/24/curl701.out --include --trace-ascii log/24/trace701 --trace-time --socks5 127.0.0.1:44947 http://127.0.0.1:38895/701 > log/24/stdout701 2> log/24/stderr701 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind703 ../src/curl -q --output log/10/curl703.out --include --trace-ascii log/10/trace703 --trace-time --socks5 127.0.0.1:36847 http://127.0.0.1:47 > log/10/stdout703 2> log/10/stderr703 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind700 ../src/curl -q --output log/21/curl700.out --include --trace-ascii log/21/trace700 --trace-time --socks4 127.0.0.1:36491 http://127.0.0.1:39881/700 > log/21/stdout700 2> log/21/stderr700 3) ==116485== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116485== by 0x49908EB: curl_version_info (version.c:600) ==116485== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116485== by 0x4003269: main (tool_main.c:195) === End of file valgrind702 startnew: ./server/servers socksd --port 0 --pidfile log/24/server/socks_server.pid --portfile log/24/server/socks_server.port --reqfile log/24/socksd-request.log --logfile log/24/socks_server.log --backend 127.0.0.1 --config log/24/server.cmd RUN: SOCKS server is now running PID 116104 * pid socks => 116104 116104 test 0701 [HTTP GET via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind701 ../src/curl -q --output log/24/curl701.out --include --trace-ascii log/24/trace701 --trace-time --socks5 127.0.0.1:44947 http://127.0.0.1:38895/701 > log/24/stdout701 2> log/24/stderr701 701: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 701 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind701 ../src/curl -q --output log/24/curl701.out --include --trace-ascii log/24/trace701 --trace-time --socks5 127.0.0.1:44947 http://127.0.0.1:38895/701 > log/24/stdout701 2> log/24/stderr701 === End of file commands.log === Start of file http_server.log 19:27:21.023901 ====> Client connect 19:27:21.023938 accept_connection 3 returned 4 19:27:21.023961 Read 93 bytes 19:27:21.023971 Process 93 bytes request 19:27:21.023983 Got request: GET /verifiedserver HTTP/1.1 19:27:21.023992 Are-we-friendly question received 19:27:21.024022 Wrote request (93 bytes) input to log/24/server.input 19:27:21.024040 Identifying ourselves as friends 19:27:21.024107 Response sent (56 bytes) and written to log/24/server.response 19:27:21.024118 special request received, no persistency 19:27:21.024127 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 42402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 701 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file socks_server.log 19:27:21.041436 Running IPv4 version 19:27:21.044289 Listening on port 44947 19:27:21.044340 Wrote pid 116104 to log/24/server/socks_server.pid 19:27:21.044398 Wrote port 44947 to log/24/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==116469== ==116469== Process terminating with default action of signal 4 (SIGILL) ==116469== Illegal opcode at address 0x492B75F ==116469== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116469== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116469== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116469== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116469== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116469== by 0x49908EB: curl_version_info (version.c:600) ==116469== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116469== by 0x4003269: main (tool_main.c:195) === End of file valgrind701 startnew: ./server/servers socksd --port 0 --pidfile log/10/server/socks_server.pid --portfile log/10/server/socks_server.port --reqfile log/10/socksd-request.log --logfile log/10/socks_server.log --backend 127.0.0.1 --config log/10/server.cmd RUN: SOCKS server is now running PID 116160 * pid socks => 116160 116160 test 0703 [Attempt connect to non-listening HTTP server via SOCKS5 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind703 ../src/curl -q --output log/10/curl703.out --include --trace-ascii log/10/trace703 --trace-time --socks5 127.0.0.1:36847 http://127.0.0.1:47 > log/10/stdout703 2> log/10/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/10/ directory after test 703 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind703 ../src/curl -q --output log/10/curl703.out --include --trace-ascii log/10/trace703 --trace-time --socks5 127.0.0.1:36847 http://127.0.0.1:47 > log/10/stdout703 2> log/10/stderr703 === End of file commands.log === Start of file server.cmd response 1 Testnum 703 === End of file server.cmd === Start of file socks_server.log 19:27:21.296975 Running IPv4 version 19:27:21.297081 Listening on port 36847 19:27:21.297128 Wrote pid 116160 to log/10/server/socks_server.pid 19:27:21.297165 Wrote port 36847 to log/10/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==116599== ==116599== Process terminating with default action of signal 4 (SIGILL) ==116599== Illegal opcode at address 0x492B75F ==116599== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116599== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116599== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116599== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116599== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116599== by 0x49908EB: curl_version_info (version.c:600) ==116599== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116599== by 0x4003269: main (tool_main.c:195) === End of file valgrind703 startnew: ./server/servers socksd --port 0 --pidfile log/21/server/socks_server.pid --portfile log/21/server/socks_server.port --reqfile log/21/socksd-request.log --logfile log/21/socks_server.log --backend 127.0.0.1 --config log/21/server.cmd RUN: SOCKS server is now running PID 115986 * pid socks => 115986 115986 test 0700 [HTTP GET via SOCKS4 proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind700 ../src/curl -q --output log/21/curl700.out --include --trace-ascii log/21/trace700 --trace-time --socks4 127.0.0.1:36491 http://127.0.0.1:39881/700 > log/21/stdout700 2> log/21/stderr700 700: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 700 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind700 ../src/curl -q --output log/21/curl700.out --include --trace-ascii log/21/trace700 --trace-time --socks4 127.0.0.1:36491 http://127.0.0.1:39881/700 > log/21/stdout700 2> log/21/stderr700 === End of file commands.log === Start of file http_server.log 19:27:20.837649 ====> Client connect 19:27:20.837683 accepCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind706 ../src/curl -q --output log/2/curl706.out --include --trace-ascii log/2/trace706 --trace-time --socks4 127.0.0.1:36107 ftp://127.0.0.1:38033/ > log/2/stdout706 2> log/2/stderr706 t_connection 3 returned 4 19:27:20.837835 Read 93 bytes 19:27:20.837846 Process 93 bytes request 19:27:20.837858 Got request: GET /verifiedserver HTTP/1.1 19:27:20.837867 Are-we-friendly question received 19:27:20.837892 Wrote request (93 bytes) input to log/21/server.input 19:27:20.837909 Identifying ourselves as friends 19:27:20.837962 Response sent (56 bytes) and written to log/21/server.response 19:27:20.837970 special request received, no persistency 19:27:20.837977 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 51576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 700 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file socks_server.log 19:27:21.846583 Running IPv4 version 19:27:21.846654 Listening on port 36491 19:27:21.846691 Wrote pid 115986 to log/21/server/socks_server.pid 19:27:21.846720 Wrote port 36491 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==116389== ==116389== Process terminating with default action of signal 4 (SIGILL) ==116389== Illegal opcode at address 0x492B75F ==116389== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116389== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116389== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116389== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116389== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116389== by 0x49908EB: curl_version_info (version.c:600) ==116389== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116389== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116389== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116389== by 0x4003269: main (tool_main.c:195) === End of file valgrind700 startnew: ./server/servers socksd --port 0 --pidfile log/2/server/socks_server.pid --portfile log/2/server/socks_server.port --reqfile log/2/socksd-request.log --logfile log/2/socks_server.log --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS server is now running PID 116357 * pid socks => 116357 116357 test 0706 [FTP dir list PASV via SOCKS4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind706 ../src/curl -q --output log/2/curl706.out --include --trace-ascii log/2/trace706 --trace-time --socks4 127.0.0.1:36107 ftp://127.0.0.1:38033/ > log/2/stdout706 2> log/2/stderr706 706: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 706 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind706 ../src/curl -q --output log/2/curl706.out --include --trace-ascii log/2/trace706 --trace-time --socks4 127.0.0.1:36107 ftp://127.0.0.1:38033/ > log/2/stdout706 2> log/2/stderr706 === End of file commands.log === Start of file ftp_server.log 19:27:22.119601 ====> Client connect 19:27:22.119817 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.125655 < "USER anonymous" 19:27:22.125822 > "331 We are happy you popped in![CR][LF]" 19:27:22.125887 < "PASS ftp@example.com" 19:27:22.125912 > "230 Welcome you silly person[CR][LF]" 19:27:22.127271 < "PWD" 19:27:22.127308 > "257 "/" is current directory[CR][LF]" 19:27:22.127500 < "EPSV" 19:27:22.127523 ====> Passive DATA channel requested by client 19:27:22.127536 DATA sockfilt for passive data channel starting... 19:27:22.132808 DATA sockfilt for passive data channel started (pid 116309) 19:27:22.132934 DATA sockfilt for passive data channel listens on port 46317 19:27:22.132974 > "229 Entering Passive Mode (|||46317|)[CR][LF]" 19:27:22.132991 Client has been notified that upcoming DATA connection is awaited on port 46317 19:27:22.133266 Client connects to port 46317 19:27:22.133300 ====> Client established passive DATA connection on port 46317 19:27:22.133374 < "TYPE I" 19:27:22.133401 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.133547 < "SIZE verifiedserver" 19:27:22.133578 > "213 17[CR][LF]" 19:27:22.133706 < "RETR verifiedserver" 19:27:22.133737 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.133819 =====> Closing passive DATA connection... 19:27:22.133833 Server disconnects passive DATA connection 19:27:22.134039 Server disconnected passive DATA connection 19:27:22.134067 DATA sockfilt for passive data channel quits (pid 116309) 19:27:22.134287 DATA sockfilt for passive data channel quit (pid 116309) 19:27:22.134316 =====> Closed passive DATA connection 19:27:22.134344 > "226 File transfer complete[CR][LF]" 19:27:22.185698 < "QUIT" 19:27:22.185766 > "221 bye bye baby[CR][LF]" 19:27:22.187121 MAIN sockfilt said DISC 19:27:22.187164 ====> Client disconnected 19:27:22.187253 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:21.728106 ====> Client connect 19:27:21.728645 Received DATA (on stdin) 19:27:21.728661 > 146 bytes data, server => client 19:27:21.728673 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:21.728683 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:21.728692 '220 \___|\___/|_| \_\_____|\r\n' 19:27:21.734242 < 16 bytes data, client => server 19:27:21.734269 'USER anonymous\r\n' 19:27:21.734493 Received DATA (on stdin) 19:27:21.734505 > 33 bytes data, server => client 19:27:21.734523 '331 We are happy you popped in!\r\n' 19:27:21.734576 < 22 bytes data, client => server 19:27:21.734587 'PASS ftp@example.com\r\n' 19:27:21.734719 Received DATA (on stdin) 19:27:21.734729 > 30 bytes data, server => client 19:27:21.734738 '230 Welcome you silly person\r\n' 19:27:21.734791 < 5 bytes data, client => server 19:27:21.734802 'PWD\r\n' 19:27:21.736116 Received DATA (on stdin) 19:27:21.736127 > 30 bytes data, server => client 19:27:21.736137 '257 "/" is current directory\r\n' 19:27:21.736203 < 6 bytes data, client => server 19:27:21.736213 'EPSV\r\n' 19:27:21.741803 Received DATA (on stdin) 19:27:21.741815 > 39 bytes data, server => client 19:27:21.741825 '229 Entering Passive Mode (|||46317|)\r\n' 19:27:21.742020 < 8 bytes data, client => server 19:27:21.742030 'TYPE I\r\n' 19:27:21.742206 Received DATA (on stdin) 19:27:21.742215 > 33 bytes data, server => client 19:27:21.742225 '200 I modify TYPE as you wanted\r\n' 19:27:21.742275 < 21 bytes data, client => server 19:27:21.742283 'SIZE verifiedserver\r\n' 19:27:21.742380 Received DATA (on stdin) 19:27:21.742389 > 8 bytes data, server => client 19:27:21.742397 '213 17\r\n' 19:27:21.742439 < 21 bytes data, client => server 19:27:21.742448 'RETR verifiedserver\r\n' 19:27:21.742713 Received DATA (on stdin) 19:27:21.742723 > 29 bytes data, server => client 19:27:21.742732 '150 Binary junk (17 bytes).\r\n' 19:27:21.743152 Received DATA (on stdin) 19:27:21.743163 > 28 bytes data, server => client 19:27:21.743172 '226 File transfer complete\r\n' 19:27:21.794266 < 6 bytes data, client => server 19:27:21.794302 'QUIT\r\n' 19:27:21.794584 Received DATA (on stdin) 19:27:21.794601 > 18 bytes data, server => client 19:27:21.794611 '221 bye bye baby\r\n' 19:27:21.795857 ====> Client disconnect 19:27:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind718 ../src/curl -q --output log/19/curl718.out --include --trace-ascii log/19/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:46497 --proxytunnel > log/19/stdout718 2> log/19/stderr718 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind707 ../src/curl -q --output log/22/curl707.out --include --trace-ascii log/22/trace707 --trace-time --socks5 127.0.0.1:33567 ftp://127.0.0.1:33255/ > log/22/stdout707 2> log/22/stderr707 21.796065 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.741102 Running IPv4 version 19:27:22.741182 Listening on port 46317 19:27:22.741217 Wrote pid 116309 to log/2/server/ftp_sockdata.pid 19:27:22.741369 Received PING (on stdin) 19:27:22.741646 Received PORT (on stdin) 19:27:22.741993 ====> Client connect 19:27:22.742637 Received DATA (on stdin) 19:27:22.742648 > 17 bytes data, server => client 19:27:22.742657 'WE ROOLZ: 85208\r\n' 19:27:22.742681 Received DISC (on stdin) 19:27:22.742691 ====> Client forcibly disconnected 19:27:22.742882 Received QUIT (on stdin) 19:27:22.742894 quits 19:27:22.742959 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 706 === End of file server.cmd === Start of file socks_server.log 19:27:22.817005 Running IPv4 version 19:27:22.817209 Listening on port 36107 19:27:22.817248 Wrote pid 116357 to log/2/server/socks_server.pid 19:27:22.817280 Wrote port 36107 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==116826== ==116826== Process terminating with default action of signal 4 (SIGILL) ==116826== Illegal opcode at address 0x492B75F ==116826== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116826== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116826== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116826== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116826== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116826== by 0x49908EB: curl_version_info (version.c:600) ==116826== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116826== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116826== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116826== by 0x4003269: main (tool_main.c:195) === End of file valgrind706 test 0718 [HTTP proxy CONNECT (no auth) with proxy returning 407 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind718 ../src/curl -q --output log/19/curl718.out --include --trace-ascii log/19/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:46497 --proxytunnel > log/19/stdout718 2> log/19/stderr718 718: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 718 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind718 ../src/curl -q --output log/19/curl718.out --include --trace-ascii log/19/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:46497 --proxytunnel > log/19/stdout718 2> log/19/stderr718 === End of file commands.log === Start of file http_server.log 19:27:22.760730 ====> Client connect 19:27:22.760782 accept_connection 3 returned 4 19:27:22.760813 Read 93 bytes 19:27:22.760825 Process 93 bytes request 19:27:22.760838 Got request: GET /verifiedserver HTTP/1.1 19:27:22.760847 Are-we-friendly question received 19:27:22.760878 Wrote request (93 bytes) input to log/19/server.input 19:27:22.760897 Identifying ourselves as friends 19:27:22.760991 Response sent (56 bytes) and written to log/19/server.response 19:27:22.761001 special request received, no persistency 19:27:22.761009 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 58264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 718 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind718 ==116796== ==116796== Process terminating with default action of signal 4 (SIGILL) ==116796== Illegal opcode at address 0x492B75F ==116796== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116796== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116796== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116796== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116796== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116796== by 0x49908EB: curl_version_info (version.c:600) ==116796== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116796== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116796== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116796== by 0x4003269: main (tool_main.c:195) === End of file valgrind718 startnew: ./server/servers socksd --port 0 --pidfile log/22/server/socks_server.pid --portfile log/22/server/socks_server.port --reqfile log/22/socksd-request.log --logfile log/22/socks_server.log --backend 127.0.0.1 --config log/22/server.cmd RUN: SOCKS server is now running PID 116373 * pid socks => 116373 116373 test 0707 [FTP dir list PASV via SOCKS5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind707 ../src/curl -q --output log/22/curl707.out --include --trace-ascii log/22/trace707 --trace-time --socks5 127.0.0.1:33567 ftp://127.0.0.1:33255/ > log/22/stdout707 2> log/22/stderr707 707: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 707 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind707 ../src/curl -q --output log/22/curl707.out --include --trace-ascii log/22/trace707 --trace-time --socks5 127.0.0.1:33567 ftp://127.0.0.1:33255/ > log/22/stdout707 2> log/22/stderr707 === End of file commands.log === Start of file ftp_server.log 19:27:22.168039 ====> Client connect 19:27:22.168271 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.168564 < "USER anonymous" 19:27:22.168597 > "331 We are happy you popped in![CR][LF]" 19:27:22.168788 < "PASS ftp@example.com" 19:27:22.168815 > "230 Welcome you silly person[CR][LF]" 19:27:22.168983 < "PWD" 19:27:22.169018 > "257 "/" is current directory[CR][LF]" 19:27:22.169177 < "EPSV" 19:27:22.169201 ====> Passive DATA channel requested by client 19:27:22.169216 DATA sockfilt for passive data channel starting... 19:27:22.178766 DATA sockfilt for passive data channel started (pid 116348) 19:27:22.178914 DATA sockfilt for passive data channel listens on port 37551 19:27:22.178960 > "229 Entering Passive Mode (|||37551|)[CR][LF]" 19:27:22.178977 Client has been notified that upcoming DATA connection is awaited on port 37551 19:27:22.179297 Client connects to port 37551 19:27:22.179328 ====> Client established passive DATA connection on port 37551 19:27:22.179416 < "TYPE I" 19:27:22.179446 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.179593 < "SIZE verifiedserver" 19:27:22.179629 > "213 17[CR][LF]" 19:27:22.179774 < "RETR verifiedserver" 19:27:22.179807 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.179897 =====> Closing passive DATA connection... 19:27:22.179914 Server disconnects passive DATA connection 19:27:22.180126 Server disconCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind708 ../src/curl -q --output log/17/curl708.out --include --trace-ascii log/17/trace708 --trace-time http://127.0.0.1:35993/708 > log/17/stdout708 2> log/17/stderr708 nected passive DATA connection 19:27:22.180150 DATA sockfilt for passive data channel quits (pid 116348) 19:27:22.180384 DATA sockfilt for passive data channel quit (pid 116348) 19:27:22.180409 =====> Closed passive DATA connection 19:27:22.180435 > "226 File transfer complete[CR][LF]" 19:27:22.225777 < "QUIT" 19:27:22.225845 > "221 bye bye baby[CR][LF]" 19:27:22.227176 MAIN sockfilt said DISC 19:27:22.227217 ====> Client disconnected 19:27:22.227297 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:22.776692 ====> Client connect 19:27:22.777088 Received DATA (on stdin) 19:27:22.777102 > 146 bytes data, server => client 19:27:22.777114 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:22.777124 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:22.777136 '220 \___|\___/|_| \_\_____|\r\n' 19:27:22.777218 < 16 bytes data, client => server 19:27:22.777230 'USER anonymous\r\n' 19:27:22.777401 Received DATA (on stdin) 19:27:22.777412 > 33 bytes data, server => client 19:27:22.777422 '331 We are happy you popped in!\r\n' 19:27:22.777497 < 22 bytes data, client => server 19:27:22.777509 'PASS ftp@example.com\r\n' 19:27:22.777617 Received DATA (on stdin) 19:27:22.777629 > 30 bytes data, server => client 19:27:22.777640 '230 Welcome you silly person\r\n' 19:27:22.777697 < 5 bytes data, client => server 19:27:22.777708 'PWD\r\n' 19:27:22.777819 Received DATA (on stdin) 19:27:22.777829 > 30 bytes data, server => client 19:27:22.777839 '257 "/" is current directory\r\n' 19:27:22.777898 < 6 bytes data, client => server 19:27:22.777908 'EPSV\r\n' 19:27:22.787786 Received DATA (on stdin) 19:27:22.787802 > 39 bytes data, server => client 19:27:22.787813 '229 Entering Passive Mode (|||37551|)\r\n' 19:27:22.788017 < 8 bytes data, client => server 19:27:22.788031 'TYPE I\r\n' 19:27:22.788245 Received DATA (on stdin) 19:27:22.788255 > 33 bytes data, server => client 19:27:22.788265 '200 I modify TYPE as you wanted\r\n' 19:27:22.788315 < 21 bytes data, client => server 19:27:22.788324 'SIZE verifiedserver\r\n' 19:27:22.788426 Received DATA (on stdin) 19:27:22.788436 > 8 bytes data, server => client 19:27:22.788445 '213 17\r\n' 19:27:22.788492 < 21 bytes data, client => server 19:27:22.788502 'RETR verifiedserver\r\n' 19:27:22.788714 Received DATA (on stdin) 19:27:22.788725 > 29 bytes data, server => client 19:27:22.788735 '150 Binary junk (17 bytes).\r\n' 19:27:22.789234 Received DATA (on stdin) 19:27:22.789246 > 28 bytes data, server => client 19:27:22.789256 '226 File transfer complete\r\n' 19:27:22.834339 < 6 bytes data, client => server 19:27:22.834386 'QUIT\r\n' 19:27:22.834640 Received DATA (on stdin) 19:27:22.834652 > 18 bytes data, server => client 19:27:22.834661 '221 bye bye baby\r\n' 19:27:22.835909 ====> Client disconnect 19:27:22.836091 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.781841 Running IPv4 version 19:27:22.781925 Listening on port 37551 19:27:22.781961 Wrote pid 116348 to log/22/server/ftp_sockdata.pid 19:27:22.787463 Received PING (on stdin) 19:27:22.787615 Received PORT (on stdin) 19:27:22.788051 ====> Client connect 19:27:22.788760 Received DATA (on stdin) 19:27:22.788771 > 17 bytes data, server => client 19:27:22.788781 'WE ROOLZ: 84714\r\n' 19:27:22.788804 Received DISC (on stdin) 19:27:22.788814 ====> Client forcibly disconnected 19:27:22.788956 Received QUIT (on stdin) 19:27:22.788967 quits 19:27:22.789036 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 707 === End of file server.cmd === Start of file socks_server.log 19:27:22.841483 Running IPv4 version 19:27:22.841572 Listening on port 33567 19:27:22.841618 Wrote pid 116373 to log/22/server/socks_server.pid 19:27:22.841654 Wrote port 33567 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==116839== ==116839== Process terminating with default action of signal 4 (SIGILL) ==116839== Illegal opcode at address 0x492B75F ==116839== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116839== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116839== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116839== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116839== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116839== by 0x49908EB: curl_version_info (version.c:600) ==116839== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116839== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116839== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116839== by 0x4003269: main (tool_main.c:195) === End of file valgrind707 startnew: ./server/servers socksd --port 0 --pidfile log/17/server/socks_server.pid --portfile log/17/server/socks_server.port --reqfile log/17/socksd-request.log --logfile log/17/socks_server.log --backend 127.0.0.1 --config log/17/server.cmd RUN: SOCKS server is now running PID 116436 * pid socks => 116436 116436 setenv all_proxy = socks4://127.0.0.1:46575 test 0708 [HTTP GET via SOCKS4 all_proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind708 ../src/curl -q --output log/17/curl708.out --include --trace-ascii log/17/trace708 --trace-time http://127.0.0.1:35993/708 > log/17/stdout708 2> log/17/stderr708 708: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 708 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind708 ../src/curl -q --output log/17/curl708.out --include --trace-ascii log/17/trace708 --trace-time http://127.0.0.1:35993/708 > log/17/stdout708 2> log/17/stderr708 === End of file commands.log === Start of file http_server.log 19:27:22.927499 ====> Client connect 19:27:22.927549 accept_connection 3 returned 4 19:27:22.927574 Read 93 bytes 19:27:22.927585 Process 93 bytes request 19:27:22.927599 Got request: GET /verifiedserver HTTP/1.1 19:27:22.927607 Are-we-friendly question received 19:27:22.927637 Wrote request (93 bytes) input to log/17/server.input 19:27:22.927655 Identifying ourselves as friends 19:27:22.927728 Response sent (56 bytes) and written to log/17/server.response 19:27:22.927739 special request received, no persistency 19:27:22.927747 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 58906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 708 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file socks_server.log 19:27:22.943319 Running IPv4 version 19:27:22.943412 Listening on port 46575 19:27:22.943456 Wrote pid 116436 to log/17/server/socks_server.pid 19:27:22.943531 Wrote port 46575 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==116970== ==116970== Process terminating with default action of signal 4 (SIGILL) ==116970== Illegal opcode at address 0x492B75F ==116970== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116970== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116970== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==1169CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind722 ../src/curl -q --output log/7/curl722.out --include --trace-ascii log/7/trace722 --trace-time --ipfs-gateway http://127.0.0.1:40859 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout722 2> log/7/stderr722 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind723 ../src/curl -q --output log/9/curl723.out --include --trace-ascii log/9/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout723 2> log/9/stderr723 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind709 ../src/curl -q --output log/20/curl709.out --include --trace-ascii log/20/trace709 --trace-time http://127.0.0.1:33897/709 > log/20/stdout709 2> log/20/stderr709 70== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116970== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116970== by 0x49908EB: curl_version_info (version.c:600) ==116970== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116970== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116970== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116970== by 0x4003269: main (tool_main.c:195) === End of file valgrind708 test 0722 [IPFS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind722 ../src/curl -q --output log/7/curl722.out --include --trace-ascii log/7/trace722 --trace-time --ipfs-gateway http://127.0.0.1:40859 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout722 2> log/7/stderr722 722: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind722 ../src/curl -q --output log/7/curl722.out --include --trace-ascii log/7/trace722 --trace-time --ipfs-gateway http://127.0.0.1:40859 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/7/stdout722 2> log/7/stderr722 === End of file commands.log === Start of file http_server.log 19:27:22.944013 ====> Client connect 19:27:22.944054 accept_connection 3 returned 4 19:27:22.944080 Read 93 bytes 19:27:22.944090 Process 93 bytes request 19:27:22.944102 Got request: GET /verifiedserver HTTP/1.1 19:27:22.944110 Are-we-friendly question received 19:27:22.944137 Wrote request (93 bytes) input to log/7/server.input 19:27:22.944154 Identifying ourselves as friends 19:27:22.944242 Response sent (56 bytes) and written to log/7/server.response 19:27:22.944254 special request received, no persistency 19:27:22.944262 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 53976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 722 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind722 ==116965== ==116965== Process terminating with default action of signal 4 (SIGILL) ==116965== Illegal opcode at address 0x492B75F ==116965== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116965== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116965== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116965== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116965== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116965== by 0x49908EB: curl_version_info (version.c:600) ==116965== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116965== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116965== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116965== by 0x4003269: main (tool_main.c:195) === End of file valgrind722 test 0723 [IPFS with malformed gateway URL (bad function argument error)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind723 ../src/curl -q --output log/9/curl723.out --include --trace-ascii log/9/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout723 2> log/9/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/9/ directory after test 723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind723 ../src/curl -q --output log/9/curl723.out --include --trace-ascii log/9/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/9/stdout723 2> log/9/stderr723 === End of file commands.log === Start of file http_server.log 19:27:22.925571 ====> Client connect 19:27:22.925606 accept_connection 3 returned 4 19:27:22.925627 Read 93 bytes 19:27:22.925637 Process 93 bytes request 19:27:22.925649 Got request: GET /verifiedserver HTTP/1.1 19:27:22.925658 Are-we-friendly question received 19:27:22.925685 Wrote request (93 bytes) input to log/9/server.input 19:27:22.925701 Identifying ourselves as friends 19:27:22.925795 Response sent (56 bytes) and written to log/9/server.response 19:27:22.925806 special request received, no persistency 19:27:22.925814 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 55654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 723 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind723 ==116943== ==116943== Process terminating with default action of signal 4 (SIGILL) ==116943== Illegal opcode at address 0x492B75F ==116943== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116943== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116943== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116943== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116943== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116943== by 0x49908EB: curl_version_info (version.c:600) ==116943== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116943== by 0x4003269: main (tool_main.c:195) === End of file valgrind723 startnew: ./server/servers socksd --port 0 --pidfile log/20/server/socks_server.pid --portfile log/20/server/socks_server.port --reqfile log/20/socksd-request.log --logfile log/20/socks_server.log --backend 127.0.0.1 --config log/20/server.cmd RUN: SOCKS server is now running PID 116438 * pid socks => 116438 116438 setenv http_proxy = socks5://127.0.0.1:45691 test 0709 [HTTP GET via SOCKS5 set in http_proxy environment variable] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind709 ../src/curl -q --output log/20/curl709.out --include --trace-ascii log/20/trace709 --trace-time http://127.0.0.1:33897/709 > log/20/stdout709 2> log/20/stderr709 709: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 709 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind710 ../src/curl -q --output log/13/curl710.out --include --trace-ascii log/13/trace710 --trace-time http://127.0.0.1:38821/710 --proxy socks5://127.0.0.1:41949 > log/13/stdout710 2> log/13/stderr710 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind716 ../src/curl -q --output log/15/curl716.out --include --trace-ascii log/15/trace716 --trace-time http://localhost:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:38929 > log/15/stdout716 2> log/15/stderr716 l/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind709 ../src/curl -q --output log/20/curl709.out --include --trace-ascii log/20/trace709 --trace-time http://127.0.0.1:33897/709 > log/20/stdout709 2> log/20/stderr709 === End of file commands.log === Start of file http_server.log 19:27:21.936087 ====> Client connect 19:27:21.936126 accept_connection 3 returned 4 19:27:21.936149 Read 93 bytes 19:27:21.936159 Process 93 bytes request 19:27:21.936173 Got request: GET /verifiedserver HTTP/1.1 19:27:21.936182 Are-we-friendly question received 19:27:21.936369 Wrote request (93 bytes) input to log/20/server.input 19:27:21.936397 Identifying ourselves as friends 19:27:21.936464 Response sent (56 bytes) and written to log/20/server.response 19:27:21.936475 special request received, no persistency 19:27:21.936484 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 709 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file socks_server.log 19:27:22.946886 Running IPv4 version 19:27:22.946976 Listening on port 45691 19:27:22.947022 Wrote pid 116438 to log/20/server/socks_server.pid 19:27:22.947057 Wrote port 45691 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==116967== ==116967== Process terminating with default action of signal 4 (SIGILL) ==116967== Illegal opcode at address 0x492B75F ==116967== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==116967== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==116967== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==116967== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==116967== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==116967== by 0x49908EB: curl_version_info (version.c:600) ==116967== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==116967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==116967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==116967== by 0x4003269: main (tool_main.c:195) === End of file valgrind709 startnew: ./server/servers socksd --port 0 --pidfile log/13/server/socks_server.pid --portfile log/13/server/socks_server.port --reqfile log/13/socksd-request.log --logfile log/13/socks_server.log --backend 127.0.0.1 --config log/13/server.cmd RUN: SOCKS server is now running PID 116536 * pid socks => 116536 116536 test 0710 [HTTP GET via SOCKS5 set with --proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind710 ../src/curl -q --output log/13/curl710.out --include --trace-ascii log/13/trace710 --trace-time http://127.0.0.1:38821/710 --proxy socks5://127.0.0.1:41949 > log/13/stdout710 2> log/13/stderr710 710: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 710 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind710 ../src/curl -q --output log/13/curl710.out --include --trace-ascii log/13/trace710 --trace-time http://127.0.0.1:38821/710 --proxy socks5://127.0.0.1:41949 > log/13/stdout710 2> log/13/stderr710 === End of file commands.log === Start of file http_server.log 19:27:22.160812 ====> Client connect 19:27:22.160853 accept_connection 3 returned 4 19:27:22.161436 Read 93 bytes 19:27:22.161456 Process 93 bytes request 19:27:22.161470 Got request: GET /verifiedserver HTTP/1.1 19:27:22.161480 Are-we-friendly question received 19:27:22.161516 Wrote request (93 bytes) input to log/13/server.input 19:27:22.161536 Identifying ourselves as friends 19:27:22.161608 Response sent (56 bytes) and written to log/13/server.response 19:27:22.161620 special request received, no persistency 19:27:22.161629 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 53580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 710 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file socks_server.log 19:27:22.171229 Running IPv4 version 19:27:22.171325 Listening on port 41949 19:27:22.171361 Wrote pid 116536 to log/13/server/socks_server.pid 19:27:22.171393 Wrote port 41949 to log/13/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==117193== ==117193== Process terminating with default action of signal 4 (SIGILL) ==117193== Illegal opcode at address 0x492B75F ==117193== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117193== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117193== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117193== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117193== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117193== by 0x49908EB: curl_version_info (version.c:600) ==117193== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117193== by 0x4003269: main (tool_main.c:195) === End of file valgrind710 startnew: ./server/servers socksd --port 0 --pidfile log/15/server/socks_server.pid --portfile log/15/server/socks_server.port --reqfile log/15/socksd-request.log --logfile log/15/socks_server.log --backend 127.0.0.1 --config log/15/server.cmd RUN: SOCKS server is now running PID 116704 * pid socks => 116704 116704 test 0716 [SOCKS5 proxy with too long username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind716 ../src/curl -q --output log/15/curl716.out --include --trace-ascii log/15/trace716 --trace-time http://localhost:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:38929 > log/15/stdout716 2> log/15/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/15/ directory after test 716 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind716 ../src/curl -q --output log/15/curl716.out --include --trace-ascii log/15/trace716 --trace-time http://localhost:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind712 ../src/curl -q --output log/16/curl712.out --include --trace-ascii log/16/trace712 --trace-time ftp://127.0.0.1:40031/712 --proxy socks5://127.0.0.1:38511 > log/16/stdout712 2> log/16/stderr712 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:38929 > log/15/stdout716 2> log/15/stderr716 === End of file commands.log === Start of file server.cmd method 2 Testnum 716 === End of file server.cmd === Start of file socks_server.log 19:27:22.523288 Running IPv4 version 19:27:22.523375 Listening on port 38929 19:27:22.523417 Wrote pid 116704 to log/15/server/socks_server.pid 19:27:22.523451 Wrote port 38929 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==117314== ==117314== Process terminating with default action of signal 4 (SIGILL) ==117314== Illegal opcode at address 0x492B75F ==117314== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117314== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117314== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117314== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117314== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117314== by 0x49908EB: curl_version_info (version.c:600) ==117314== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117314== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117314== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117314== by 0x4003269: main (tool_main.c:195) === End of file valgrind716 startnew: ./server/servers socksd --port 0 --pidfile log/16/server/socks_server.pid --portfile log/16/server/socks_server.port --reqfile log/16/socksd-request.log --logfile log/16/socks_server.log --backend 127.0.0.1 --config log/16/server.cmd RUN: SOCKS server is now running PID 116731 * pid socks => 116731 116731 test 0712 [FTP fetch with --proxy set to socks5://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind712 ../src/curl -q --output log/16/curl712.out --include --trace-ascii log/16/trace712 --trace-time ftp://127.0.0.1:40031/712 --proxy socks5://127.0.0.1:38511 > log/16/stdout712 2> log/16/stderr712 712: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 712 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind712 ../src/curl -q --output log/16/curl712.out --include --trace-ascii log/16/trace712 --trace-time ftp://127.0.0.1:40031/712 --proxy socks5://127.0.0.1:38511 > log/16/stdout712 2> log/16/stderr712 === End of file commands.log === Start of file ftp_server.log 19:27:22.898401 ====> Client connect 19:27:22.898866 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.899015 < "USER anonymous" 19:27:22.899094 > "331 We are happy you popped in![CR][LF]" 19:27:22.899284 < "PASS ftp@example.com" 19:27:22.899318 > "230 Welcome you silly person[CR][LF]" 19:27:22.899508 < "PWD" 19:27:22.899581 > "257 "/" is current directory[CR][LF]" 19:27:22.899762 < "EPSV" 19:27:22.899791 ====> Passive DATA channel requested by client 19:27:22.899807 DATA sockfilt for passive data channel starting... 19:27:22.917351 DATA sockfilt for passive data channel started (pid 116701) 19:27:22.917480 DATA sockfilt for passive data channel listens on port 45297 19:27:22.917524 > "229 Entering Passive Mode (|||45297|)[CR][LF]" 19:27:22.917541 Client has been notified that upcoming DATA connection is awaited on port 45297 19:27:22.917798 Client connects to port 45297 19:27:22.917824 ====> Client established passive DATA connection on port 45297 19:27:22.917905 < "TYPE I" 19:27:22.917932 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.918064 < "SIZE verifiedserver" 19:27:22.918095 > "213 17[CR][LF]" 19:27:22.918219 < "RETR verifiedserver" 19:27:22.918246 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.918323 =====> Closing passive DATA connection... 19:27:22.918337 Server disconnects passive DATA connection 19:27:22.918521 Server disconnected passive DATA connection 19:27:22.918544 DATA sockfilt for passive data channel quits (pid 116701) 19:27:22.922994 DATA sockfilt for passive data channel quit (pid 116701) 19:27:22.923039 =====> Closed passive DATA connection 19:27:22.923080 > "226 File transfer complete[CR][LF]" 19:27:22.968819 < "QUIT" 19:27:22.968888 > "221 bye bye baby[CR][LF]" 19:27:22.971415 MAIN sockfilt said DISC 19:27:22.971468 ====> Client disconnected 19:27:22.972899 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:22.506958 ====> Client connect 19:27:22.507342 Received DATA (on stdin) 19:27:22.507364 > 146 bytes data, server => client 19:27:22.507388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:22.507400 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:22.507410 '220 \___|\___/|_| \_\_____|\r\n' 19:27:22.507495 < 16 bytes data, client => server 19:27:22.507508 'USER anonymous\r\n' 19:27:22.507729 Received DATA (on stdin) 19:27:22.507743 > 33 bytes data, server => client 19:27:22.507798 '331 We are happy you popped in!\r\n' 19:27:22.507860 < 22 bytes data, client => server 19:27:22.507875 'PASS ftp@example.com\r\n' 19:27:22.508014 Received DATA (on stdin) 19:27:22.508026 > 30 bytes data, server => client 19:27:22.508037 '230 Welcome you silly person\r\n' 19:27:22.508096 < 5 bytes data, client => server 19:27:22.508110 'PWD\r\n' 19:27:22.508220 Received DATA (on stdin) 19:27:22.508232 > 30 bytes data, server => client 19:27:22.508276 '257 "/" is current directory\r\n' 19:27:22.508371 < 6 bytes data, client => server 19:27:22.508388 'EPSV\r\n' 19:27:22.526237 Received DATA (on stdin) 19:27:22.526253 > 39 bytes data, server => client 19:27:22.526261 '229 Entering Passive Mode (|||45297|)\r\n' 19:27:22.526437 < 8 bytes data, client => server 19:27:22.526446 'TYPE I\r\n' 19:27:22.526619 Received DATA (on stdin) 19:27:22.526628 > 33 bytes data, server => client 19:27:22.526636 '200 I modify TYPE as you wanted\r\n' 19:27:22.526680 < 21 bytes data, client => server 19:27:22.526689 'SIZE verifiedserver\r\n' 19:27:22.526780 Received DATA (on stdin) 19:27:22.526789 > 8 bytes data, server => client 19:27:22.526796 '213 17\r\n' 19:27:22.526839 < 21 bytes data, client => server 19:27:22.526847 'RETR verifiedserver\r\n' 19:27:22.527025 Received DATA (on stdin) 19:27:22.527034 > 29 bytes data, server => client 19:27:22.527042 '150 Binary junk (17 bytes).\r\n' 19:27:22.534010 Received DATA (on stdin) 19:27:22.534034 > 28 bytes data, server => client 19:27:22.534044 '226 File transfer complete\r\n' 19:27:22.574092 < 6 bytes data, client => server 19:27:22.574123 'QUIT\r\n' 19:27:22.578859 Received DATA (on stdin) 19:27:22.578885 > 18 bytes data, server => client 19:27:22.578895 '221 bye bye baby\r\n' 19:27:22.580032 ====> Client disconnect 19:27:22.580177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.523439 Running IPv4 version 19:27:22.523498 Listening on port 45297 19:27:22.523532 Wrote pid 116701 to log/16/server/ftp_sockdata.pid 19:27:22.525968 Received PING (on stdin) 19:27:22.526078 Received PORT (on stdin) 19:27:22.526413 ====> Client connect 19:27:22.527063 Received DATA (on stdin) 19:27:22.527073 > 17 bytes data, server => client 19:27:22.527081 'WE ROOLZ: 84702\r\n' 19:27:22.527100 Received DISC (on stdin) 19:27:22.527109 ====> Client forcibly disconnected 19:27:22.527234 Received QUIT (on stdin) 19:27:22.527243 quits 19:27:22.527298 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 712 === End of file server.cmd === Start of file socks_server.log 19:27:22.588365 Running IPv4 version 19:27:22.588478 Listening on port 38511 19:27:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind717 ../src/curl -q --output log/8/curl717.out --include --trace-ascii log/8/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:39719 > log/8/stdout717 2> log/8/stderr717 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind715 ../src/curl -q --output log/6/curl715.out --include --trace-ascii log/6/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33989 --proxytunnel --proxy 127.0.0.1:40259 --preproxy socks5://127.0.0.1:45269 > log/6/stdout715 2> log/6/stderr715 2.588519 Wrote pid 116731 to log/16/server/socks_server.pid 19:27:22.588555 Wrote port 38511 to log/16/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==117376== ==117376== Process terminating with default action of signal 4 (SIGILL) ==117376== Illegal opcode at address 0x492B75F ==117376== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117376== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117376== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117376== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117376== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117376== by 0x49908EB: curl_version_info (version.c:600) ==117376== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117376== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117376== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117376== by 0x4003269: main (tool_main.c:195) === End of file valgrind712 startnew: ./server/servers socksd --port 0 --pidfile log/8/server/socks_server.pid --portfile log/8/server/socks_server.port --reqfile log/8/socksd-request.log --logfile log/8/socks_server.log --backend 127.0.0.1 --config log/8/server.cmd RUN: SOCKS server is now running PID 116716 * pid socks => 116716 116716 test 0717 [SOCKS5 proxy auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind717 ../src/curl -q --output log/8/curl717.out --include --trace-ascii log/8/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:39719 > log/8/stdout717 2> log/8/stderr717 717: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 717 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind717 ../src/curl -q --output log/8/curl717.out --include --trace-ascii log/8/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:39719 > log/8/stdout717 2> log/8/stderr717 === End of file commands.log === Start of file http_server.log 19:27:23.663913 ====> Client connect 19:27:23.663959 accept_connection 3 returned 4 19:27:23.663986 Read 93 bytes 19:27:23.663997 Process 93 bytes request 19:27:23.664009 Got request: GET /verifiedserver HTTP/1.1 19:27:23.664018 Are-we-friendly question received 19:27:23.664051 Wrote request (93 bytes) input to log/8/server.input 19:27:23.664071 Identifying ourselves as friends 19:27:23.664164 Response sent (56 bytes) and written to log/8/server.response 19:27:23.664177 special request received, no persistency 19:27:23.664186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 49468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 44467 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file socks_server.log 19:27:22.544572 Running IPv4 version 19:27:22.544661 Listening on port 39719 19:27:22.544697 Wrote pid 116716 to log/8/server/socks_server.pid 19:27:22.544726 Wrote port 39719 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==117516== ==117516== Process terminating with default action of signal 4 (SIGILL) ==117516== Illegal opcode at address 0x492B75F ==117516== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117516== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117516== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117516== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117516== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117516== by 0x49908EB: curl_version_info (version.c:600) ==117516== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117516== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117516== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117516== by 0x4003269: main (tool_main.c:195) === End of file valgrind717 startnew: ./server/servers socksd --port 0 --pidfile log/6/server/socks_server.pid --portfile log/6/server/socks_server.port --reqfile log/6/socksd-request.log --logfile log/6/socks_server.log --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS server is now running PID 116766 * pid socks => 116766 116766 test 0715 [FTP fetch with --preproxy, --proxy and --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind715 ../src/curl -q --output log/6/curl715.out --include --trace-ascii log/6/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33989 --proxytunnel --proxy 127.0.0.1:40259 --preproxy socks5://127.0.0.1:45269 > log/6/stdout715 2> log/6/stderr715 715: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 715 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind715 ../src/curl -q --output log/6/curl715.out --include --trace-ascii log/6/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:33989 --proxytunnel --proxy 127.0.0.1:40259 --preproxy socks5://127.0.0.1:45269 > log/6/stdout715 2> log/6/stderr715 === End of file commands.log === Start of file ftp_server.log 19:27:22.961773 ====> Client connect 19:27:22.962027 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.962388 < "USER anonymous" 19:27:22.962437 > "331 We are happy you popped in![CR][LF]" 19:27:22.962640 < "PASS ftp@example.com" 19:27:22.962679 > "230 Welcome you silly person[CR][LF]" 19:27:22.962875 < "PWD" 19:27:22.962914 > "257 "/" is current directory[CR][LF]" 19:27:22.963109 < "EPSV" 19:27:22.963138 ====> Passive DATA channel requested by client 19:27:22.963156 DATA sockfilt for passive data channel starting... 19:27:22.978925 DATA sockfilt for passive data channel started (pid 116728) 19:27:22.979075 DATA sockfilt for passive data channel listens on port 42083 19:27:22.979125 > "229 Entering Passive Mode (|||42083|)[CR][LF]" 19:27:22.979143 Client has been notified that upcoming DATA connection is awaited on port 42083 19:27:22.979460 Client connects to port 42083 19:27:22.979493 ====> Client established passive DATA connection on port 42083 19:27:22.979585 < "TYPE I" 19:27:22.979619 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.979792 < "SIZE verifiedserver" 19:27:22.979836 > "213 17[CR][LF]" 19:27:22.979989 < "RETR verifiedserver" 19:27:22.980027 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.980117 =====> Closing passive DATA connection... 19:27:22.980133 Server disconnects passive DATA connection 19:27:22.980348 Server disconnected passive DATA connection 19:27:22.980374 DATA sockfilt for passive data channel quits (pid 116728) 19:27:22.980631 DATA sockfilt for passive data channel quit (pid 116728) 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind713 ../src/curl -q --output log/23/curl713.out --include --trace-ascii log/23/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35523 --proxy socks5://127.0.0.1:42299 > log/23/stdout713 2> log/23/stderr713 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind711 ../src/curl -q --output log/3/curl711.out --include --trace-ascii log/3/trace711 --trace-time ftp://127.0.0.1:42249/711 > log/3/stdout711 2> log/3/stderr711 7:22.980652 =====> Closed passive DATA connection 19:27:22.980677 > "226 File transfer complete[CR][LF]" 19:27:23.022376 < "QUIT" 19:27:23.022438 > "221 bye bye baby[CR][LF]" 19:27:23.023819 MAIN sockfilt said DISC 19:27:23.023865 ====> Client disconnected 19:27:23.023953 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:23.570310 ====> Client connect 19:27:23.570741 Received DATA (on stdin) 19:27:23.570759 > 146 bytes data, server => client 19:27:23.570771 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:23.570781 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:23.570790 '220 \___|\___/|_| \_\_____|\r\n' 19:27:23.570897 < 16 bytes data, client => server 19:27:23.570914 'USER anonymous\r\n' 19:27:23.571131 Received DATA (on stdin) 19:27:23.571145 > 33 bytes data, server => client 19:27:23.571156 '331 We are happy you popped in!\r\n' 19:27:23.571211 < 22 bytes data, client => server 19:27:23.571224 'PASS ftp@example.com\r\n' 19:27:23.571369 Received DATA (on stdin) 19:27:23.571382 > 30 bytes data, server => client 19:27:23.571394 '230 Welcome you silly person\r\n' 19:27:23.571453 < 5 bytes data, client => server 19:27:23.571468 'PWD\r\n' 19:27:23.571599 Received DATA (on stdin) 19:27:23.571611 > 30 bytes data, server => client 19:27:23.571622 '257 "/" is current directory\r\n' 19:27:23.571691 < 6 bytes data, client => server 19:27:23.571706 'EPSV\r\n' 19:27:23.587833 Received DATA (on stdin) 19:27:23.587850 > 39 bytes data, server => client 19:27:23.587860 '229 Entering Passive Mode (|||42083|)\r\n' 19:27:23.588057 < 8 bytes data, client => server 19:27:23.588070 'TYPE I\r\n' 19:27:23.588299 Received DATA (on stdin) 19:27:23.588311 > 33 bytes data, server => client 19:27:23.588321 '200 I modify TYPE as you wanted\r\n' 19:27:23.588380 < 21 bytes data, client => server 19:27:23.588390 'SIZE verifiedserver\r\n' 19:27:23.588516 Received DATA (on stdin) 19:27:23.588526 > 8 bytes data, server => client 19:27:23.588535 '213 17\r\n' 19:27:23.588587 < 21 bytes data, client => server 19:27:23.588597 'RETR verifiedserver\r\n' 19:27:23.588813 Received DATA (on stdin) 19:27:23.588823 > 29 bytes data, server => client 19:27:23.588832 '150 Binary junk (17 bytes).\r\n' 19:27:23.589356 Received DATA (on stdin) 19:27:23.589367 > 28 bytes data, server => client 19:27:23.589376 '226 File transfer complete\r\n' 19:27:23.630836 < 6 bytes data, client => server 19:27:23.630871 'QUIT\r\n' 19:27:23.631126 Received DATA (on stdin) 19:27:23.631142 > 18 bytes data, server => client 19:27:23.631153 '221 bye bye baby\r\n' 19:27:23.632431 ====> Client disconnect 19:27:23.632639 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.584940 Running IPv4 version 19:27:22.585023 Listening on port 42083 19:27:22.585065 Wrote pid 116728 to log/6/server/ftp_sockdata.pid 19:27:22.587516 Received PING (on stdin) 19:27:22.587650 Received PORT (on stdin) 19:27:22.588091 ====> Client connect 19:27:22.588859 Received DATA (on stdin) 19:27:22.588871 > 17 bytes data, server => client 19:27:22.588882 'WE ROOLZ: 85558\r\n' 19:27:22.588905 Received DISC (on stdin) 19:27:22.588914 ====> Client forcibly disconnected 19:27:22.589060 Received QUIT (on stdin) 19:27:22.589070 quits 19:27:22.589136 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 19:27:23.733581 ====> Client connect 19:27:23.733615 accept_connection 3 returned 4 19:27:23.733634 Read 93 bytes 19:27:23.733643 Process 93 bytes request 19:27:23.733664 Got request: GET /verifiedserver HTTP/1.1 19:27:23.733672 Are-we-friendly question received 19:27:23.733697 Wrote request (93 bytes) input to log/6/proxy.input 19:27:23.733713 Identifying ourselves as friends 19:27:23.733771 Response sent (56 bytes) and written to log/6/proxy.response 19:27:23.733779 special request received, no persistency 19:27:23.733786 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:40259... * Established connection to 127.0.0.1 (127.0.0.1 port 40259) from 127.0.0.1 port 54126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40259 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40259 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 84342 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 84342 === End of file proxy.response === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 19:27:23.743852 Running IPv4 version 19:27:23.743937 Listening on port 45269 19:27:23.743994 Wrote pid 116766 to log/6/server/socks_server.pid 19:27:23.744028 Wrote port 45269 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==117615== ==117615== Process terminating with default action of signal 4 (SIGILL) ==117615== Illegal opcode at address 0x492B75F ==117615== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117615== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117615== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117615== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117615== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117615== by 0x49908EB: curl_version_info (version.c:600) ==117615== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117615== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117615== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117615== by 0x4003269: main (tool_main.c:195) === End of file valgrind715 startnew: ./server/servers socksd --port 0 --pidfile log/3/server/socks_server.pid --portfile log/3/server/socks_server.port --reqfile log/3/socksd-request.log --logfile log/3/socks_server.log --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS server is now running PID 116629 * pid socks => 116629 116629 setenv all_proxy = socks5://127.0.0.1:46021 test 0711 [FTP fetch with all_proxy set to socks5] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind711 ../src/curl -q --output log/3/curl711.out --include --trace-ascii log/3/trace711 --trace-time ftp://127.0.0.1:42249/711 > log/3/stdout711 2> log/3/stderr711 711: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind711 ../src/curl -q --output log/3/curl711.out --include --trace-ascii log/3/trace711 --trace-time ftp://127.0.0.1:42249/711 > log/3/stdout711 2> log/3/stderr711 === End of file commands.log === Start of file ftp_server.log 19:27:22.729135 ====> Client connect 19:27:22.729391 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.729659 < "USER anonymous" 19:27:22.729696 > "331 We are happy you popped in![CR][LF]" 19:27:22.729889 < "PASS ftp@example.com" 19:27:22.729920 > "230 Welcome you silly person[CR][LF]" 19:27:22.730096 < "PWD" 19:27:22.730133 > "257 "/" is current directory[CR][LF]" 19:27:22.730295 < "EPSV" 19:27:22.730321 ====> Passive DATA channel requested by client 19:27:22.730338 DATA sockfilt for passive data channel starting... 19:27:22.743851 DATA sockfilt for passive data channel started (pid 116612) 19:27:22.744013 DATA sockfilt for passive data channel listens on port 41659 19:27:22.744066 > "229 Entering Passive Mode (|||41659|)[CR][LF]" 19:27:22.744088 Client has been notified that upcoming DATA connection is awaited on port 41659 19:27:22.744381 Client connects to port 41659 19:27:22.744418 ====> Client established passive DATA connection on port 41659 19:27:22.744571 < "TYPE I" 19:27:22.744611 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.744798 < "SIZE verifiedserver" 19:27:22.744840 > "213 17[CR][LF]" 19:27:22.745010 < "RETR verifiedserver" 19:27:22.745046 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.745137 =====> Closing passive DATA connection... 19:27:22.745156 Server disconnects passive DATA connection 19:27:22.745321 Server disconnected passive DATA connection 19:27:22.745353 DATA sockfilt for passive data channel quits (pid 116612) 19:27:22.745600 DATA sockfilt for passive data channel quit (pid 116612) 19:27:22.745626 =====> Closed passive DATA connection 19:27:22.745657 > "226 File transfer complete[CR][LF]" 19:27:22.788924 < "QUIT" 19:27:22.788977 > "221 bye bye baby[CR][LF]" 19:27:22.790182 MAIN sockfilt said DISC 19:27:22.790226 ====> Client disconnected 19:27:22.790291 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:23.337715 ====> Client connect 19:27:23.338041 Received DATA (on stdin) 19:27:23.338059 > 146 bytes data, server => client 19:27:23.338116 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:23.338127 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:23.338136 '220 \___|\___/|_| \_\_____|\r\n' 19:27:23.338219 < 16 bytes data, client => server 19:27:23.338236 'USER anonymous\r\n' 19:27:23.338412 Received DATA (on stdin) 19:27:23.338424 > 33 bytes data, server => client 19:27:23.338435 '331 We are happy you popped in!\r\n' 19:27:23.338506 < 22 bytes data, client => server 19:27:23.338520 'PASS ftp@example.com\r\n' 19:27:23.338640 Received DATA (on stdin) 19:27:23.338652 > 30 bytes data, server => client 19:27:23.338662 '230 Welcome you silly person\r\n' 19:27:23.338717 < 5 bytes data, client => server 19:27:23.338731 'PWD\r\n' 19:27:23.338850 Received DATA (on stdin) 19:27:23.338861 > 30 bytes data, server => client 19:27:23.338871 '257 "/" is current directory\r\n' 19:27:23.338931 < 6 bytes data, client => server 19:27:23.338941 'EPSV\r\n' 19:27:23.352816 Received DATA (on stdin) 19:27:23.352833 > 39 bytes data, server => client 19:27:23.352843 '229 Entering Passive Mode (|||41659|)\r\n' 19:27:23.353155 < 8 bytes data, client => server 19:27:23.353170 'TYPE I\r\n' 19:27:23.353329 Received DATA (on stdin) 19:27:23.353341 > 33 bytes data, server => client 19:27:23.353352 '200 I modify TYPE as you wanted\r\n' 19:27:23.353416 < 21 bytes data, client => server 19:27:23.353428 'SIZE verifiedserver\r\n' 19:27:23.353557 Received DATA (on stdin) 19:27:23.353569 > 8 bytes data, server => client 19:27:23.353578 '213 17\r\n' 19:27:23.353634 < 21 bytes data, client => server 19:27:23.353646 'RETR verifiedserver\r\n' 19:27:23.353966 Received DATA (on stdin) 19:27:23.353978 > 29 bytes data, server => client 19:27:23.353988 '150 Binary junk (17 bytes).\r\n' 19:27:23.354375 Received DATA (on stdin) 19:27:23.354387 > 28 bytes data, server => client 19:27:23.354397 '226 File transfer complete\r\n' 19:27:23.397476 < 6 bytes data, client => server 19:27:23.397501 'QUIT\r\n' 19:27:23.397693 Received DATA (on stdin) 19:27:23.397707 > 18 bytes data, server => client 19:27:23.397717 '221 bye bye baby\r\n' 19:27:23.398830 ====> Client disconnect 19:27:23.399003 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.348125 Running IPv4 version 19:27:22.348213 Listening on port 41659 19:27:22.348255 Wrote pid 116612 to log/3/server/ftp_sockdata.pid 19:27:22.352203 Received PING (on stdin) 19:27:22.352620 Received PORT (on stdin) 19:27:22.353043 ====> Client connect 19:27:22.353876 Received DATA (on stdin) 19:27:22.353889 > 17 bytes data, server => client 19:27:22.353899 'WE ROOLZ: 84710\r\n' 19:27:22.353928 Received DISC (on stdin) 19:27:22.353941 ====> Client forcibly disconnected 19:27:22.354077 Received QUIT (on stdin) 19:27:22.354088 quits 19:27:22.354165 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 711 === End of file server.cmd === Start of file socks_server.log 19:27:22.403306 Running IPv4 version 19:27:22.427426 Listening on port 46021 19:27:22.427484 Wrote pid 116629 to log/3/server/socks_server.pid 19:27:22.427525 Wrote port 46021 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==117253== ==117253== Process terminating with default action of signal 4 (SIGILL) ==117253== Illegal opcode at address 0x492B75F ==117253== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117253== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117253== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117253== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117253== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117253== by 0x49908EB: curl_version_info (version.c:600) ==117253== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117253== by 0x4003269: main (tool_main.c:195) === End of file valgrind711 startnew: ./server/servers socksd --port 0 --pidfile log/23/server/socks_server.pid --portfile log/23/server/socks_server.port --reqfile log/23/socksd-request.log --logfile log/23/socks_server.log --backend 127.0.0.1 --config log/23/server.cmd RUN: SOCKS server is now running PID 116717 * pid socks => 116717 116717 test 0713 [FTP fetch with --proxy set to socks5:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind713 ../src/curl -q --output log/23/curl713.out --include --trace-ascii log/23/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35523 --proxy socks5://127.0.0.1:42299 > log/23/stdout713 2> log/23/stderr713 713: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind713 ../src/curl -q --output log/23/curl713.out --include --trace-ascii log/23/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35523 --proxy socks5://127.0.0.1:42299 > log/23/stdout713 2> log/23/stderr713 === End of file commands.log === Start of file ftp_server.log 19:27:22.853636 ====> Client connect 19:27:22.853843 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.854139 < "USER anonymous" 19:27:22.854178 > "331 We are happy you popped in![CR][LF]" 19:27:22.854372 < "PASS ftp@example.com" 19:27:22.854404 > "230 Welcome you silly person[CR][LF]" 19:27:22.854557 < "PWD" 19:27:22.854587 > "257 "/" is current directory[CR][LF]" 19:27:22.854749 < "EPSV" 19:27:22.854777 ====> Passive DATA channel requested by client 19:27:22.854790 DATA sockfilt for passive data channel starting... 19:27:22.872629 DATA sockfilt for passive data channel started (pid 116673) 19:27:22.872787 DATA sockfilt for passive data channel listens on port 34989 19:27:22.872846 > "229 Entering Passive Mode (|||34989|)[CR][LF]" 19:27:22.872866 Client has been notified that upcoming DATA connection is awaited on port 34989 19:27:22.873208 Client connects to port 34989 19:27:22.873243 ====> Client established passive DATA connection on port 34989 19:27:22.873347 < "TYPE I" 19:27:22.873386 > "200 I modify TYPE as you wanted[CR][LF]" 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind721 ../src/curl -q --output log/14/curl721.out --include --trace-ascii log/14/trace721 --trace-time http://this.is.a.host.name:45467/721 --proxy socks5h://127.0.0.1:46367 > log/14/stdout721 2> log/14/stderr721 9:27:22.873577 < "SIZE verifiedserver" 19:27:22.873619 > "213 17[CR][LF]" 19:27:22.873791 < "RETR verifiedserver" 19:27:22.873829 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.873924 =====> Closing passive DATA connection... 19:27:22.873943 Server disconnects passive DATA connection 19:27:22.874560 Server disconnected passive DATA connection 19:27:22.874592 DATA sockfilt for passive data channel quits (pid 116673) 19:27:22.874869 DATA sockfilt for passive data channel quit (pid 116673) 19:27:22.874895 =====> Closed passive DATA connection 19:27:22.874924 > "226 File transfer complete[CR][LF]" 19:27:22.918989 < "QUIT" 19:27:22.919057 > "221 bye bye baby[CR][LF]" 19:27:22.920268 MAIN sockfilt said DISC 19:27:22.920307 ====> Client disconnected 19:27:22.920391 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:23.462202 ====> Client connect 19:27:23.462558 Received DATA (on stdin) 19:27:23.462573 > 146 bytes data, server => client 19:27:23.462584 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:23.462593 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:23.462601 '220 \___|\___/|_| \_\_____|\r\n' 19:27:23.462680 < 16 bytes data, client => server 19:27:23.462691 'USER anonymous\r\n' 19:27:23.462878 Received DATA (on stdin) 19:27:23.462890 > 33 bytes data, server => client 19:27:23.462900 '331 We are happy you popped in!\r\n' 19:27:23.462958 < 22 bytes data, client => server 19:27:23.462969 'PASS ftp@example.com\r\n' 19:27:23.463102 Received DATA (on stdin) 19:27:23.463111 > 30 bytes data, server => client 19:27:23.463121 '230 Welcome you silly person\r\n' 19:27:23.463172 < 5 bytes data, client => server 19:27:23.463181 'PWD\r\n' 19:27:23.463283 Received DATA (on stdin) 19:27:23.463293 > 30 bytes data, server => client 19:27:23.463303 '257 "/" is current directory\r\n' 19:27:23.463361 < 6 bytes data, client => server 19:27:23.463372 'EPSV\r\n' 19:27:23.481576 Received DATA (on stdin) 19:27:23.481593 > 39 bytes data, server => client 19:27:23.481604 '229 Entering Passive Mode (|||34989|)\r\n' 19:27:23.481813 < 8 bytes data, client => server 19:27:23.481830 'TYPE I\r\n' 19:27:23.482089 Received DATA (on stdin) 19:27:23.482101 > 33 bytes data, server => client 19:27:23.482111 '200 I modify TYPE as you wanted\r\n' 19:27:23.482175 < 21 bytes data, client => server 19:27:23.482189 'SIZE verifiedserver\r\n' 19:27:23.482318 Received DATA (on stdin) 19:27:23.482330 > 8 bytes data, server => client 19:27:23.482339 '213 17\r\n' 19:27:23.482396 < 21 bytes data, client => server 19:27:23.482408 'RETR verifiedserver\r\n' 19:27:23.482642 Received DATA (on stdin) 19:27:23.482653 > 29 bytes data, server => client 19:27:23.482663 '150 Binary junk (17 bytes).\r\n' 19:27:23.483624 Received DATA (on stdin) 19:27:23.483636 > 28 bytes data, server => client 19:27:23.483647 '226 File transfer complete\r\n' 19:27:23.527486 < 6 bytes data, client => server 19:27:23.527514 'QUIT\r\n' 19:27:23.527762 Received DATA (on stdin) 19:27:23.527778 > 18 bytes data, server => client 19:27:23.527789 '221 bye bye baby\r\n' 19:27:23.528898 ====> Client disconnect 19:27:23.529089 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.480038 Running IPv4 version 19:27:22.480110 Listening on port 34989 19:27:22.480148 Wrote pid 116673 to log/23/server/ftp_sockdata.pid 19:27:22.481246 Received PING (on stdin) 19:27:22.481378 Received PORT (on stdin) 19:27:22.481853 ====> Client connect 19:27:22.483063 Received DATA (on stdin) 19:27:22.483081 > 17 bytes data, server => client 19:27:22.483092 'WE ROOLZ: 84709\r\n' 19:27:22.483121 Received DISC (on stdin) 19:27:22.483133 ====> Client forcibly disconnected 19:27:22.483299 Received QUIT (on stdin) 19:27:22.483311 quits 19:27:22.483383 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 713 === End of file server.cmd === Start of file socks_server.log 19:27:22.547943 Running IPv4 version 19:27:22.548055 Listening on port 42299 19:27:22.548104 Wrote pid 116717 to log/23/server/socks_server.pid 19:27:22.548142 Wrote port 42299 to log/23/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==117329== ==117329== Process terminating with default action of signal 4 (SIGILL) ==117329== Illegal opcode at address 0x492B75F ==117329== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117329== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117329== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117329== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117329== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117329== by 0x49908EB: curl_version_info (version.c:600) ==117329== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117329== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117329== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117329== by 0x4003269: main (tool_main.c:195) === End of file valgrind713 startnew: ./server/servers socksd --port 0 --pidfile log/14/server/socks_server.pid --portfile log/14/server/socks_server.port --reqfile log/14/socksd-request.log --logfile log/14/socks_server.log --backend 127.0.0.1 --config log/14/server.cmd RUN: SOCKS server is now running PID 116853 * pid socks => 116853 116853 test 0721 [HTTP GET with hostname using SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind721 ../src/curl -q --output log/14/curl721.out --include --trace-ascii log/14/trace721 --trace-time http://this.is.a.host.name:45467/721 --proxy socks5h://127.0.0.1:46367 > log/14/stdout721 2> log/14/stderr721 721: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind721 ../src/curl -q --output log/14/curl721.out --include --trace-ascii log/14/trace721 --trace-time http://this.is.a.host.name:45467/721 --proxy socks5h://127.0.0.1:46367 > log/14/stdout721 2> log/14/stderr721 === End of file commands.log === Start of file http_server.log 19:27:22.865753 ====> Client connect 19:27:22.865795 accept_connection 3 returned 4 19:27:22.866076 Read 93 bytes 19:27:22.866099 Process 93 bytes request 19:27:22.866114 Got request: GET /verifiedserver HTTP/1.1 19:27:22.866124 Are-we-friendly question received 19:27:22.866158 Wrote request (93 bytes) input to log/14/server.input 19:27:22.866178 Identifying ourselves as friends 19:27:22.866272 Response sent (56 bytes) and written to log/14/server.response 19:27:22.866286 special request received, no persistency 19:27:22.866296 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 57446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 721 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file socks_server.log 19:27:23.873321 Running IPv4 version 19:27:23.873495 Listening on port 46367 19:27:23.873533 Wrote pid 116853 to log/14/server/socks_server.pid 19:27:23.873570 Wrote port 46367 to log/14/server/socks_server.port === End of file socks_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind726 ../src/curl -q --output log/4/curl726.out --include --trace-ascii log/4/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/4/stdout726 2> log/4/stderr726 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind720 ../src/curl -q --output log/5/curl720.out --include --trace-ascii log/5/trace720 --trace-time http://12.34.56.78:37089/720 --proxy socks5h://127.0.0.1:45243 > log/5/stdout720 2> log/5/stderr720 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind714 ../src/curl -q --output log/1/curl714.out --include --trace-ascii log/1/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:40221 --proxytunnel --proxy http://127.0.0.1:38255 > log/1/stdout714 2> log/1/stderr714 server.log === Start of file valgrind721 ==117753== ==117753== Process terminating with default action of signal 4 (SIGILL) ==117753== Illegal opcode at address 0x492B75F ==117753== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117753== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117753== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117753== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117753== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117753== by 0x49908EB: curl_version_info (version.c:600) ==117753== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117753== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117753== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117753== by 0x4003269: main (tool_main.c:195) === End of file valgrind721 setenv HOME = /startdir/src/build-curl/tests test 0726 [IPFS with no gateway URL (no environment or home file either)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind726 ../src/curl -q --output log/4/curl726.out --include --trace-ascii log/4/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/4/stdout726 2> log/4/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/4/ directory after test 726 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind726 ../src/curl -q --output log/4/curl726.out --include --trace-ascii log/4/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/4/stdout726 2> log/4/stderr726 === End of file commands.log === Start of file http_server.log 19:27:25.015476 ====> Client connect 19:27:25.015518 accept_connection 3 returned 4 19:27:25.015542 Read 93 bytes 19:27:25.015553 Process 93 bytes request 19:27:25.015564 Got request: GET /verifiedserver HTTP/1.1 19:27:25.015573 Are-we-friendly question received 19:27:25.015606 Wrote request (93 bytes) input to log/4/server.input 19:27:25.015624 Identifying ourselves as friends 19:27:25.015694 Response sent (56 bytes) and written to log/4/server.response 19:27:25.015706 special request received, no persistency 19:27:25.015715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 33692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 726 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind726 ==117909== ==117909== Process terminating with default action of signal 4 (SIGILL) ==117909== Illegal opcode at address 0x492B75F ==117909== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117909== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117909== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117909== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117909== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117909== by 0x49908EB: curl_version_info (version.c:600) ==117909== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117909== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117909== by 0x4003269: main (tool_main.c:195) === End of file valgrind726 startnew: ./server/servers socksd --port 0 --pidfile log/5/server/socks_server.pid --portfile log/5/server/socks_server.port --reqfile log/5/socksd-request.log --logfile log/5/socks_server.log --backend 127.0.0.1 --config log/5/server.cmd RUN: SOCKS server is now running PID 116827 * pid socks => 116827 116827 test 0720 [HTTP GET with IPv4 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind720 ../src/curl -q --output log/5/curl720.out --include --trace-ascii log/5/trace720 --trace-time http://12.34.56.78:37089/720 --proxy socks5h://127.0.0.1:45243 > log/5/stdout720 2> log/5/stderr720 720: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 720 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind720 ../src/curl -q --output log/5/curl720.out --include --trace-ascii log/5/trace720 --trace-time http://12.34.56.78:37089/720 --proxy socks5h://127.0.0.1:45243 > log/5/stdout720 2> log/5/stderr720 === End of file commands.log === Start of file http_server.log 19:27:22.820697 ====> Client connect 19:27:22.820745 accept_connection 3 returned 4 19:27:22.820943 Read 93 bytes 19:27:22.820959 Process 93 bytes request 19:27:22.820973 Got request: GET /verifiedserver HTTP/1.1 19:27:22.820982 Are-we-friendly question received 19:27:22.821014 Wrote request (93 bytes) input to log/5/server.input 19:27:22.821032 Identifying ourselves as friends 19:27:22.821097 Response sent (56 bytes) and written to log/5/server.response 19:27:22.821106 special request received, no persistency 19:27:22.821114 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 59892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 720 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file socks_server.log 19:27:23.833279 Running IPv4 version 19:27:23.833489 Listening on port 45243 19:27:23.833531 Wrote pid 116827 to log/5/server/socks_server.pid 19:27:23.833564 Wrote port 45243 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind720 ==117710== ==117710== Process terminating with default action of signal 4 (SIGILL) ==117710== Illegal opcode at address 0x492B75F ==117710== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117710== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117710== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117710== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117710== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117710== by 0x49908EB: curl_version_info (version.c:600) ==117710== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117710== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117710== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117710== by 0x4003269: main (tool_main.c:195) === End of file valgrind720 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/1/server/http2_server.pid" --logfile "log/1/http2_server.log" --logdir "log/1" --portfile log/1/server/http2_sCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/4/stdout745 2> log/4/stderr745 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind727 ../src/curl -q --output log/24/curl727.out --include --trace-ascii log/24/trace727 --trace-time --ipfs-gateway http://127.0.0.1:38895 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout727 2> log/24/stderr727 erver.port --config log/1/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 116732 port 38255 * pid http-proxy => 116732 116732 test 0714 [FTP fetch with --proxy set to http:// and with --connect-to] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind714 ../src/curl -q --output log/1/curl714.out --include --trace-ascii log/1/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:40221 --proxytunnel --proxy http://127.0.0.1:38255 > log/1/stdout714 2> log/1/stderr714 714: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 714 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind714 ../src/curl -q --output log/1/curl714.out --include --trace-ascii log/1/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:40221 --proxytunnel --proxy http://127.0.0.1:38255 > log/1/stdout714 2> log/1/stderr714 === End of file commands.log === Start of file ftp_server.log 19:27:22.908797 ====> Client connect 19:27:22.909024 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:22.915542 < "USER anonymous" 19:27:22.915761 > "331 We are happy you popped in![CR][LF]" 19:27:22.916005 < "PASS ftp@example.com" 19:27:22.916038 > "230 Welcome you silly person[CR][LF]" 19:27:22.916216 < "PWD" 19:27:22.916253 > "257 "/" is current directory[CR][LF]" 19:27:22.916446 < "EPSV" 19:27:22.916476 ====> Passive DATA channel requested by client 19:27:22.916494 DATA sockfilt for passive data channel starting... 19:27:22.923237 DATA sockfilt for passive data channel started (pid 116710) 19:27:22.923388 DATA sockfilt for passive data channel listens on port 37005 19:27:22.923448 > "229 Entering Passive Mode (|||37005|)[CR][LF]" 19:27:22.923471 Client has been notified that upcoming DATA connection is awaited on port 37005 19:27:22.925411 Client connects to port 37005 19:27:22.925451 ====> Client established passive DATA connection on port 37005 19:27:22.925571 < "TYPE I" 19:27:22.925615 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:22.928913 < "SIZE verifiedserver" 19:27:22.928970 > "213 17[CR][LF]" 19:27:22.929151 < "RETR verifiedserver" 19:27:22.929194 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:22.929293 =====> Closing passive DATA connection... 19:27:22.929312 Server disconnects passive DATA connection 19:27:22.935371 Server disconnected passive DATA connection 19:27:22.935439 DATA sockfilt for passive data channel quits (pid 116710) 19:27:22.938959 DATA sockfilt for passive data channel quit (pid 116710) 19:27:22.939003 =====> Closed passive DATA connection 19:27:22.939047 > "226 File transfer complete[CR][LF]" 19:27:22.978829 < "QUIT" 19:27:22.978883 > "221 bye bye baby[CR][LF]" 19:27:22.979011 MAIN sockfilt said DISC 19:27:22.979037 ====> Client disconnected 19:27:22.979115 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:23.517354 ====> Client connect 19:27:23.517734 Received DATA (on stdin) 19:27:23.517750 > 146 bytes data, server => client 19:27:23.517761 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:23.517770 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:23.517778 '220 \___|\___/|_| \_\_____|\r\n' 19:27:23.524022 < 16 bytes data, client => server 19:27:23.524044 'USER anonymous\r\n' 19:27:23.524468 Received DATA (on stdin) 19:27:23.524481 > 33 bytes data, server => client 19:27:23.524492 '331 We are happy you popped in!\r\n' 19:27:23.524590 < 22 bytes data, client => server 19:27:23.524605 'PASS ftp@example.com\r\n' 19:27:23.524730 Received DATA (on stdin) 19:27:23.524743 > 30 bytes data, server => client 19:27:23.524753 '230 Welcome you silly person\r\n' 19:27:23.524810 < 5 bytes data, client => server 19:27:23.524824 'PWD\r\n' 19:27:23.524946 Received DATA (on stdin) 19:27:23.524957 > 30 bytes data, server => client 19:27:23.524968 '257 "/" is current directory\r\n' 19:27:23.525040 < 6 bytes data, client => server 19:27:23.525053 'EPSV\r\n' 19:27:23.532112 Received DATA (on stdin) 19:27:23.532132 > 39 bytes data, server => client 19:27:23.532142 '229 Entering Passive Mode (|||37005|)\r\n' 19:27:23.532325 < 8 bytes data, client => server 19:27:23.532341 'TYPE I\r\n' 19:27:23.537348 Received DATA (on stdin) 19:27:23.537372 > 33 bytes data, server => client 19:27:23.537382 '200 I modify TYPE as you wanted\r\n' 19:27:23.537474 < 21 bytes data, client => server 19:27:23.537487 'SIZE verifiedserver\r\n' 19:27:23.537660 Received DATA (on stdin) 19:27:23.537672 > 8 bytes data, server => client 19:27:23.537681 '213 17\r\n' 19:27:23.537742 < 21 bytes data, client => server 19:27:23.537753 'RETR verifiedserver\r\n' 19:27:23.538004 Received DATA (on stdin) 19:27:23.538016 > 29 bytes data, server => client 19:27:23.538026 '150 Binary junk (17 bytes).\r\n' 19:27:23.557343 Received DATA (on stdin) 19:27:23.557376 > 28 bytes data, server => client 19:27:23.557389 '226 File transfer complete\r\n' 19:27:23.587347 < 6 bytes data, client => server 19:27:23.587369 'QUIT\r\n' 19:27:23.587569 Received DATA (on stdin) 19:27:23.587581 > 18 bytes data, server => client 19:27:23.587591 '221 bye bye baby\r\n' 19:27:23.587648 ====> Client disconnect 19:27:23.587794 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:22.531523 Running IPv4 version 19:27:22.531622 Listening on port 37005 19:27:22.531664 Wrote pid 116710 to log/1/server/ftp_sockdata.pid 19:27:22.531858 Received PING (on stdin) 19:27:22.531969 Received PORT (on stdin) 19:27:22.534039 ====> Client connect 19:27:22.538119 Received DATA (on stdin) 19:27:22.538139 > 17 bytes data, server => client 19:27:22.538155 'WE ROOLZ: 84935\r\n' 19:27:22.538193 Received DISC (on stdin) 19:27:22.538210 ====> Client forcibly disconnected 19:27:22.547347 Received QUIT (on stdin) 19:27:22.547370 quits 19:27:22.547441 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 19:27:23.651331 Run as proxy, CONNECT to host 127.0.0.1 19:27:23.651511 Running HTTP IPv4 version on port 38255 19:27:23.651562 Wrote pid 116732 to log/1/server/http2_server.pid 19:27:23.651593 Wrote port 38255 to log/1/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==117430== ==117430== Process terminating with default action of signal 4 (SIGILL) ==117430== Illegal opcode at address 0x492B75F ==117430== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117430== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117430== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117430== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117430== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117430== by 0x49908EB: curl_version_info (version.c:600) ==117430== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117430== by 0x4003269: main (tool_main.c:195) === End of file valgrind714 test 0745 [Verify that typecheck-gcc and curl.h are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/4/stdout745 2> log/4/stderr745 valgrind SKIPPED s------e--- OK (688 out of 1890, remaining: 02:36, took 0.044s, duration: 01:29) test 0727 [IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36847 http://127.0.0.1:40913/728 > log/10/stdout728 2> log/10/stderr728 -leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind727 ../src/curl -q --output log/24/curl727.out --include --trace-ascii log/24/trace727 --trace-time --ipfs-gateway http://127.0.0.1:38895 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout727 2> log/24/stderr727 727: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 727 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind727 ../src/curl -q --output log/24/curl727.out --include --trace-ascii log/24/trace727 --trace-time --ipfs-gateway http://127.0.0.1:38895 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout727 2> log/24/stderr727 === End of file commands.log === Start of file http_server.log 19:27:24.051863 ====> Client connect 19:27:24.051912 accept_connection 3 returned 4 19:27:24.051942 Read 93 bytes 19:27:24.051954 Process 93 bytes request 19:27:24.051968 Got request: GET /verifiedserver HTTP/1.1 19:27:24.051977 Are-we-friendly question received 19:27:24.052008 Wrote request (93 bytes) input to log/24/server.input 19:27:24.052027 Identifying ourselves as friends 19:27:24.052123 Response sent (56 bytes) and written to log/24/server.response 19:27:24.052137 special request received, no persistency 19:27:24.052146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 39328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 727 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind727 ==117975== ==117975== Process terminating with default action of signal 4 (SIGILL) ==117975== Illegal opcode at address 0x492B75F ==117975== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117975== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117975== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117975== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117975== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117975== by 0x49908EB: curl_version_info (version.c:600) ==117975== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117975== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117975== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117975== by 0x4003269: main (tool_main.c:195) === End of file valgrind727 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36491 > log/21/stdout729 2> log/21/stderr729 test 0728 [SOCKS5h with HTTP redirect to hostname too long] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36847 http://127.0.0.1:40913/728 > log/10/stdout728 2> log/10/stderr728 728: stderr FAILED: --- log/10/check-expected 2026-10-15 19:27:26.893596544 +0000 +++ log/10/check-generated 2026-10-15 19:27:26.890076294 +0000 @@ -1 +0,0 @@ -curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] == Contents of files in the log/10/ directory after test 728 === Start of file check-expected curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind728 ../src/curl -q --output log/10/curl728.out --include --trace-ascii log/10/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:36847 http://127.0.0.1:40913/728 > log/10/stdout728 2> log/10/stderr728 === End of file commands.log === Start of file http_server.log 19:27:24.163697 ====> Client connect 19:27:24.163735 accept_connection 3 returned 4 19:27:24.166073 Read 93 bytes 19:27:24.166094 Process 93 bytes request 19:27:24.166107 Got request: GET /verifiedserver HTTP/1.1 19:27:24.166116 Are-we-friendly question received 19:27:24.166158 Wrote request (93 bytes) input to log/10/server.input 19:27:24.166178 Identifying ourselves as friends 19:27:24.166250 Response sent (56 bytes) and written to log/10/server.response 19:27:24.166262 special request received, no persistency 19:27:24.166271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 728 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind728 ==118034== ==118034== Process terminating with default action of signal 4 (SIGILL) ==118034== Illegal opcode at address 0x492B75F ==118034== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118034== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118034== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118034== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118034== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118034== by 0x49908EB: curl_version_info (version.c:600) ==118034== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118034== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118034== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118034== by 0x4003269: main (tool_main.c:195) === End of file valgrind728 test 0729 [SOCKS4 with long proxy username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36491 > log/21/stdout729 2> log/21/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/21/ directory after test 729 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind729 ../src/curl -q --output log/21/curl729.out --include --trace-ascii log/21/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:36491 > log/21/stdout729 2> log/21/stderr729 === End of file commands.log === Start of file http_server.log 19:27:24.140701 ====> Client connect 19:27:24.140752 accept_connection 3 returned 4 19:27:24.140779 Read 93 bytes 19:27:24.140790 Process 93 bytes request 19:27:24.140804 Got request: GET /verifiedserver HTTP/1.1 19:27:24.140812 Are-we-friendly question received 19:27:24.140846 Wrote request (93 bytes) input to log/21/server.input 19:27:24.140864 Identifying ourselves as friends 19:27:24.140937 Response sent (56 bytes) and written to log/21/server.response 19:27:24.140947 special request received, no persistency 19:27:24.140955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49410 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 729 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind729 ==118020== ==118020== Process terminating with default action of signal 4 (SIGILL) ==118020== Illegal opcode at address 0x492B75F ==118020== at 0x492CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind719 ../src/curl -q --output log/18/curl719.out --include --trace-ascii log/18/trace719 --trace-time http://[2200::33]:43739/719 --proxy socks5h://127.0.0.1:46369 > log/18/stdout719 2> log/18/stderr719 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind730 ../src/curl -q --output log/2/curl730.out --include --trace-ascii log/2/trace730 --trace-time --ipfs-gateway http://127.0.0.1:34531/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout730 2> log/2/stderr730 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind734 ../src/curl -q --output log/7/curl734.out --include --trace-ascii log/7/trace734 --trace-time --ipfs-gateway http://127.0.0.1:40859/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/7/stdout734 2> log/7/stderr734 B75F: formatf.constprop.2 (mprintf.c:1115) ==118020== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118020== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118020== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118020== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118020== by 0x49908EB: curl_version_info (version.c:600) ==118020== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118020== by 0x4003269: main (tool_main.c:195) === End of file valgrind729 startnew: ./server/servers socksd --port 0 --pidfile log/18/server/socks_server.pid --portfile log/18/server/socks_server.port --reqfile log/18/socksd-request.log --logfile log/18/socks_server.log --backend 127.0.0.1 --config log/18/server.cmd RUN: SOCKS server is now running PID 116818 * pid socks => 116818 116818 test 0719 [HTTP GET with IPv6 numerical via SOCKS5h] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind719 ../src/curl -q --output log/18/curl719.out --include --trace-ascii log/18/trace719 --trace-time http://[2200::33]:43739/719 --proxy socks5h://127.0.0.1:46369 > log/18/stdout719 2> log/18/stderr719 719: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 719 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind719 ../src/curl -q --output log/18/curl719.out --include --trace-ascii log/18/trace719 --trace-time http://[2200::33]:43739/719 --proxy socks5h://127.0.0.1:46369 > log/18/stdout719 2> log/18/stderr719 === End of file commands.log === Start of file http_server.log 19:27:23.804030 ====> Client connect 19:27:23.804070 accept_connection 3 returned 4 19:27:23.804094 Read 93 bytes 19:27:23.804104 Process 93 bytes request 19:27:23.804117 Got request: GET /verifiedserver HTTP/1.1 19:27:23.804126 Are-we-friendly question received 19:27:23.804152 Wrote request (93 bytes) input to log/18/server.input 19:27:23.804168 Identifying ourselves as friends 19:27:23.804235 Response sent (56 bytes) and written to log/18/server.response 19:27:23.804244 special request received, no persistency 19:27:23.804252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 719 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file socks_server.log 19:27:23.823361 Running IPv4 version 19:27:23.823433 Listening on port 46369 19:27:23.823474 Wrote pid 116818 to log/18/server/socks_server.pid 19:27:23.823506 Wrote port 46369 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==117697== ==117697== Process terminating with default action of signal 4 (SIGILL) ==117697== Illegal opcode at address 0x492B75F ==117697== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117697== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117697== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117697== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117697== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117697== by 0x49908EB: curl_version_info (version.c:600) ==117697== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117697== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117697== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117697== by 0x4003269: main (tool_main.c:195) === End of file valgrind719 test 0730 [IPFS arg gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind730 ../src/curl -q --output log/2/curl730.out --include --trace-ascii log/2/trace730 --trace-time --ipfs-gateway http://127.0.0.1:34531/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout730 2> log/2/stderr730 730: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 730 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind730 ../src/curl -q --output log/2/curl730.out --include --trace-ascii log/2/trace730 --trace-time --ipfs-gateway http://127.0.0.1:34531/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/2/stdout730 2> log/2/stderr730 === End of file commands.log === Start of file http_server.log 19:27:25.689134 ====> Client connect 19:27:25.689172 accept_connection 3 returned 4 19:27:25.689194 Read 93 bytes 19:27:25.689204 Process 93 bytes request 19:27:25.689216 Got request: GET /verifiedserver HTTP/1.1 19:27:25.689225 Are-we-friendly question received 19:27:25.689251 Wrote request (93 bytes) input to log/2/server.input 19:27:25.689268 Identifying ourselves as friends 19:27:25.689328 Response sent (56 bytes) and written to log/2/server.response 19:27:25.689337 special request received, no persistency 19:27:25.689345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 59752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 730 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind730 ==118199== ==118199== Process terminating with default action of signal 4 (SIGILL) ==118199== Illegal opcode at address 0x492B75F ==118199== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118199== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118199== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118199== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118199== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118199== by 0x49908EB: curl_version_info (version.c:600) ==118199== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118199== by 0x4003269: main (tool_main.c:195) === End of file valgrind730 test 0734 [IPFS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind734 ../src/curl -q --output log/7/curl734.out --include --trace-ascii log/7/trace734 --trace-time --iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind732 ../src/curl -q --output log/22/curl732.out --include --trace-ascii log/22/trace732 --trace-time --ipfs-gateway http://127.0.0.1:35989 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/22/stdout732 2> log/22/stderr732 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind733 ../src/curl -q --output log/17/curl733.out --include --trace-ascii log/17/trace733 --trace-time --ipfs-gateway http://127.0.0.1:35993 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/17/stdout733 2> log/17/stderr733 pfs-gateway http://127.0.0.1:40859/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/7/stdout734 2> log/7/stderr734 734: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 734 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind734 ../src/curl -q --output log/7/curl734.out --include --trace-ascii log/7/trace734 --trace-time --ipfs-gateway http://127.0.0.1:40859/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/7/stdout734 2> log/7/stderr734 === End of file commands.log === Start of file http_server.log 19:27:25.240884 ====> Client connect 19:27:25.240923 accept_connection 3 returned 4 19:27:25.240945 Read 93 bytes 19:27:25.240956 Process 93 bytes request 19:27:25.240967 Got request: GET /verifiedserver HTTP/1.1 19:27:25.240975 Are-we-friendly question received 19:27:25.241005 Wrote request (93 bytes) input to log/7/server.input 19:27:25.241023 Identifying ourselves as friends 19:27:25.241093 Response sent (56 bytes) and written to log/7/server.response 19:27:25.241106 special request received, no persistency 19:27:25.241115 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 53984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 734 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind734 ==118438== ==118438== Process terminating with default action of signal 4 (SIGILL) ==118438== Illegal opcode at address 0x492B75F ==118438== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118438== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118438== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118438== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118438== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118438== by 0x49908EB: curl_version_info (version.c:600) ==118438== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118438== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118438== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118438== by 0x4003269: main (tool_main.c:195) === End of file valgrind734 test 0732 [IPFS with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind732 ../src/curl -q --output log/22/curl732.out --include --trace-ascii log/22/trace732 --trace-time --ipfs-gateway http://127.0.0.1:35989 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/22/stdout732 2> log/22/stderr732 732: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind732 ../src/curl -q --output log/22/curl732.out --include --trace-ascii log/22/trace732 --trace-time --ipfs-gateway http://127.0.0.1:35989 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/22/stdout732 2> log/22/stderr732 === End of file commands.log === Start of file http_server.log 19:27:25.082857 ====> Client connect 19:27:25.082894 accept_connection 3 returned 4 19:27:25.082916 Read 93 bytes 19:27:25.082926 Process 93 bytes request 19:27:25.082939 Got request: GET /verifiedserver HTTP/1.1 19:27:25.082947 Are-we-friendly question received 19:27:25.082975 Wrote request (93 bytes) input to log/22/server.input 19:27:25.082991 Identifying ourselves as friends 19:27:25.083110 Response sent (56 bytes) and written to log/22/server.response 19:27:25.083120 special request received, no persistency 19:27:25.083128 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 58508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 732 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind732 ==118349== ==118349== Process terminating with default action of signal 4 (SIGILL) ==118349== Illegal opcode at address 0x492B75F ==118349== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118349== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118349== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118349== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118349== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118349== by 0x49908EB: curl_version_info (version.c:600) ==118349== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118349== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118349== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118349== by 0x4003269: main (tool_main.c:195) === End of file valgrind732 test 0733 [IPFS with path and query args] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind733 ../src/curl -q --output log/17/curl733.out --include --trace-ascii log/17/trace733 --trace-time --ipfs-gateway http://127.0.0.1:35993 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/17/stdout733 2> log/17/stderr733 733: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 733 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind733 ../src/curl -q --output log/17/curl733.out --include --trace-ascii log/17/trace733 --trace-time --ipfs-gateway http://127.0.0.1:35993 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/17/stdout733 2> log/17/stderr733 === End of file commands.log === Start of file http_server.log 19:27:26.223697 ====> Client connect 19:27:26.223734 accept_connection 3 returned 4 19:27:26.223756 Read 93 bytes 19:27:26.223765 Process 93 bytes request 19:27:26.223776 Got request: GET /verifiedserver HTTP/1.1 19:27:26.223783 Are-we-friendly question received 19:27:26.223807 Wrote request (93 bytes) input to log/17/server.input 19:27:26.223822 Identifying ourselves as friends 19:27:26.223885 Response sent (56 bytes) and written to log/17/server.response 19:27:26.223893 special request received, no persistency 19:27:26.223900 ====> CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind737 ../src/curl -q --output log/13/curl737.out --include --trace-ascii log/13/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout737 2> log/13/stderr737 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44711 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:42299 > log/23/stdout742 2> log/23/stderr742 lient disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 58922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 733 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind733 ==118432== ==118432== Process terminating with default action of signal 4 (SIGILL) ==118432== Illegal opcode at address 0x492B75F ==118432== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118432== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118432== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118432== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118432== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118432== by 0x49908EB: curl_version_info (version.c:600) ==118432== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118432== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118432== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118432== by 0x4003269: main (tool_main.c:195) === End of file valgrind733 setenv IPFS_PATH = log/13/.ipfs/ test 0737 [IPFS with IPFS_PATH set, with trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind737 ../src/curl -q --output log/13/curl737.out --include --trace-ascii log/13/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout737 2> log/13/stderr737 737: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 737 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind737 ../src/curl -q --output log/13/curl737.out --include --trace-ascii log/13/trace737 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout737 2> log/13/stderr737 === End of file commands.log === Start of file http_server.log 19:27:25.683646 ====> Client connect 19:27:25.683686 accept_connection 3 returned 4 19:27:25.683707 Read 93 bytes 19:27:25.683716 Process 93 bytes request 19:27:25.683728 Got request: GET /verifiedserver HTTP/1.1 19:27:25.683736 Are-we-friendly question received 19:27:25.683759 Wrote request (93 bytes) input to log/13/server.input 19:27:25.683774 Identifying ourselves as friends 19:27:25.683858 Response sent (56 bytes) and written to log/13/server.response 19:27:25.683867 special request received, no persistency 19:27:25.683876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 53594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 737 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind737 ==118670== ==118670== Process terminating with default action of signal 4 (SIGILL) ==118670== Illegal opcode at address 0x492B75F ==118670== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118670== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118670== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118670== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118670== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118670== by 0x49908EB: curl_version_info (version.c:600) ==118670== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118670== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118670== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118670== by 0x4003269: main (tool_main.c:195) === End of file valgrind737 test 0742 [SOCKS5-hostname with max length credentials and max hostname length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44711 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:42299 > log/23/stdout742 2> log/23/stderr742 742: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind742 ../src/curl -q --output log/23/curl742.out --include --trace-ascii log/23/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44711 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:42299 > log/23/stdout742 2> log/23/stderr742 === End of file commands.log === Start of file http_server.log 19:27:26.092207 ====> Client connect 19:27:26.092241 accept_connection 3 returned 4 19:27:26.092261 Read 93 bytes 19:27:26.092271 Process 93 bytes request 19:27:26.092284 Got request: GET /verifiedserver HTTP/1.1 19:27:26.092292 Are-we-friendly question received 19:27:26.092318 Wrote request (93 bytes) input to log/23/server.input 19:27:26.092334 Identifying ourselves as friends 19:27:26.092393 Response sent (56 bytes) and written to log/23/server.response 19:27:26.092402 special request received, no persistency 19:27:26.092411 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/stderr736 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/stderr751 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind735 ../src/curl -q --output log/9/curl735.out --include --trace-ascii log/9/trace735 --trace-time --ipfs-gateway http://127.0.0.1:43733/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/9/stdout735 2> log/9/stderr735 Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 40004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 44711 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind742 ==118987== ==118987== Process terminating with default action of signal 4 (SIGILL) ==118987== Illegal opcode at address 0x492B75F ==118987== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118987== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118987== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118987== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118987== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118987== by 0x49908EB: curl_version_info (version.c:600) ==118987== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118987== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118987== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118987== by 0x4003269: main (tool_main.c:195) === End of file valgrind742 setenv IPFS_PATH = log/20/.ipfs test 0736 [IPFS with IPFS_PATH set, no trailing slash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/stderr736 736: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 736 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/stderr736 === End of file commands.log === Start of file http_server.log 19:27:25.553815 ====> Client connect 19:27:25.553858 accept_connection 3 returned 4 19:27:25.553882 Read 93 bytes 19:27:25.553893 Process 93 bytes request 19:27:25.553907 Got request: GET /verifiedserver HTTP/1.1 19:27:25.553917 Are-we-friendly question received 19:27:25.553948 Wrote request (93 bytes) input to log/20/server.input 19:27:25.553967 Identifying ourselves as friends 19:27:25.554044 Response sent (56 bytes) and written to log/20/server.response 19:27:25.554056 special request received, no persistency 19:27:25.554065 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 736 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind736 ==118596== ==118596== Process terminating with default action of signal 4 (SIGILL) ==118596== Illegal opcode at address 0x492B75F ==118596== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118596== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118596== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118596== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118596== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118596== by 0x49908EB: curl_version_info (version.c:600) ==118596== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118596== by 0x4003269: main (tool_main.c:195) === End of file valgrind736 test 0751 [multi - add many easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/21/ directory after test 751 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind751 ./libtest/libtests lib751 - > log/21/stdout751 2> log/21/stderr751 === End of file commands.log === Start of file server.cmd Testnum 751 === End of file server.cmd === Start of file valgrind751 ==119412== ==119412== Process terminating with default action of signal 4 (SIGILL) ==119412== Illegal opcode at address 0x51CC63F ==119412== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==119412== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==119412== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==119412== by 0x40041AF: main (first.c:264) === End of file valgrind751 test 0735 [IPNS with path, query args and gateway with path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind735 ../src/curl -q --output log/9/curl735.out --include --trace-ascii log/9/trace735 --trace-time --ipfs-gateway http://127.0.0.1:43733/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/9/stdout735 2> log/9/stderr735 735: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 735 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind735 ../src/curl -q --output log/9/curl735.out --include --trace-ascii log/9/trace735 --trace-time --ipfs-gateway http://127.0.0.1:43733/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/9/stdout735 2> log/9/stderr735 === End of file commands.log === Start of file http_server.log 19:27:25.462481 ====> Client connect 19:27:25.462514 accept_connection 3 returned 4 19:27:25.462533 Read 93 bytes 19:27:25.462542 Process 93 bytes request 19:27:25.462554 Got request: GET /verifiedserver HTTP/1.1 19:27:25.462561 Are-we-friendly question received 19:27:25.462585 Wrote request (93 bytes) input to log/9/server.input 19:27:25.462599 Identifying ourselves as friends 19:27:25.462652 Response sent (56CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind738 ../src/curl -q --output log/15/curl738.out --include --trace-ascii log/15/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout738 2> log/15/stderr738 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind743 ../src/curl -q --output log/3/curl743.out --include --trace-ascii log/3/trace743 --trace-time http://127.0.0.1:36161/743 -K log/3/config > log/3/stdout743 2> log/3/stderr743 bytes) and written to log/9/server.response 19:27:25.462660 special request received, no persistency 19:27:25.462668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 55668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 735 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind735 ==118574== ==118574== Process terminating with default action of signal 4 (SIGILL) ==118574== Illegal opcode at address 0x492B75F ==118574== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118574== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118574== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118574== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118574== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118574== by 0x49908EB: curl_version_info (version.c:600) ==118574== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118574== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118574== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118574== by 0x4003269: main (tool_main.c:195) === End of file valgrind735 setenv IPFS_PATH = log/15/.ipfs/ test 0738 [IPFS with IPFS_PATH, no gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind738 ../src/curl -q --output log/15/curl738.out --include --trace-ascii log/15/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout738 2> log/15/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/15/ directory after test 738 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind738 ../src/curl -q --output log/15/curl738.out --include --trace-ascii log/15/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/15/stdout738 2> log/15/stderr738 === End of file commands.log === Start of file http_server.log 19:27:26.774660 ====> Client connect 19:27:26.774695 accept_connection 3 returned 4 19:27:26.774717 Read 93 bytes 19:27:26.774727 Process 93 bytes request 19:27:26.774739 Got request: GET /verifiedserver HTTP/1.1 19:27:26.774748 Are-we-friendly question received 19:27:26.774773 Wrote request (93 bytes) input to log/15/server.input 19:27:26.774790 Identifying ourselves as friends 19:27:26.774855 Response sent (56 bytes) and written to log/15/server.response 19:27:26.774865 special request received, no persistency 19:27:26.774873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 738 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind738 ==118751== ==118751== Process terminating with default action of signal 4 (SIGILL) ==118751== Illegal opcode at address 0x492B75F ==118751== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118751== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118751== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118751== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118751== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118751== by 0x49908EB: curl_version_info (version.c:600) ==118751== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118751== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118751== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118751== by 0x4003269: main (tool_main.c:195) === End of file valgrind738 test 0743 [--config with a 127-byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind743 ../src/curl -q --output log/3/curl743.out --include --trace-ascii log/3/trace743 --trace-time http://127.0.0.1:36161/743 -K log/3/config > log/3/stdout743 2> log/3/stderr743 743: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind743 ../src/curl -q --output log/3/curl743.out --include --trace-ascii log/3/trace743 --trace-time http://127.0.0.1:36161/743 -K log/3/config > log/3/stdout743 2> log/3/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 19:27:27.145964 ====> Client connect 19:27:27.146010 accept_connection 3 returned 4 19:27:27.146038 Read 93 bytes 19:27:27.146050 Process 93 bytes request 19:27:27.146063 Got request: GET /verifiedserver HTTP/1.1 19:27:27.146073 Are-we-friendly question received 19:27:27.146104 Wrote request (93 bytes) input to log/3/server.input 19:27:27.146123 Identifying ourselves as friends 19:27:27.146219 Response sent (56 bytes) and written to log/3/server.response 19:27:27.146232 special request received, no persistency 19:27:27.146241 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 46216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 743 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind743 ==119032== ==119032== Process terminating with default action of signal 4 (SIGILL) ==119032== Illegal opcode at address 0x492B75F ==119032== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119032== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119032== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119032== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119032== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119032== by 0x49908EB: curl_version_info (version.c:600) ==119032== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119032== by 0x4003269: UnknownInlinedFun (tool_cfCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 gable.c:339) ==119032== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119032== by 0x4003269: main (tool_main.c:195) === End of file valgrind743 test 0748 [A --config file that uses -h and no URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/4/ directory after test 748 === Start of file cmd -h all === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind748 ../src/curl -q --output log/4/curl748.out --include --trace-ascii log/4/trace748 --trace-time -K log/4/cmd > log/4/stdout748 2> log/4/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==119124== ==119124== Process terminating with default action of signal 4 (SIGILL) ==119124== Illegal opcode at address 0x492B75F ==119124== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119124== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119124== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119124== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119124== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119124== by 0x49908EB: curl_version_info (version.c:600) ==119124== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119124== by 0x4003269: main (tool_main.c:195) === End of file valgrind748 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind750 ../src/curl -q --output log/10/curl750.out --include --trace-ascii log/10/trace750 --trace-time http://test.example --proxy http://127.0.0.1:40913 --proxytunnel -sS > log/10/stdout750 2> log/10/stderr750 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind739 ../src/curl -q --output log/16/curl739.out --include --trace-ascii log/16/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:35903/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/16/stdout739 2> log/16/stderr739 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind744 ../src/curl -q --output log/14/curl744.out --include --trace-ascii log/14/trace744 --trace-time http://foo.host:45467/744 -p --proxy1.0 127.0.0.1:37729 -A "" --netrc-file log/14/netrc744 > log/14/stdout744 2> log/14/stderr744 test 0746 [too large numerical value passed to -m] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 746: stderr FAILED: --- log/5/check-expected 2026-10-15 19:27:28.832214019 +0000 +++ log/5/check-generated 2026-10-15 19:27:28.830343827 +0000 @@ -1,2 +0,0 @@ -curl: option -m: expected a proper numerical parameter[CR][LF] -curl: try 'curl --help' for more information[CR][LF] == Contents of files in the log/5/ directory after test 746 === Start of file check-expected curl: option -m: expected a proper numerical parameter[CR][LF] curl: try 'curl --help' for more information[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind746 ../src/curl -q --output log/5/curl746.out --include --trace-ascii log/5/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/5/stdout746 2> log/5/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==119114== ==119114== Process terminating with default action of signal 4 (SIGILL) ==119114== Illegal opcode at address 0x492B75F ==119114== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119114== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119114== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119114== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119114== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119114== by 0x49908EB: curl_version_info (version.c:600) ==119114== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119114== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119114== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119114== by 0x4003269: main (tool_main.c:195) === End of file valgrind746 test 0750 [HTTP CONNECT with proxy returning HTML and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind750 ../src/curl -q --output log/10/curl750.out --include --trace-ascii log/10/trace750 --trace-time http://test.example --proxy http://127.0.0.1:40913 --proxytunnel -sS > log/10/stdout750 2> log/10/stderr750 750: stderr FAILED: --- log/10/check-expected 2026-10-15 19:27:28.935712506 +0000 +++ log/10/check-generated 2026-10-15 19:27:28.933691277 +0000 @@ -1 +0,0 @@ -curl: (8) Invalid response header[CR][LF] == Contents of files in the log/10/ directory after test 750 === Start of file check-expected curl: (8) Invalid response header[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind750 ../src/curl -q --output log/10/curl750.out --include --trace-ascii log/10/trace750 --trace-time http://test.example --proxy http://127.0.0.1:40913 --proxytunnel -sS > log/10/stdout750 2> log/10/stderr750 === End of file commands.log === Start of file http_server.log 19:27:26.543608 ====> Client connect 19:27:26.543647 accept_connection 3 returned 4 19:27:26.543671 Read 93 bytes 19:27:26.543681 Process 93 bytes request 19:27:26.543694 Got request: GET /verifiedserver HTTP/1.1 19:27:26.543702 Are-we-friendly question received 19:27:26.543729 Wrote request (93 bytes) input to log/10/server.input 19:27:26.543746 Identifying ourselves as friends 19:27:26.543821 Response sent (56 bytes) and written to log/10/server.response 19:27:26.543831 special request received, no persistency 19:27:26.543839 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 750 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind750 ==119430== ==119430== Process terminating with default action of signal 4 (SIGILL) ==119430== Illegal opcode at address 0x492B75F ==119430== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119430== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119430== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119430== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119430== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119430== by 0x49908EB: curl_version_info (version.c:600) ==119430== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119430== by 0x4003269: main (tool_main.c:195) === End of file valgrind750 test 0744 [--netrc-file with a 127-byte line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind744 ../src/curl -q --output log/14/curl744.out --include --trace-ascii log/14/trace744 --trace-time http://foo.host:45467/744 -p --proxy1.0 127.0.0.1:37729 -A "" --netrc-file log/14/netrc744 > log/14/stdout744 2> log/14/stderr744 744: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 744 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind744 ../src/curl -q --output log/14/curl744.out --include --trace-ascii log/14/trace744 --trace-time http://foo.host:45467/744 -p --proxy1.0 127.0.0.1:37729 -A "" --netrc-file log/14/netrc744 > log/14/stdout744 2> log/14/stderr744 === End of file commands.log === Start of file http2_server.log 19:27:26.370288 ====> Client connect 19:27:26.370336 accept_connection 3 returned 4 19:27:26.370362 Read 93 bytes 19:27:26.370372 Process 93 bytes request 19:27:26.370396 Got request: GET /verifiedserver HTTP/1.1 19:27:26.370404 Are-we-friendly question received 19:27:26.370435 Wrote request (93 bytes) input to log/14/proxy.input 19:27:26.370463 Identifying ourselves as friends 19:27:26.370565 Response sent (56 bytes) and written to log/14/proxy.response 19:27:26.370576 special request received, no persistency 19:27:26.370584 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37729... * Established connection to 127.0.0.1 (127.0.0.1 port 37729) from 127.0.0.1 port 54830 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37729 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37729 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 83621 === End of file http2_verify.out === Start of file http_server.log 19:27:26.276769 ====> Client connect 19:27:26.276846 accept_connection 3 returned 4 19:27:26.276871 Read 93 bytes 19:27:26.276881 Process 93 bytes request 19:27:26.276893 Got request: GET /verifiedserver HTTP/1.1 19:27:26.276902 Are-we-friendly question received 19:27:26.276929 Wrote request (93 bytes) input to log/14/server.input 19:27:26.276946 Identifying ourselves as friends 19:27:26.277022 Response sent (56 bytes) and written to log/14/server.response 19:27:26.277032 special request received, no persistency 19:27:26.277040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 57460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file netrc744 machine foo.host login foo password baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar === End of file netrc744 === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 83621 === End of file proxy.response === Start of file server.cmd Testnum 744 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind744 ==119262== ==119262== Process terminating with default action of signal 4 (SIGILL) ==119262== Illegal opcode at address 0x492B75F ==119262== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119262== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119262== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119262== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119262== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119262== by 0x49908EB: curl_version_info (version.c:600) ==119262== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==11926CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind747 ../src/curl -q --output log/1/curl747.out --include --trace-ascii log/1/trace747 --trace-time http://127.0.0.1:38815/747 > log/1/stdout747 2> log/1/stderr747 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind749 ../src/curl -q --output log/24/curl749.out --include --trace-ascii log/24/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38895 --proxytunnel -sS > log/24/stdout749 2> log/24/stderr749 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind752 ../src/curl -q --output log/18/curl752.out --include --trace-ascii log/18/trace752 --trace-time http://127.0.0.1:43739/752 -f --retry 1 > log/18/stdout752 2> log/18/stderr752 2== by 0x4003269: main (tool_main.c:195) === End of file valgrind744 test 0739 [IPNS path and query args for gw and IPFS URL (malformed gw URL)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind739 ../src/curl -q --output log/16/curl739.out --include --trace-ascii log/16/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:35903/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/16/stdout739 2> log/16/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/16/ directory after test 739 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind739 ../src/curl -q --output log/16/curl739.out --include --trace-ascii log/16/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:35903/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/16/stdout739 2> log/16/stderr739 === End of file commands.log === Start of file http_server.log 19:27:26.854352 ====> Client connect 19:27:26.857014 accept_connection 3 returned 4 19:27:26.857049 Read 93 bytes 19:27:26.857060 Process 93 bytes request 19:27:26.857074 Got request: GET /verifiedserver HTTP/1.1 19:27:26.857083 Are-we-friendly question received 19:27:26.857115 Wrote request (93 bytes) input to log/16/server.input 19:27:26.857133 Identifying ourselves as friends 19:27:26.857225 Response sent (56 bytes) and written to log/16/server.response 19:27:26.857236 special request received, no persistency 19:27:26.857244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 739 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind739 ==118778== ==118778== Process terminating with default action of signal 4 (SIGILL) ==118778== Illegal opcode at address 0x492B75F ==118778== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118778== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118778== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118778== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118778== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118778== by 0x49908EB: curl_version_info (version.c:600) ==118778== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118778== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118778== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118778== by 0x4003269: main (tool_main.c:195) === End of file valgrind739 test 0747 [Reject too many HTTP response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind747 ../src/curl -q --output log/1/curl747.out --include --trace-ascii log/1/trace747 --trace-time http://127.0.0.1:38815/747 > log/1/stdout747 2> log/1/stderr747 747: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 747 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind747 ../src/curl -q --output log/1/curl747.out --include --trace-ascii log/1/trace747 --trace-time http://127.0.0.1:38815/747 > log/1/stdout747 2> log/1/stderr747 === End of file commands.log === Start of file http_server.log 19:27:27.300202 ====> Client connect 19:27:27.300253 accept_connection 3 returned 4 19:27:27.300280 Read 93 bytes 19:27:27.300292 Process 93 bytes request 19:27:27.300306 Got request: GET /verifiedserver HTTP/1.1 19:27:27.300315 Are-we-friendly question received 19:27:27.300349 Wrote request (93 bytes) input to log/1/server.input 19:27:27.300370 Identifying ourselves as friends 19:27:27.300466 Response sent (56 bytes) and written to log/1/server.response 19:27:27.300479 special request received, no persistency 19:27:27.300488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 42502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 747 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind747 ==119321== ==119321== Process terminating with default action of signal 4 (SIGILL) ==119321== Illegal opcode at address 0x492B75F ==119321== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119321== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119321== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119321== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119321== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119321== by 0x49908EB: curl_version_info (version.c:600) ==119321== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119321== by 0x4003269: main (tool_main.c:195) === End of file valgrind747 test 0752 [--retry and -f on an HTTP 404 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind752 ../src/curl -q --output log/18/curl752.out --include --trace-ascii log/18/trace752 --trace-time http://127.0.0.1:43739/752 -f --retry 1 > log/18/stdout752 2> log/18/stderr752 752: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 752 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind752 ../src/curl -q --output log/18/curl752.out --include --trace-ascii log/18/trace752 --trace-time http://127.0.0.1:43739/752 -f --retry 1 > log/18/stdout752 2> log/18/stderr752 === End of file commands.log === Start of file http_server.log 19:27:27.785906 ====> Client connect 19:27:27.785945 accept_connection 3 returned 4 19:27:27.785968 Read 93 bytes 19:27:27.785980 Process 93 bytes request 19:27:27.785992 Got request: GET /verifiedserver HTTP/1.1 19:27:27.786002 Are-we-friendly question received 19:27:27.786033 Wrote request (93 bytes) input to log/18/server.input 19:27:27.786053 Identifying ourselves as friends 19:27:27.786126 Response sent (56 bytes) and written to log/18/server.response 19:27:27.786137 special request received, no persistency 19:27:27.786147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 752 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind752 ==119598== ==119598== Process terminating with default action of signal 4 (SIGILL) ==119598== Illegal opcode at address 0x492B75F ==119598== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119598== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119598== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119598== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119598== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119598== by 0x49908EB: curl_version_info (version.c:600) ==119598== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119598== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119598== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119598== by 0x4003269: main (tool_main.c:195) === End of file valgrind752 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35993/we/want/757 > log/17/stdout757 2> log/17/stderr757 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind754 ../src/curl -q --output log/2/curl754.out --include --trace-ascii log/2/trace754 --trace-time ftp://127.0.0.1:38033/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/2/stdout754 2> log/2/stderr754 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind755 ../src/curl -q --output log/7/curl755.out --include --trace-ascii log/7/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:40859 -A "" --netrc > log/7/stdout755 2> log/7/stderr755 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind756 ../src/curl -q --include --trace-ascii log/22/trace756 --trace-time http://127.0.0.1:35989/want/756 http://127.0.0.1:35989/want/7560002 --out-null -o - > log/22/stdout756 2> log/22/stderr756 test 0749 [HTTP CONNECT with proxy returning 400 and closing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind749 ../src/curl -q --output log/24/curl749.out --include --trace-ascii log/24/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38895 --proxytunnel -sS > log/24/stdout749 2> log/24/stderr749 749: stderr FAILED: --- log/24/check-expected 2026-10-15 19:27:29.403894401 +0000 +++ log/24/check-generated 2026-10-15 19:27:29.401680341 +0000 @@ -1 +0,0 @@ -curl: (7) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/24/ directory after test 749 === Start of file check-expected curl: (7) CONNECT tunnel failed, response 400[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind749 ../src/curl -q --output log/24/curl749.out --include --trace-ascii log/24/trace749 --trace-time http://test.example --proxy http://127.0.0.1:38895 --proxytunnel -sS > log/24/stdout749 2> log/24/stderr749 === End of file commands.log === Start of file http_server.log 19:27:26.413537 ====> Client connect 19:27:26.413574 accept_connection 3 returned 4 19:27:26.413593 Read 93 bytes 19:27:26.413601 Process 93 bytes request 19:27:26.413612 Got request: GET /verifiedserver HTTP/1.1 19:27:26.413619 Are-we-friendly question received 19:27:26.413640 Wrote request (93 bytes) input to log/24/server.input 19:27:26.413653 Identifying ourselves as friends 19:27:26.413705 Response sent (56 bytes) and written to log/24/server.response 19:27:26.413712 special request received, no persistency 19:27:26.413719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 39344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 749 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind749 ==119312== ==119312== Process terminating with default action of signal 4 (SIGILL) ==119312== Illegal opcode at address 0x492B75F ==119312== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119312== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119312== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119312== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119312== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119312== by 0x49908EB: curl_version_info (version.c:600) ==119312== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119312== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119312== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119312== by 0x4003269: main (tool_main.c:195) === End of file valgrind749 test 0754 [FTP list with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind754 ../src/curl -q --output log/2/curl754.out --include --trace-ascii log/2/trace754 --trace-time ftp://127.0.0.1:38033/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/2/stdout754 2> log/2/stderr754 754: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 754 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind754 ../src/curl -q --output log/2/curl754.out --include --trace-ascii log/2/trace754 --trace-time ftp://127.0.0.1:38033/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/2/stdout754 2> log/2/stderr754 === End of file commands.log === Start of file ftp_server.log 19:27:27.507816 ====> Client connect 19:27:27.508060 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:27.512435 < "USER anonymous" 19:27:27.512512 > "331 We are happy you popped in![CR][LF]" 19:27:27.515694 < "PASS ftp@example.com" 19:27:27.515743 > "230 Welcome you silly person[CR][LF]" 19:27:27.515898 < "PWD" 19:27:27.515930 > "257 "/" is current directory[CR][LF]" 19:27:27.516087 < "EPSV" 19:27:27.516112 ====> Passive DATA channel requested by client 19:27:27.516125 DATA sockfilt for passive data channel starting... 19:27:27.525440 DATA sockfilt for passive data channel started (pid 119675) 19:27:27.525606 DATA sockfilt for passive data channel listens on port 33603 19:27:27.525665 > "229 Entering Passive Mode (|||33603|)[CR][LF]" 19:27:27.525684 Client has been notified that upcoming DATA connection is awaited on port 33603 19:27:27.526004 Client connects to port 33603 19:27:27.526042 ====> Client established passive DATA connection on port 33603 19:27:27.526144 < "TYPE I" 19:27:27.526181 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:27.526373 < "SIZE verifiedserver" 19:27:27.526415 > "213 17[CR][LF]" 19:27:27.526582 < "RETR verifiedserver" 19:27:27.526621 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:27.526715 =====> Closing passive DATA connection... 19:27:27.526734 Server disconnects passive DATA connection 19:27:27.526966 Server disconnected passive DATA connection 19:27:27.526994 DATA sockfilt for passive data channel quits (pid 119675) 19:27:27.527237 DATA sockfilt for passive data channel quit (pid 119675) 19:27:27.527265 =====> Closed passive DATA connection 19:27:27.527294 > "226 File transfer complete[CR][LF]" 19:27:27.574811 < "QUIT" 19:27:27.574875 > "221 bye bye baby[CR][LF]" 19:27:27.576285 MAIN sockfilt said DISC 19:27:27.576400 ====> Client disconnected 19:27:27.576500 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:27.115716 ====> Client connect 19:27:27.120034 Received DATA (on stdin) 19:27:27.120073 > 146 bytes data, server => client 19:27:27.120086 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:27.120097 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:27.120106 '220 \___|\___/|_| \_\_____|\r\n' 19:27:27.120225 < 16 bytes data, client => server 19:27:27.120237 'USER anonymous\r\n' 19:27:27.123411 Received DATA (on stdin) 19:27:27.123442 > 33 bytes data, server => client 19:27:27.123454 '331 We are happy you popped in!\r\n' 19:27:27.123551 < 22 bytes data, client => server 19:27:27.123563 'PASS ftp@example.com\r\n' 19:27:27.123777 Received DATA (on stdin) 19:27:27.123788 > 30 bytes data, server => client 19:27:27.123798 '230 Welcome you silly person\r\n' 19:27:27.123848 < 5 bytes data, client => server 19:27:27.123858 'PWD\r\n' 19:27:27.123958 Received DATA (on stdin) 19:27:27.123968 > 30 bytes data, server => client 19:27:27.123978 '257 "/" is current directory\r\n' 19:27:27.124037 < 6 bytes data, client => server 19:27:27.124048 'EPSV\r\n' 19:27:27.133724 Received DATA (on stdin) 19:27:27.133741 > 39 bytes data, server => client 19:27:27.133751 '229 Entering Passive Mode (|||33603|)\r\n' 19:27:27.133972 < 8 bytes data, client => server 19:27:27.133984 'TYPE I\r\n' 19:27:27.134214 Received DATA (on stdin) 19:27:27.134226 > 33 bytes data, server => client 19:27:27.134237 '200 I modify TYPE as you wanted\r\n' 19:27:27.134299 < 21 bytes data, client => server 19:27:27.134312 'SIZE verifiedserver\r\n' 19:27:27.134444 Received DATA (on stdin) 19:27:27.134455 > 8 bytes data, server => client 19:27:27.134465 '213 17\r\n' 19:27:27.134522 < 21 bytes data, client => server 19:27:27.134533 'RETR verifiedserver\r\n' 19:27:27.134763 Received DATA (on stdin) 19:27:27.134775 > 29 bytes data, server => client 19:27:27.134785 '150 Binary junk (17 bytes).\r\n' 19:27:27.135323 Received DATA (on stdin) 19:27:27.135336 > 28 bytes data, server => client 19:27:27.135345 '226 File transfer complete\r\n' 19:27:27.182547 < 6 bytes data, client => server 19:27:27.182627 'QUIT\r\n' 19:27:27.182911 Received DATA (on stdin) 19:27:27.182926 > 18 bytes data, server => client 19:27:27.182936 '221 bye bye baby\r\n' 19:27:27.183342 ====> Client disconnect 19:27:27.184337 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:27.127940 Running IPv4 version 19:27:27.128035 Listening on port 33603 19:27:27.128075 Wrote pid 119675 to log/2/server/ftp_sockdata.pid 19:27:27.133360 Received PING (on stdin) 19:27:27.133524 Received PORT (on stdin) 19:27:27.133939 ====> Client connect 19:27:27.134813 Received DATA (on stdin) 19:27:27.134826 > 17 bytes data, server => client 19:27:27.134836 'WE ROOLZ: 85208\r\n' 19:27:27.134861 Received DISC (on stdin) 19:27:27.134872 ====> Client forcibly disconnected 19:27:27.135031 Received QUIT (on stdin) 19:27:27.135042 quits 19:27:27.135113 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY FAIL 500 this might not be a failure Testnum 754 === End of file server.cmd === Start of file valgrind754 ==119681== ==119681== Process terminating with default action of signal 4 (SIGILL) ==119681== Illegal opcode at address 0x492B75F ==119681== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119681== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119681== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119681== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119681== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119681== by 0x49908EB: curl_version_info (version.c:600) ==119681== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119681== by 0x4003269: main (tool_main.c:195) === End of file valgrind754 setenv NETRC = log/7/netrc755 test 0755 [netrc with NETRC pointing out the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind755 ../src/curl -q --output log/7/curl755.out --include --trace-ascii log/7/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:40859 -A "" --netrc > log/7/stdout755 2> log/7/stderr755 755: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 755 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind755 ../src/curl -q --output log/7/curl755.out --include --trace-ascii log/7/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:40859 -A "" --netrc > log/7/stdout755 2> log/7/stderr755 === End of file commands.log === Start of file http_server.log 19:27:27.320123 ====> Client connect 19:27:27.320162 accept_connection 3 returned 4 19:27:27.320320 Read 93 bytes 19:27:27.320335 Process 93 bytes request 19:27:27.320349 Got request: GET /verifiedserver HTTP/1.1 19:27:27.320358 Are-we-friendly question received 19:27:27.320392 Wrote request (93 bytes) input to log/7/server.input 19:27:27.320409 Identifying ourselves as friends 19:27:27.320471 Response sent (56 bytes) and written to log/7/server.response 19:27:27.320481 special request received, no persistency 19:27:27.320489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 53986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file netrc755 machine foo.host login foo password alone-in-the-dark === End of file netrc755 === Start of file server.cmd Testnum 755 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind755 ==119760== ==119760== Process terminating with default action of signal 4 (SIGILL) ==119760== Illegal opcode at address 0x492B75F ==119760== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119760== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119760== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119760== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119760== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119760== by 0x49908EB: curl_version_info (version.c:600) ==119760== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119760== by 0x4003269: main (tool_main.c:195) === End of file valgrind755 test 0757 [MIME parts reused as a child part, using data_cb] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35993/we/want/757 > log/17/stdout757 2> log/17/stderr757 757: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 757 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35993/we/want/757 > log/17/stdout757 2> log/17/stderr757 === End of file commands.log === Start of file http_server.log 19:27:28.643341 ====> Client connect 19:27:28.643381 accept_connection 3 returned 4 19:27:28.643534 Read 93 bytes 19:27:28.643547 Process 93 bytes request 19:27:28.643560 Got request: GET /verifiedserver HTTP/1.1 19:27:28.643568 Are-we-friendly question received 19:27:28.643596 Wrote request (93 bytes) input to log/17/server.input 19:27:28.643613 Identifying ourselves as friends 19:27:28.643667 Response sent (56 bytes) and written to log/17/server.response 19:27:28.643676 special request received, no persistency 19:27:28.643684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 58924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 757 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind757 ==119896== ==119896== Process terminating with default action of signal 4 (SIGILL) ==119896== Illegal opcode at address 0x51CC63F ==119896== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==119896== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==119896== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==119896== by 0x40041AF: main (first.c:264) === End of file valgrind757 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind759 ../src/curl -q --output log/13/curl759.out --include --trace-ascii log/13/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/13/stdout759 2> log/13/stderr759 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind760 ../src/curl -q --output log/23/curl760.out --include --trace-ascii log/23/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/23/stdout760 2> log/23/stderr760 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind762 ../src/curl -q --trace-ascii log/21/trace762 --trace-time http://127.0.0.1:39881/762 -O --remote-time --output-dir log/21 > log/21/stdout762 2> log/21/stderr762 CMD (256): /usr/bin/perl -e 'exit((stat("log/21/762"))[9] != -922349651)' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/stderr763 test 0756 [mix --output and --out-null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind756 ../src/curl -q --include --trace-ascii log/22/trace756 --trace-time http://127.0.0.1:35989/want/756 http://127.0.0.1:35989/want/7560002 --out-null -o - > log/22/stdout756 2> log/22/stderr756 756: stdout FAILED: --- log/22/check-expected 2026-10-15 19:27:29.766395310 +0000 +++ log/22/check-generated 2026-10-15 19:27:29.765884723 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Response: 2[LF] -Content-Type: text/html[LF] -Content-Length: 8[LF] -[LF] -Hello2![LF] == Contents of files in the log/22/ directory after test 756 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Thu, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Response: 2[LF] Content-Type: text/html[LF] Content-Length: 8[LF] [LF] Hello2![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind756 ../src/curl -q --include --trace-ascii log/22/trace756 --trace-time http://127.0.0.1:35989/want/756 http://127.0.0.1:35989/want/7560002 --out-null -o - > log/22/stdout756 2> log/22/stderr756 === End of file commands.log === Start of file http_server.log 19:27:27.380973 ====> Client connect 19:27:27.381006 accept_connection 3 returned 4 19:27:27.381026 Read 93 bytes 19:27:27.381036 Process 93 bytes request 19:27:27.381049 Got request: GET /verifiedserver HTTP/1.1 19:27:27.381058 Are-we-friendly question received 19:27:27.381087 Wrote request (93 bytes) input to log/22/server.input 19:27:27.381103 Identifying ourselves as friends 19:27:27.381159 Response sent (56 bytes) and written to log/22/server.response 19:27:27.381167 special request received, no persistency 19:27:27.381175 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 58520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 756 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind756 ==119785== ==119785== Process terminating with default action of signal 4 (SIGILL) ==119785== Illegal opcode at address 0x492B75F ==119785== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119785== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119785== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119785== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119785== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119785== by 0x49908EB: curl_version_info (version.c:600) ==119785== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119785== by 0x4003269: main (tool_main.c:195) === End of file valgrind756 test 0759 [glob '{,'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind759 ../src/curl -q --output log/13/curl759.out --include --trace-ascii log/13/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/13/stdout759 2> log/13/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/13/ directory after test 759 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind759 ../src/curl -q --output log/13/curl759.out --include --trace-ascii log/13/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/13/stdout759 2> log/13/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==119931== ==119931== Process terminating with default action of signal 4 (SIGILL) ==119931== Illegal opcode at address 0x492B75F ==119931== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119931== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119931== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119931== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119931== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119931== by 0x49908EB: curl_version_info (version.c:600) ==119931== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119931== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119931== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119931== by 0x4003269: main (tool_main.c:195) === End of file valgrind759 test 0760 [more cmdline options than URLs and --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind760 ../src/curl -q --output log/23/curl760.out --include --trace-ascii log/23/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/23/stdout760 2> log/23/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/23/ directory after test 760 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind760 ../src/curl -q --output log/23/curl760.out --include --trace-ascii log/23/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/23/stdout760 2> log/23/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==119996== ==119996== Process terminating with default action of signal 4 (SIGILL) ==119996== Illegal opcode at address 0x492B75F ==119996== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==119996== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==119996== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==119996== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==119996== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==119996== by 0x49908EB: curl_version_info (version.c:600) ==119996== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==119996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==119996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==119996== by 0x4003269: main (tool_main.c:195) === End of file valgrind760 test 0762 [HTTP GET with --remote-time with file date from 1940] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind762 ../src/curl -q --trace-ascii log/21/trace762 --trace-time http://127.0.0.1:39881/762 -O --remote-time --output-dir log/21 > log/21/stdout762 2> log/21/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/21/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/21/ directory after test 762 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind762 ../src/curl -q --tracCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind761 ../src/curl -q --output log/20/curl761.out --include --trace-ascii log/20/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/20/stdout761 2> log/20/stderr761 e-ascii log/21/trace762 --trace-time http://127.0.0.1:39881/762 -O --remote-time --output-dir log/21 > log/21/stdout762 2> log/21/stderr762 === End of file commands.log === Start of file http_server.log 19:27:28.100182 ====> Client connect 19:27:28.100218 accept_connection 3 returned 4 19:27:28.100243 Read 93 bytes 19:27:28.100258 Process 93 bytes request 19:27:28.100271 Got request: GET /verifiedserver HTTP/1.1 19:27:28.100280 Are-we-friendly question received 19:27:28.100311 Wrote request (93 bytes) input to log/21/server.input 19:27:28.100330 Identifying ourselves as friends 19:27:28.100405 Response sent (56 bytes) and written to log/21/server.response 19:27:28.100417 special request received, no persistency 19:27:28.100426 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 762 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind762 ==120139== ==120139== Process terminating with default action of signal 4 (SIGILL) ==120139== Illegal opcode at address 0x492B75F ==120139== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120139== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120139== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120139== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120139== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120139== by 0x49908EB: curl_version_info (version.c:600) ==120139== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120139== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120139== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120139== by 0x4003269: main (tool_main.c:195) === End of file valgrind762 test 0763 [Unicode hostname ending up in a blank name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/9/ directory after test 763 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind763 ../src/curl -q --output log/9/curl763.out --include --trace-ascii log/9/trace763 --trace-time '​‌' > log/9/stdout763 2> log/9/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==120085== ==120085== Process terminating with default action of signal 4 (SIGILL) ==120085== Illegal opcode at address 0x492B75F ==120085== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120085== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120085== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120085== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120085== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120085== by 0x49908EB: curl_version_info (version.c:600) ==120085== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120085== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120085== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120085== by 0x4003269: main (tool_main.c:195) === End of file valgrind763 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:39739/path/766 > log/4/stdout766 2> log/4/stderr766 test 0761 [too many {} globs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind761 ../src/curl -q --output log/20/curl761.out --include --trace-ascii log/20/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/20/stdout761 2> log/20/stderr761 761: stderr FAILED: --- log/20/check-expected 2026-10-15 19:27:30.445998536 +0000 +++ log/20/check-generated 2026-10-15 19:27:30.443893704 +0000 @@ -1,2 +0,0 @@ -curl: (3) too many {} sets in position 403:[CR][LF] -http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] == Contents of files in the log/20/ directory after test 761 === Start of file check-expected curl: (3) too many {} sets in position 403:[CR][LF] http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind761 ../src/curl -q --output log/20/curl761.out --include --trace-ascii log/20/trace761 --trace-time http://testingthis/{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b{a}b > log/20/stdout761 2> log/20/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==120040== ==120040== Process terminating with default action of signal 4 (SIGILL) ==120040== Illegal opcode at address 0x492B75F ==120040== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120040== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120040== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120040== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120040== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120040== by 0x49908EB: curl_version_info (version.c:600) ==120040== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120040== by 0x4003269: main (tool_main.c:195) === End of file valgrind761 test 0766 [FTP PORT with sockopt callback refusing the accept] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:39739/path/766 > log/4/stdout766 2> log/4/stderr766 766: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 766 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:39739/path/766 > log/4/stdout766 2> log/4/stderr766 === End of file commands.log === Start of file ftp_server.log 19:27:28.925656 ====> Client connect 19:27:28.962489 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:28.992649 < "USER anonymous" 19:27:28.992722 > "331 We are happy you popped in![CR][LF]" 19:27:28.997187 < "PASS ftp@example.com" 19:27:28.997250 > "230 Welcome you silly person[CR][LF]" 19:27:28.997471 < "PWD" 19:27:28.997503 > "257 "/" is current directory[CR][LF]" 19:27:28.997666 < "EPSV" 19:27:28.997692 ====> Passive DATA channel requested by client 19:27:28.997706 DATA sockfilt for passive data channel starting... 19:27:29.045373 DATA sockfilt for passive data channel started (pid 120395) 19:27:29.045599 DATA sockfilt for passive data channel listens on port 41385 19:27:29.045653 > "229 Entering Passive Mode (|||41385|)[CR][LF]" 19:27:29.045675 Client has been notified that upcoming DATA connection is awaited on port 41385 19:27:29.046007 Client connects to port 41385 19:27:29.046040 ====> Client established passive DATA connection on port 41385 19:27:29.046146 < "TYPE I" 19:27:29.046188 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:29.046375 < "SIZE verifiedserver" 19:27:29.046418 > "213 17[CR][LF]" 19:27:29.046603 < "RETR verifiedserver" 19:27:29.046644 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:29.046740 =====> Closing passive DATA connection... 19:27:29.046757 Server disconnects passive DATA connection 19:27:29.047023 Server disconnected passive DATA connection 19:27:29.047057 DATA sockfilt for passive data channel quits (pid 120395) 19:27:29.085367 DATA sockfilt for passive data channel quit (pid 120395) 19:27:29.085433 =====> Closed passive DATA connection 19:27:29.085477 > "226 File transfer complete[CR][LF]" 19:27:29.092306 < "QUIT" 19:27:29.092370 > "221 bye bye baby[CR][LF]" 19:27:29.093730 MAIN sockfilt said DISC 19:27:29.093771 ====> Client disconnected 19:27:29.093851 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:28.515458 ====> Client connect 19:27:28.570348 Received DATA (on stdin) 19:27:28.576600 > 146 bytes data, server => client 19:27:28.576645 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:28.576665 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:28.576672 '220 \___|\___/|_| \_\_____|\r\n' 19:27:28.579823 < 16 bytes data, client => server 19:27:28.579841 'USER anonymous\r\n' 19:27:28.600565 Received DATA (on stdin) 19:27:28.600587 > 33 bytes data, server => client 19:27:28.600597 '331 We are CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind764 ../src/curl -q --include --trace-ascii log/15/trace764 --trace-time http://127.0.0.1:40321/764 -L -w '%header{this:all:***}\n' -o log/15/764.out > log/15/stdout764 2> log/15/stderr764 happy you popped in!\r\n' 19:27:28.600714 < 22 bytes data, client => server 19:27:28.600725 'PASS ftp@example.com\r\n' 19:27:28.605087 Received DATA (on stdin) 19:27:28.605104 > 30 bytes data, server => client 19:27:28.605115 '230 Welcome you silly person\r\n' 19:27:28.605193 < 5 bytes data, client => server 19:27:28.605204 'PWD\r\n' 19:27:28.605327 Received DATA (on stdin) 19:27:28.605337 > 30 bytes data, server => client 19:27:28.605347 '257 "/" is current directory\r\n' 19:27:28.605410 < 6 bytes data, client => server 19:27:28.605420 'EPSV\r\n' 19:27:28.653509 Received DATA (on stdin) 19:27:28.653527 > 39 bytes data, server => client 19:27:28.653538 '229 Entering Passive Mode (|||41385|)\r\n' 19:27:28.653740 < 8 bytes data, client => server 19:27:28.653757 'TYPE I\r\n' 19:27:28.654014 Received DATA (on stdin) 19:27:28.654027 > 33 bytes data, server => client 19:27:28.654039 '200 I modify TYPE as you wanted\r\n' 19:27:28.654098 < 21 bytes data, client => server 19:27:28.654113 'SIZE verifiedserver\r\n' 19:27:28.654242 Received DATA (on stdin) 19:27:28.654255 > 8 bytes data, server => client 19:27:28.654265 '213 17\r\n' 19:27:28.654324 < 21 bytes data, client => server 19:27:28.654339 'RETR verifiedserver\r\n' 19:27:28.654580 Received DATA (on stdin) 19:27:28.654591 > 29 bytes data, server => client 19:27:28.654601 '150 Binary junk (17 bytes).\r\n' 19:27:28.693314 Received DATA (on stdin) 19:27:28.693335 > 28 bytes data, server => client 19:27:28.693346 '226 File transfer complete\r\n' 19:27:28.699939 < 6 bytes data, client => server 19:27:28.699969 'QUIT\r\n' 19:27:28.700201 Received DATA (on stdin) 19:27:28.700216 > 18 bytes data, server => client 19:27:28.700226 '221 bye bye baby\r\n' 19:27:28.701482 ====> Client disconnect 19:27:28.701674 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:28.607700 Running IPv4 version 19:27:28.626956 Listening on port 41385 19:27:28.650105 Wrote pid 120395 to log/4/server/ftp_sockdata.pid 19:27:28.650143 Received PING (on stdin) 19:27:28.653289 Received PORT (on stdin) 19:27:28.653778 ====> Client connect 19:27:28.654664 Received DATA (on stdin) 19:27:28.654677 > 17 bytes data, server => client 19:27:28.654686 'WE ROOLZ: 85249\r\n' 19:27:28.654714 Received DISC (on stdin) 19:27:28.654727 ====> Client forcibly disconnected 19:27:28.654889 Received QUIT (on stdin) 19:27:28.654900 quits 19:27:28.689934 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 766 === End of file server.cmd === Start of file valgrind766 ==120449== ==120449== Process terminating with default action of signal 4 (SIGILL) ==120449== Illegal opcode at address 0x51CC63F ==120449== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==120449== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==120449== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==120449== by 0x40041AF: main (first.c:264) === End of file valgrind766 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind765 ../src/curl -q --include --trace-ascii log/3/trace765 --trace-time http://127.0.0.1:36161/765 -L -w '%header{this:all:-{\}-}\n' -o log/3/765.out > log/3/stdout765 2> log/3/stderr765 test 0764 [-w with multiple header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind764 ../src/curl -q --include --trace-ascii log/15/trace764 --trace-time http://127.0.0.1:40321/764 -L -w '%header{this:all:***}\n' -o log/15/764.out > log/15/stdout764 2> log/15/stderr764 764: stdout FAILED: --- log/15/check-expected 2026-10-15 19:27:30.703756876 +0000 +++ log/15/check-generated 2026-10-15 19:27:30.700594385 +0000 @@ -1 +0,0 @@ -one***two***three***four[CR][LF] == Contents of files in the log/15/ directory after test 764 === Start of file check-expected one***two***three***four[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind764 ../src/curl -q --include --trace-ascii log/15/trace764 --trace-time http://127.0.0.1:40321/764 -L -w '%header{this:all:***}\n' -o log/15/764.out > log/15/stdout764 2> log/15/stderr764 === End of file commands.log === Start of file http_server.log 19:27:29.146421 ====> Client connect 19:27:29.146456 accept_connection 3 returned 4 19:27:29.146478 Read 93 bytes 19:27:29.146488 Process 93 bytes request 19:27:29.146500 Got request: GET /verifiedserver HTTP/1.1 19:27:29.146509 Are-we-friendly question received 19:27:29.146565 Wrote request (93 bytes) input to log/15/server.input 19:27:29.146584 Identifying ourselves as friends 19:27:29.146651 Response sent (56 bytes) and written to log/15/server.response 19:27:29.146662 special request received, no persistency 19:27:29.146670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 764 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind764 ==120182== ==120182== Process terminating with default action of signal 4 (SIGILL) ==120182== Illegal opcode at address 0x492B75F ==120182== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120182== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120182== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120182== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120182== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120182== by 0x49908EB: curl_version_info (version.c:600) ==120182== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120182== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120182== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120182== by 0x4003269: main (tool_main.c:195) === End of file valgrind764 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:37089/767 > log/5/stdout767 2> log/5/stderr767 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind768 ../src/curl -q --output log/16/curl768.out --include --trace-ascii log/16/trace768 --trace-time http://127.0.0.1:35903/768 > log/16/stdout768 2> log/16/stderr768 test 0765 [-w with multiple header output using } in separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind765 ../src/curl -q --include --trace-ascii log/3/trace765 --trace-time http://127.0.0.1:36161/765 -L -w '%header{this:all:-{\}-}\n' -o log/3/765.out > log/3/stdout765 2> log/3/stderr765 765: stdout FAILED: --- log/3/check-expected 2026-10-15 19:27:31.036040339 +0000 +++ log/3/check-generated 2026-10-15 19:27:31.033971831 +0000 @@ -1 +0,0 @@ -one-{}-two-{}-three-{}-four[CR][LF] == Contents of files in the log/3/ directory after test 765 === Start of file check-expected one-{}-two-{}-three-{}-four[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind765 ../src/curl -q --include --trace-ascii log/3/trace765 --trace-time http://127.0.0.1:36161/765 -L -w '%header{this:all:-{\}-}\n' -o log/3/765.out > log/3/stdout765 2> log/3/stderr765 === End of file commands.log === Start of file http_server.log 19:27:29.323221 ====> Client connect 19:27:29.323286 accept_connection 3 returned 4 19:27:29.323318 Read 93 bytes 19:27:29.323328 Process 93 bytes request 19:27:29.323343 Got request: GET /verifiedserver HTTP/1.1 19:27:29.323351 Are-we-friendly question received 19:27:29.323376 Wrote request (93 bytes) input to log/3/server.input 19:27:29.323391 Identifying ourselves as friends 19:27:29.323493 Response sent (56 bytes) and written to log/3/server.response 19:27:29.323501 special request received, no persistency 19:27:29.323508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 46228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 765 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind765 ==120322== ==120322== Process terminating with default action of signal 4 (SIGILL) ==120322== Illegal opcode at address 0x492B75F ==120322== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120322== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120322== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120322== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120322== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120322== by 0x49908EB: curl_version_info (version.c:600) ==120322== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120322== by 0x4003269: main (tool_main.c:195) === End of file valgrind765 test 0767 [HTTP with two Content-Length response header fields same size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:37089/767 > log/5/stdout767 2> log/5/stderr767 767: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 767 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind767 ../src/curl -q --output log/5/curl767.out --include --trace-ascii log/5/trace767 --trace-time http://127.0.0.1:37089/767 > log/5/stdout767 2> log/5/stderr767 === End of file commands.log === Start of file http_server.log 19:27:28.626567 ====> Client connect 19:27:28.626616 accept_connection 3 returned 4 19:27:28.626647 Read 93 bytes 19:27:28.626693 Process 93 bytes request 19:27:28.626705 Got request: GET /verifiedserver HTTP/1.1 19:27:28.626732 Are-we-friendly question received 19:27:28.626766 Wrote request (93 bytes) input to log/5/server.input 19:27:28.626783 Identifying ourselves as friends 19:27:28.626866 Response sent (56 bytes) and written to log/5/server.response 19:27:28.626876 special request received, no persistency 19:27:28.626884 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 59904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 767 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind767 ==120453== ==120453== Process terminating with default action of signal 4 (SIGILL) ==120453== Illegal opcode at address 0x492B75F ==120453== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120453== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120453== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120453== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120453== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120453== by 0x49908EB: curl_version_info (version.c:600) ==120453== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120453== by 0x4003269: main (tool_main.c:195) === End of file valgrind767 test 0768 [HTTP with letters after the number in Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind768 ../src/curl -q --output log/16/curl768.out --include --trace-ascii log/16/trace768 --trace-time http://127.0.0.1:35903/768 > log/16/stdout768 2> log/16/stderr768 768: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 768 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind768 ../src/curl -q --output log/16/curl768.out --include --trace-ascii log/16/trace768 --trace-time http://127.0.0.1:35903/768 > log/16/stdout768 2> log/16/stderr768 === End of file commands.log === Start of file http_server.log 19:27:29.712162 ====> Client connect 19:27:29.712194 accept_connection 3 returned 4 19:27:29.712211 Read 93 bytes 19:27:29.712220 Process 93 bytes request 19:27:29.712230 Got request: GET /verifiedserver HTTP/1.1 19:27:29.712237 Are-we-friendly question received 19:27:29.712261 Wrote request (93 bytes) input to log/16/server.input 19:27:29.712274 Identifying ourselves as friends 19:27:29.712328 Response sent (56 bytes) and written to log/16/server.response 19:27:29.712336 special request received, no persistency 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind769 ../src/curl -q --output log/14/curl769.out --include --trace-ascii log/14/trace769 --trace-time http://127.0.0.1:45467/769 > log/14/stdout769 2> log/14/stderr769 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind784 ../src/curl -q --output log/18/curl784.out --include --trace-ascii log/18/trace784 --trace-time http://127.0.0.1:43739/784 --variable "name[5-15]@log/18/in784" --expand-data '{{name}}' > log/18/stdout784 2> log/18/stderr784 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind778 ../src/curl -q --output log/7/curl778.out --include --trace-ascii log/7/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:40859 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/7/stdout778 2> log/7/stderr778 9:27:29.712343 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 768 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind768 ==120574== ==120574== Process terminating with default action of signal 4 (SIGILL) ==120574== Illegal opcode at address 0x492B75F ==120574== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120574== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120574== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120574== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120574== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120574== by 0x49908EB: curl_version_info (version.c:600) ==120574== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120574== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120574== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120574== by 0x4003269: main (tool_main.c:195) === End of file valgrind768 test 0769 [HTTP with space after Content-Length number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind769 ../src/curl -q --output log/14/curl769.out --include --trace-ascii log/14/trace769 --trace-time http://127.0.0.1:45467/769 > log/14/stdout769 2> log/14/stderr769 769: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 769 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind769 ../src/curl -q --output log/14/curl769.out --include --trace-ascii log/14/trace769 --trace-time http://127.0.0.1:45467/769 > log/14/stdout769 2> log/14/stderr769 === End of file commands.log === Start of file http_server.log 19:27:28.782351 ====> Client connect 19:27:28.782391 accept_connection 3 returned 4 19:27:28.782414 Read 93 bytes 19:27:28.782425 Process 93 bytes request 19:27:28.782438 Got request: GET /verifiedserver HTTP/1.1 19:27:28.782447 Are-we-friendly question received 19:27:28.782480 Wrote request (93 bytes) input to log/14/server.input 19:27:28.782498 Identifying ourselves as friends 19:27:28.782571 Response sent (56 bytes) and written to log/14/server.response 19:27:28.782582 special request received, no persistency 19:27:28.782592 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 57468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 769 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind769 ==120570== ==120570== Process terminating with default action of signal 4 (SIGILL) ==120570== Illegal opcode at address 0x492B75F ==120570== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120570== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120570== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120570== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120570== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120570== by 0x49908EB: curl_version_info (version.c:600) ==120570== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120570== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120570== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120570== by 0x4003269: main (tool_main.c:195) === End of file valgrind769 test 0778 [HTTP --oauth2-bearer redirect to new host (not passed on)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind778 ../src/curl -q --output log/7/curl778.out --include --trace-ascii log/7/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:40859 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/7/stdout778 2> log/7/stderr778 778: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 778 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind778 ../src/curl -q --output log/7/curl778.out --include --trace-ascii log/7/trace778 --trace-time http://first.host.it.is/we/want/that/page/778 -x 127.0.0.1:40859 --oauth2-bearer s3cr3t --proxy-user testing:this --location > log/7/stdout778 2> log/7/stderr778 === End of file commands.log === Start of file http_server.log 19:27:29.539761 ====> Client connect 19:27:29.539806 accept_connection 3 returned 4 19:27:29.539832 Read 93 bytes 19:27:29.539842 Process 93 bytes request 19:27:29.539854 Got request: GET /verifiedserver HTTP/1.1 19:27:29.539863 Are-we-friendly question received 19:27:29.539890 Wrote request (93 bytes) input to log/7/server.input 19:27:29.539908 Identifying ourselves as friends 19:27:29.540000 Response sent (56 bytes) and written to log/7/server.response 19:27:29.540010 special request received, no persistency 19:27:29.540019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 53998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 778 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind778 ==120961== ==120961== Process terminating with default action of signal 4 (SIGILL) ==120961== Illegal opcode at address 0x492B75F ==120961== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120961== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120961== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120961== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120961== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120961== by 0x49908EB: curl_version_info (version.c:600) ==120961== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120961== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120961== by 0x4003269: main (tool_main.c:19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind770 ../src/curl -q --output log/1/curl770.out --include --trace-ascii log/1/trace770 --trace-time http://127.0.0.1:38815/770 > log/1/stdout770 2> log/1/stderr770 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind774 ../src/curl -q --output log/17/curl774.out --include --trace-ascii log/17/trace774 --trace-time http://127.0.0.1:35993/ -K log/17/cmd > log/17/stdout774 2> log/17/stderr774 5) === End of file valgrind778 test 0784 [--variable with a file byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind784 ../src/curl -q --output log/18/curl784.out --include --trace-ascii log/18/trace784 --trace-time http://127.0.0.1:43739/784 --variable "name[5-15]@log/18/in784" --expand-data '{{name}}' > log/18/stdout784 2> log/18/stderr784 784: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 784 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind784 ../src/curl -q --output log/18/curl784.out --include --trace-ascii log/18/trace784 --trace-time http://127.0.0.1:43739/784 --variable "name[5-15]@log/18/in784" --expand-data '{{name}}' > log/18/stdout784 2> log/18/stderr784 === End of file commands.log === Start of file http_server.log 19:27:30.665428 ====> Client connect 19:27:30.665467 accept_connection 3 returned 4 19:27:30.665487 Read 93 bytes 19:27:30.665496 Process 93 bytes request 19:27:30.665508 Got request: GET /verifiedserver HTTP/1.1 19:27:30.665517 Are-we-friendly question received 19:27:30.665543 Wrote request (93 bytes) input to log/18/server.input 19:27:30.665559 Identifying ourselves as friends 19:27:30.665618 Response sent (56 bytes) and written to log/18/server.response 19:27:30.665627 special request received, no persistency 19:27:30.665635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46512 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file in784 On the first Monday of the month of April, 1625, the market town of Meung === End of file in784 === Start of file server.cmd Testnum 784 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind784 ==121049== ==121049== Process terminating with default action of signal 4 (SIGILL) ==121049== Illegal opcode at address 0x492B75F ==121049== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121049== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121049== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121049== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121049== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121049== by 0x49908EB: curl_version_info (version.c:600) ==121049== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121049== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121049== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121049== by 0x4003269: main (tool_main.c:195) === End of file valgrind784 test 0770 [HTTP with Content-Length headers using comma separated list] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind770 ../src/curl -q --output log/1/curl770.out --include --trace-ascii log/1/trace770 --trace-time http://127.0.0.1:38815/770 > log/1/stdout770 2> log/1/stderr770 770: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 770 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind770 ../src/curl -q --output log/1/curl770.out --include --trace-ascii log/1/trace770 --trace-time http://127.0.0.1:38815/770 > log/1/stdout770 2> log/1/stderr770 === End of file commands.log === Start of file http_server.log 19:27:29.773474 ====> Client connect 19:27:29.773511 accept_connection 3 returned 4 19:27:29.773530 Read 93 bytes 19:27:29.773543 Process 93 bytes request 19:27:29.773554 Got request: GET /verifiedserver HTTP/1.1 19:27:29.773562 Are-we-friendly question received 19:27:29.773589 Wrote request (93 bytes) input to log/1/server.input 19:27:29.773603 Identifying ourselves as friends 19:27:29.786565 Response sent (56 bytes) and written to log/1/server.response 19:27:29.786581 special request received, no persistency 19:27:29.786590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 42510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 770 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind770 ==120569== ==120569== Process terminating with default action of signal 4 (SIGILL) ==120569== Illegal opcode at address 0x492B75F ==120569== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120569== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120569== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120569== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120569== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120569== by 0x49908EB: curl_version_info (version.c:600) ==120569== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120569== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120569== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120569== by 0x4003269: main (tool_main.c:195) === End of file valgrind770 test 0774 [config file recursively including itself] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind774 ../src/curl -q --output log/17/curl774.out --include --trace-ascii log/17/trace774 --trace-time http://127.0.0.1:35993/ -K log/17/cmd > log/17/stdout774 2> log/17/stderr774 curl returned 132, when expecting 2 774: exit FAILED == Contents of files in the log/17/ directory after test 774 === Start of file cmd --config log/17/cmd === End of file cmd === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind774 ../src/curl -q --output log/17/curl774.out --include --trace-ascii log/17/trace774 --trace-time http://127.0.0.1:35993/ -K log/17/cmd > log/17/stdout774 2> log/17/stderr774 === End of file commands.log === Start of file server.cmd Testnum 774 === End of file server.cmd === Start of file valgrind774 ==120797== ==120797== Process terminating with default action of signal 4 (SIGILL) ==120797== Illegal opcode at address 0x492B75F ==120797== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120797== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120797== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120797== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120797== by 0x49CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind772 ../src/curl -q --output log/24/curl772.out --include --trace-ascii log/24/trace772 --trace-time http://127.0.0.1:38895/772 > log/24/stdout772 2> log/24/stderr772 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind771 ../src/curl -q --output log/10/curl771.out --include --trace-ascii log/10/trace771 --trace-time http://127.0.0.1:40913/771 > log/10/stdout771 2> log/10/stderr771 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:35989/773 > log/22/stdout773 2> log/22/stderr773 908EB: UnknownInlinedFun (vtls.c:292) ==120797== by 0x49908EB: curl_version_info (version.c:600) ==120797== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120797== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120797== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120797== by 0x4003269: main (tool_main.c:195) === End of file valgrind774 test 0772 [HTTP with two Location: headers triggers error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind772 ../src/curl -q --output log/24/curl772.out --include --trace-ascii log/24/trace772 --trace-time http://127.0.0.1:38895/772 > log/24/stdout772 2> log/24/stderr772 772: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 772 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind772 ../src/curl -q --output log/24/curl772.out --include --trace-ascii log/24/trace772 --trace-time http://127.0.0.1:38895/772 > log/24/stdout772 2> log/24/stderr772 === End of file commands.log === Start of file http_server.log 19:27:29.446916 ====> Client connect 19:27:29.446958 accept_connection 3 returned 4 19:27:29.446985 Read 93 bytes 19:27:29.446996 Process 93 bytes request 19:27:29.447009 Got request: GET /verifiedserver HTTP/1.1 19:27:29.447018 Are-we-friendly question received 19:27:29.447052 Wrote request (93 bytes) input to log/24/server.input 19:27:29.447073 Identifying ourselves as friends 19:27:29.447148 Response sent (56 bytes) and written to log/24/server.response 19:27:29.447161 special request received, no persistency 19:27:29.447170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 39358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 772 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind772 ==120794== ==120794== Process terminating with default action of signal 4 (SIGILL) ==120794== Illegal opcode at address 0x492B75F ==120794== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120794== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120794== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120794== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120794== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120794== by 0x49908EB: curl_version_info (version.c:600) ==120794== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120794== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120794== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120794== by 0x4003269: main (tool_main.c:195) === End of file valgrind772 test 0771 [HTTP with two Content-Length headers using different sizes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind771 ../src/curl -q --output log/10/curl771.out --include --trace-ascii log/10/trace771 --trace-time http://127.0.0.1:40913/771 > log/10/stdout771 2> log/10/stderr771 771: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 771 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind771 ../src/curl -q --output log/10/curl771.out --include --trace-ascii log/10/trace771 --trace-time http://127.0.0.1:40913/771 > log/10/stdout771 2> log/10/stderr771 === End of file commands.log === Start of file http_server.log 19:27:29.149774 ====> Client connect 19:27:29.149838 accept_connection 3 returned 4 19:27:29.159835 Read 93 bytes 19:27:29.159857 Process 93 bytes request 19:27:29.159869 Got request: GET /verifiedserver HTTP/1.1 19:27:29.159878 Are-we-friendly question received 19:27:29.199757 Wrote request (93 bytes) input to log/10/server.input 19:27:29.199791 Identifying ourselves as friends 19:27:29.224012 Response sent (56 bytes) and written to log/10/server.response 19:27:29.224032 special request received, no persistency 19:27:29.224041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 56496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 771 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind771 ==120742== ==120742== Process terminating with default action of signal 4 (SIGILL) ==120742== Illegal opcode at address 0x492B75F ==120742== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120742== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120742== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120742== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120742== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120742== by 0x49908EB: curl_version_info (version.c:600) ==120742== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120742== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120742== by 0x4003269: main (tool_main.c:195) === End of file valgrind771 test 0773 [HTTP with two identical Location: headers triggers no error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:35989/773 > log/22/stdout773 2> log/22/stderr773 773: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 773 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind773 ../src/curl -q --output log/22/curl773.out --include --trace-ascii log/22/trace773 --trace-time http://127.0.0.1:35989/773 > log/22/stdout773 2> log/22/stderr773 === End of file commands.log === Start of file http_server.log 19:27:29.469034 ====> Client connect 19:27:29.469076 accept_connection 3 returned 4 19:27:29.469101 Read 93 bytes 19:27:29.469111 Process 93 bytes request 19:27:29.469125 Got request: GET /verifiedserver HTTP/1.1 19:27:29.469134 Are-we-friendly question received 19:27:29.469164 Wrote request (93 bytes) input to log/2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind786 ../src/curl -q --output log/23/curl786.out --include --trace-ascii log/23/trace786 --trace-time http://127.0.0.1:44711/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/23/stdout786 2> log/23/stderr786 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind785 ../src/curl -q --output log/13/curl785.out --include --trace-ascii log/13/trace785 --trace-time http://127.0.0.1:38821/785 --variable "name[5-]@log/13/in785" --expand-data '{{name}}' > log/13/stdout785 2> log/13/stderr785 2/server.input 19:27:29.469184 Identifying ourselves as friends 19:27:29.469255 Response sent (56 bytes) and written to log/22/server.response 19:27:29.469268 special request received, no persistency 19:27:29.469277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 58522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 773 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind773 ==120824== ==120824== Process terminating with default action of signal 4 (SIGILL) ==120824== Illegal opcode at address 0x492B75F ==120824== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==120824== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==120824== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==120824== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==120824== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==120824== by 0x49908EB: curl_version_info (version.c:600) ==120824== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==120824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==120824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==120824== by 0x4003269: main (tool_main.c:195) === End of file valgrind773 test 0786 [--variable with a file byte range, reading from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind786 ../src/curl -q --output log/23/curl786.out --include --trace-ascii log/23/trace786 --trace-time http://127.0.0.1:44711/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/23/stdout786 2> log/23/stderr786 786: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 786 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind786 ../src/curl -q --output log/23/curl786.out --include --trace-ascii log/23/trace786 --trace-time http://127.0.0.1:44711/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/23/stdout786 2> log/23/stderr786 === End of file commands.log === Start of file http_server.log 19:27:29.806395 ====> Client connect 19:27:29.806444 accept_connection 3 returned 4 19:27:29.806475 Read 93 bytes 19:27:29.806486 Process 93 bytes request 19:27:29.806500 Got request: GET /verifiedserver HTTP/1.1 19:27:29.806509 Are-we-friendly question received 19:27:29.806545 Wrote request (93 bytes) input to log/23/server.input 19:27:29.806566 Identifying ourselves as friends 19:27:29.806667 Response sent (56 bytes) and written to log/23/server.response 19:27:29.806680 special request received, no persistency 19:27:29.806689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 40008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 786 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file stdin-for-786 On the first Monday of the month of April, 1625, the market town of Meung === End of file stdin-for-786 === Start of file valgrind786 ==121201== ==121201== Process terminating with default action of signal 4 (SIGILL) ==121201== Illegal opcode at address 0x492B75F ==121201== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121201== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121201== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121201== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121201== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121201== by 0x49908EB: curl_version_info (version.c:600) ==121201== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121201== by 0x4003269: main (tool_main.c:195) === End of file valgrind786 test 0785 [--variable with a file byte range without end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind785 ../src/curl -q --output log/13/curl785.out --include --trace-ascii log/13/trace785 --trace-time http://127.0.0.1:38821/785 --variable "name[5-]@log/13/in785" --expand-data '{{name}}' > log/13/stdout785 2> log/13/stderr785 785: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 785 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind785 ../src/curl -q --output log/13/curl785.out --include --trace-ascii log/13/trace785 --trace-time http://127.0.0.1:38821/785 --variable "name[5-]@log/13/in785" --expand-data '{{name}}' > log/13/stdout785 2> log/13/stderr785 === End of file commands.log === Start of file http_server.log 19:27:29.744420 ====> Client connect 19:27:29.744456 accept_connection 3 returned 4 19:27:29.744479 Read 93 bytes 19:27:29.744488 Process 93 bytes request 19:27:29.744500 Got request: GET /verifiedserver HTTP/1.1 19:27:29.744507 Are-we-friendly question received 19:27:29.744532 Wrote request (93 bytes) input to log/13/server.input 19:27:29.744548 Identifying ourselves as friends 19:27:29.744613 Response sent (56 bytes) and written to log/13/server.response 19:27:29.744623 special request received, no persistency 19:27:29.744630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 53610 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file in785 On the first Monday of the month of April, 1625, the market town of Meung === End of file in785 === Start of file server.cmd Testnum 785 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind785 ==121127== ==121127== Process terminating with default action of signal 4 (SIGILL) ==121127== Illegal opcode at address 0x492B75F ==121127== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121127== by CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind787 ../src/curl -q --output log/21/curl787.out --include --trace-ascii log/21/trace787 --trace-time http://127.0.0.1:39881/787 --variable "name[15-14]@log/21/fooo" --expand-data '{{name}}' > log/21/stdout787 2> log/21/stderr787 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind790 ../src/curl -q --output log/4/curl790.out --include --trace-ascii log/4/trace790 --trace-time http://127.0.0.1:35735/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout790 2> log/4/stderr790 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind788 ../src/curl -q --output log/9/curl788.out --include --trace-ascii log/9/trace788 --trace-time http://127.0.0.1:43733/788 --variable "name[15-15]@log/9/in788" --expand-data '{{name}}' > log/9/stdout788 2> log/9/stderr788 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121127== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121127== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121127== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121127== by 0x49908EB: curl_version_info (version.c:600) ==121127== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121127== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121127== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121127== by 0x4003269: main (tool_main.c:195) === End of file valgrind785 test 0787 [--variable with a file byte range, bad range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind787 ../src/curl -q --output log/21/curl787.out --include --trace-ascii log/21/trace787 --trace-time http://127.0.0.1:39881/787 --variable "name[15-14]@log/21/fooo" --expand-data '{{name}}' > log/21/stdout787 2> log/21/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/21/ directory after test 787 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind787 ../src/curl -q --output log/21/curl787.out --include --trace-ascii log/21/trace787 --trace-time http://127.0.0.1:39881/787 --variable "name[15-14]@log/21/fooo" --expand-data '{{name}}' > log/21/stdout787 2> log/21/stderr787 === End of file commands.log === Start of file http_server.log 19:27:30.062993 ====> Client connect 19:27:30.063038 accept_connection 3 returned 4 19:27:30.063212 Read 93 bytes 19:27:30.063229 Process 93 bytes request 19:27:30.063244 Got request: GET /verifiedserver HTTP/1.1 19:27:30.063253 Are-we-friendly question received 19:27:30.063285 Wrote request (93 bytes) input to log/21/server.input 19:27:30.063303 Identifying ourselves as friends 19:27:30.063373 Response sent (56 bytes) and written to log/21/server.response 19:27:30.063385 special request received, no persistency 19:27:30.063393 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 787 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind787 ==121385== ==121385== Process terminating with default action of signal 4 (SIGILL) ==121385== Illegal opcode at address 0x492B75F ==121385== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121385== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121385== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121385== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121385== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121385== by 0x49908EB: curl_version_info (version.c:600) ==121385== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121385== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121385== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121385== by 0x4003269: main (tool_main.c:195) === End of file valgrind787 test 0790 [--variable with a byte range using plain assign] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind790 ../src/curl -q --output log/4/curl790.out --include --trace-ascii log/4/trace790 --trace-time http://127.0.0.1:35735/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout790 2> log/4/stderr790 790: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 790 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind790 ../src/curl -q --output log/4/curl790.out --include --trace-ascii log/4/trace790 --trace-time http://127.0.0.1:35735/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/4/stdout790 2> log/4/stderr790 === End of file commands.log === Start of file http_server.log 19:27:31.159949 ====> Client connect 19:27:31.159987 accept_connection 3 returned 4 19:27:31.160008 Read 93 bytes 19:27:31.160017 Process 93 bytes request 19:27:31.160029 Got request: GET /verifiedserver HTTP/1.1 19:27:31.160038 Are-we-friendly question received 19:27:31.160065 Wrote request (93 bytes) input to log/4/server.input 19:27:31.160082 Identifying ourselves as friends 19:27:31.160148 Response sent (56 bytes) and written to log/4/server.response 19:27:31.160158 special request received, no persistency 19:27:31.160166 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 33694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 790 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind790 ==121448== ==121448== Process terminating with default action of signal 4 (SIGILL) ==121448== Illegal opcode at address 0x492B75F ==121448== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121448== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121448== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121448== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121448== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121448== by 0x49908EB: curl_version_info (version.c:600) ==121448== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121448== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121448== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121448== by 0x4003269: main (tool_main.c:195) === End of file valgrind790 test 0788 [--variable with a file and single-byte byte range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind788 ../src/curl -q --output log/9/curl788.out --include --trace-ascii log/9/trace788 --trace-time http://127.0.0.1:43733/788 --variable "name[15-15]@log/9/in788" --expand-data '{{name}}' > log/9/stdout788 2> log/9/stderr788 788: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 788 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind788 ../src/curl -q --output log/9/curl788.out --include --trace-ascii log/9/trace788 --trace-time http://127.0.0.1:43733/788 --variable "name[15-15]@log/9/in788" --expand-daCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind779 ../src/curl -q --output log/2/curl779.out --include --trace-ascii log/2/trace779 --trace-time http://127.0.0.1:34531/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:46461:127.0.0.1 > log/2/stdout779 2> log/2/stderr779 ta '{{name}}' > log/9/stdout788 2> log/9/stderr788 === End of file commands.log === Start of file http_server.log 19:27:29.993029 ====> Client connect 19:27:29.993076 accept_connection 3 returned 4 19:27:29.993100 Read 93 bytes 19:27:29.993110 Process 93 bytes request 19:27:29.993124 Got request: GET /verifiedserver HTTP/1.1 19:27:29.993133 Are-we-friendly question received 19:27:29.993162 Wrote request (93 bytes) input to log/9/server.input 19:27:29.993179 Identifying ourselves as friends 19:27:29.993244 Response sent (56 bytes) and written to log/9/server.response 19:27:29.993254 special request received, no persistency 19:27:29.993263 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 55680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file in788 On the first Monday of the month of April, 1625, the market town of Meung === End of file in788 === Start of file server.cmd Testnum 788 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind788 ==121338== ==121338== Process terminating with default action of signal 4 (SIGILL) ==121338== Illegal opcode at address 0x492B75F ==121338== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121338== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121338== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121338== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121338== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121338== by 0x49908EB: curl_version_info (version.c:600) ==121338== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121338== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121338== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121338== by 0x4003269: main (tool_main.c:195) === End of file valgrind788 test 0779 [HTTP --oauth2-bearer redirects to IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind779 ../src/curl -q --output log/2/curl779.out --include --trace-ascii log/2/trace779 --trace-time http://127.0.0.1:34531/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:46461:127.0.0.1 > log/2/stdout779 2> log/2/stderr779 779: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 779 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind779 ../src/curl -q --output log/2/curl779.out --include --trace-ascii log/2/trace779 --trace-time http://127.0.0.1:34531/page/779 --oauth2-bearer s3cr3t --location --proto-redir imap --resolve host:46461:127.0.0.1 > log/2/stdout779 2> log/2/stderr779 === End of file commands.log === Start of file http_server.log 19:27:30.546406 ====> Client connect 19:27:30.546444 accept_connection 3 returned 4 19:27:30.546468 Read 93 bytes 19:27:30.546478 Process 93 bytes request 19:27:30.546489 Got request: GET /verifiedserver HTTP/1.1 19:27:30.546498 Are-we-friendly question received 19:27:30.546562 Wrote request (93 bytes) input to log/2/server.input 19:27:30.546582 Identifying ourselves as friends 19:27:30.546657 Response sent (56 bytes) and written to log/2/server.response 19:27:30.546668 special request received, no persistency 19:27:30.546677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 59756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file imap_server.log 19:27:30.038318 ====> Client connect 19:27:30.038551 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:30.039845 < "A001 CAPABILITY" 19:27:30.039889 > "A001 BAD Command[CR][LF]" 19:27:30.040100 < "A002 LIST "verifiedserver" *" 19:27:30.040142 LIST_imap got "verifiedserver" * 19:27:30.040171 > "* LIST () "/" "WE ROOLZ: 114810"[CR][LF]" 19:27:30.040193 > "A002 OK LIST Completed[CR][LF]" 19:27:30.040208 return proof we are we 19:27:30.089021 < "A003 LOGOUT" 19:27:30.089088 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:30.089115 > "A003 OK LOGOUT completed[CR][LF]" 19:27:30.090492 MAIN sockfilt said DISC 19:27:30.090537 ====> Client disconnected 19:27:30.090626 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:29.645889 ====> Client connect 19:27:29.646453 Received DATA (on stdin) 19:27:29.646540 > 164 bytes data, server => client 19:27:29.646553 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:29.646564 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:29.646574 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:29.647329 < 17 bytes data, client => server 19:27:29.647344 'A001 CAPABILITY\r\n' 19:27:29.647597 Received DATA (on stdin) 19:27:29.647610 > 18 bytes data, server => client 19:27:29.647619 'A001 BAD Command\r\n' 19:27:29.647687 < 30 bytes data, client => server 19:27:29.647702 'A002 LIST "verifiedserver" *\r\n' 19:27:29.647898 Received DATA (on stdin) 19:27:29.647910 > 34 bytes data, server => client 19:27:29.647920 '* LIST () "/" "WE ROOLZ: 114810"\r\n' 19:27:29.647944 Received DATA (on stdin) 19:27:29.647955 > 24 bytes data, server => client 19:27:29.647964 'A002 OK LIST Completed\r\n' 19:27:29.696491 < 13 bytes data, client => server 19:27:29.696526 'A003 LOGOUT\r\n' 19:27:29.696799 Received DATA (on stdin) 19:27:29.696812 > 36 bytes data, server => client 19:27:29.696823 '* BYE curl IMAP server signing off\r\n' 19:27:29.696848 Received DATA (on stdin) 19:27:29.696858 > 26 bytes data, server => client 19:27:29.696868 'A003 OK LOGOUT completed\r\n' 19:27:29.698100 ====> Client disconnect 19:27:29.698312 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj12AWF1dGg9QmVhcmVyIHMzY3IzdAEB B002 OK AUTHENTICATE completed Testnum 779 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind779 ==121077== ==121077== Process terminating with default action of signal 4 (SIGILL) ==121077== Illegal opcode at address 0x492B75F ==121077== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121077== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121077== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121077== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121077== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121077== by 0x49908EB: curl_version_info (version.c:600) ==121077== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121077== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121077== by 0x4003269: UnknownInCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind789 ../src/curl -q --output log/20/curl789.out --include --trace-ascii log/20/trace789 --trace-time http://127.0.0.1:33897/789 --variable "name[75-85]@log/20/in789" --expand-data '{{name}}' > log/20/stdout789 2> log/20/stderr789 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind791 ../src/curl -q --output log/15/curl791.out --include --trace-ascii log/15/trace791 --trace-time http://127.0.0.1:40321/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/15/stdout791 2> log/15/stderr791 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind792 ../src/curl -q --output log/3/curl792.out --include --trace-ascii log/3/trace792 --trace-time --netrc --netrc-file log/3/netrc792 ftp://127.0.0.1:42249/792 > log/3/stdout792 2> log/3/stderr792 linedFun (tool_cfgable.c:310) ==121077== by 0x4003269: main (tool_main.c:195) === End of file valgrind779 test 0789 [--variable with a file and byte range out of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind789 ../src/curl -q --output log/20/curl789.out --include --trace-ascii log/20/trace789 --trace-time http://127.0.0.1:33897/789 --variable "name[75-85]@log/20/in789" --expand-data '{{name}}' > log/20/stdout789 2> log/20/stderr789 789: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 789 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind789 ../src/curl -q --output log/20/curl789.out --include --trace-ascii log/20/trace789 --trace-time http://127.0.0.1:33897/789 --variable "name[75-85]@log/20/in789" --expand-data '{{name}}' > log/20/stdout789 2> log/20/stderr789 === End of file commands.log === Start of file http_server.log 19:27:30.139687 ====> Client connect 19:27:30.139728 accept_connection 3 returned 4 19:27:30.139749 Read 93 bytes 19:27:30.139759 Process 93 bytes request 19:27:30.139771 Got request: GET /verifiedserver HTTP/1.1 19:27:30.139780 Are-we-friendly question received 19:27:30.139805 Wrote request (93 bytes) input to log/20/server.input 19:27:30.139821 Identifying ourselves as friends 19:27:30.139889 Response sent (56 bytes) and written to log/20/server.response 19:27:30.139899 special request received, no persistency 19:27:30.139907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file in789 On the first Monday of the month of April, 1625, the market town of Meung === End of file in789 === Start of file server.cmd Testnum 789 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind789 ==121440== ==121440== Process terminating with default action of signal 4 (SIGILL) ==121440== Illegal opcode at address 0x492B75F ==121440== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121440== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121440== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121440== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121440== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121440== by 0x49908EB: curl_version_info (version.c:600) ==121440== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121440== by 0x4003269: main (tool_main.c:195) === End of file valgrind789 test 0791 [--variable with a byte range using plain assign, out of range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind791 ../src/curl -q --output log/15/curl791.out --include --trace-ascii log/15/trace791 --trace-time http://127.0.0.1:40321/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/15/stdout791 2> log/15/stderr791 791: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 791 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind791 ../src/curl -q --output log/15/curl791.out --include --trace-ascii log/15/trace791 --trace-time http://127.0.0.1:40321/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/15/stdout791 2> log/15/stderr791 === End of file commands.log === Start of file http_server.log 19:27:31.386310 ====> Client connect 19:27:31.386354 accept_connection 3 returned 4 19:27:31.386378 Read 93 bytes 19:27:31.386388 Process 93 bytes request 19:27:31.386402 Got request: GET /verifiedserver HTTP/1.1 19:27:31.386412 Are-we-friendly question received 19:27:31.386442 Wrote request (93 bytes) input to log/15/server.input 19:27:31.386461 Identifying ourselves as friends 19:27:31.386539 Response sent (56 bytes) and written to log/15/server.response 19:27:31.386550 special request received, no persistency 19:27:31.386560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 791 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind791 ==121613== ==121613== Process terminating with default action of signal 4 (SIGILL) ==121613== Illegal opcode at address 0x492B75F ==121613== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121613== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121613== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121613== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121613== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121613== by 0x49908EB: curl_version_info (version.c:600) ==121613== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121613== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121613== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121613== by 0x4003269: main (tool_main.c:195) === End of file valgrind791 test 0792 [.netrc with embedded NUL byte] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind792 ../src/curl -q --output log/3/curl792.out --include --trace-ascii log/3/trace792 --trace-time --netrc --netrc-file log/3/netrc792 ftp://127.0.0.1:42249/792 > log/3/stdout792 2> log/3/stderr792 792: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 792 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind792 ../src/curl -q --output log/3/curl792.out --include --trace-ascii log/3/trace792 --trace-time --netrc --netrc-file log/3/netrc792 ftp://127.0.0.1:42249/792 > log/3/stdout792 2> log/3/stderr792 === End of file commands.log === Start of file ftp_server.log 19:27:31.158805 ====> Client connect 19:27:31.159052 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind793 ../src/curl -q --output log/5/curl793.out --include --trace-ascii log/5/trace793 --trace-time --netrc --netrc-file log/5/netrc793 ftp://127.0.0.1:39641/793 > log/5/stdout793 2> log/5/stderr793 __[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:31.165530 < "USER anonymous" 19:27:31.165583 > "331 We are happy you popped in![CR][LF]" 19:27:31.165815 < "PASS ftp@example.com" 19:27:31.165849 > "230 Welcome you silly person[CR][LF]" 19:27:31.166018 < "PWD" 19:27:31.166056 > "257 "/" is current directory[CR][LF]" 19:27:31.166258 < "EPSV" 19:27:31.166289 ====> Passive DATA channel requested by client 19:27:31.166305 DATA sockfilt for passive data channel starting... 19:27:31.170415 DATA sockfilt for passive data channel started (pid 121701) 19:27:31.170557 DATA sockfilt for passive data channel listens on port 39355 19:27:31.170612 > "229 Entering Passive Mode (|||39355|)[CR][LF]" 19:27:31.170639 Client has been notified that upcoming DATA connection is awaited on port 39355 19:27:31.170972 Client connects to port 39355 19:27:31.171007 ====> Client established passive DATA connection on port 39355 19:27:31.171107 < "TYPE I" 19:27:31.171148 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:31.171348 < "SIZE verifiedserver" 19:27:31.171396 > "213 17[CR][LF]" 19:27:31.171589 < "RETR verifiedserver" 19:27:31.171631 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:31.171742 =====> Closing passive DATA connection... 19:27:31.171767 Server disconnects passive DATA connection 19:27:31.172235 Server disconnected passive DATA connection 19:27:31.172272 DATA sockfilt for passive data channel quits (pid 121701) 19:27:31.172555 DATA sockfilt for passive data channel quit (pid 121701) 19:27:31.172584 =====> Closed passive DATA connection 19:27:31.172619 > "226 File transfer complete[CR][LF]" 19:27:31.218993 < "QUIT" 19:27:31.219055 > "221 bye bye baby[CR][LF]" 19:27:31.219809 MAIN sockfilt said DISC 19:27:31.219846 ====> Client disconnected 19:27:31.219934 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:31.766211 ====> Client connect 19:27:31.766616 Received DATA (on stdin) 19:27:31.766635 > 146 bytes data, server => client 19:27:31.766647 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:31.766657 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:31.766666 '220 \___|\___/|_| \_\_____|\r\n' 19:27:31.772866 < 16 bytes data, client => server 19:27:31.772888 'USER anonymous\r\n' 19:27:31.773133 Received DATA (on stdin) 19:27:31.773147 > 33 bytes data, server => client 19:27:31.773158 '331 We are happy you popped in!\r\n' 19:27:31.773232 < 22 bytes data, client => server 19:27:31.773247 'PASS ftp@example.com\r\n' 19:27:31.773387 Received DATA (on stdin) 19:27:31.773399 > 30 bytes data, server => client 19:27:31.773409 '230 Welcome you silly person\r\n' 19:27:31.773466 < 5 bytes data, client => server 19:27:31.773475 'PWD\r\n' 19:27:31.773599 Received DATA (on stdin) 19:27:31.773611 > 30 bytes data, server => client 19:27:31.773622 '257 "/" is current directory\r\n' 19:27:31.773696 < 6 bytes data, client => server 19:27:31.773711 'EPSV\r\n' 19:27:31.778189 Received DATA (on stdin) 19:27:31.778207 > 39 bytes data, server => client 19:27:31.778218 '229 Entering Passive Mode (|||39355|)\r\n' 19:27:31.778449 < 8 bytes data, client => server 19:27:31.778464 'TYPE I\r\n' 19:27:31.778691 Received DATA (on stdin) 19:27:31.778705 > 33 bytes data, server => client 19:27:31.778716 '200 I modify TYPE as you wanted\r\n' 19:27:31.778782 < 21 bytes data, client => server 19:27:31.778797 'SIZE verifiedserver\r\n' 19:27:31.778938 Received DATA (on stdin) 19:27:31.778951 > 8 bytes data, server => client 19:27:31.778961 '213 17\r\n' 19:27:31.779023 < 21 bytes data, client => server 19:27:31.779039 'RETR verifiedserver\r\n' 19:27:31.779312 Received DATA (on stdin) 19:27:31.779325 > 29 bytes data, server => client 19:27:31.779336 '150 Binary junk (17 bytes).\r\n' 19:27:31.780160 Received DATA (on stdin) 19:27:31.780173 > 28 bytes data, server => client 19:27:31.780184 '226 File transfer complete\r\n' 19:27:31.826309 < 6 bytes data, client => server 19:27:31.826339 'QUIT\r\n' 19:27:31.826593 Received DATA (on stdin) 19:27:31.826607 > 18 bytes data, server => client 19:27:31.826617 '221 bye bye baby\r\n' 19:27:31.827285 ====> Client disconnect 19:27:31.827463 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:31.777700 Running IPv4 version 19:27:31.777810 Listening on port 39355 19:27:31.777859 Wrote pid 121701 to log/3/server/ftp_sockdata.pid 19:27:31.777886 Received PING (on stdin) 19:27:31.777993 Received PORT (on stdin) 19:27:31.778414 ====> Client connect 19:27:31.779404 Received DATA (on stdin) 19:27:31.779420 > 17 bytes data, server => client 19:27:31.779431 'WE ROOLZ: 84710\r\n' 19:27:31.779464 Received DISC (on stdin) 19:27:31.779478 ====> Client forcibly disconnected 19:27:31.779825 Received QUIT (on stdin) 19:27:31.779838 quits 19:27:31.779910 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc792 machine 127.0.0.1 login username password hello === End of file netrc792 === Start of file server.cmd Testnum 792 === End of file server.cmd === Start of file valgrind792 ==121706== ==121706== Process terminating with default action of signal 4 (SIGILL) ==121706== Illegal opcode at address 0x492B75F ==121706== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121706== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121706== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121706== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121706== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121706== by 0x49908EB: curl_version_info (version.c:600) ==121706== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121706== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121706== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121706== by 0x4003269: main (tool_main.c:195) === End of file valgrind792 test 0793 [.netrc with embedded NUL byte, with quoted token] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind793 ../src/curl -q --output log/5/curl793.out --include --trace-ascii log/5/trace793 --trace-time --netrc --netrc-file log/5/netrc793 ftp://127.0.0.1:39641/793 > log/5/stdout793 2> log/5/stderr793 793: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 793 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind793 ../src/curl -q --output log/5/curl793.out --include --trace-ascii log/5/trace793 --trace-time --netrc --netrc-file log/5/netrc793 ftp://127.0.0.1:39641/793 > log/5/stdout793 2> log/5/stderr793 === End of file commands.log === Start of file ftp_server.log 19:27:31.368821 ====> Client connect 19:27:31.369031 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:31.369669 < "USER anonymous" 19:27:31.369723 > "331 We are happy you popped in![CR][LF]" 19:27:31.369932 < "PASS ftp@example.com" 19:27:31.369967 > "230 Welcome you silly person[CR][LF]" 19:27:31.370129 < "PWD" 19:27:31.370168 > "257 "/" is current directory[CR][LF]" 19:27:31.370350 < "EPSV" 19:27:31.370380 ====> Passive DATA channel requested by client 19:27:31.370394 DATA sockfilt for passive data channel starting... 19:27:31.374283 DATA sockfilt for passive data channel started (pid 121760) 19:27:31.374420 DATA sockfilt for passive data channel listens on port 33357 19:27:31.374462 > "229 Entering Passive Mode (|||33357|)[CR][LF]" 19:27:31.374476 Client has been notified that upcoming DATA connection is awaited on port 33357 19:27:31.374712 Client connects to port 33357 19:27:31.374739 ====> Client established passive DATA cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind798 ../src/curl -q --output log/17/curl798.out --include --trace-ascii log/17/trace798 --trace-time -4 http://localhost:35993/we/want/798 -b none -c log/17/jar798.txt > log/17/stdout798 2> log/17/stderr798 onnection on port 33357 19:27:31.374847 < "TYPE I" 19:27:31.374875 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:31.375007 < "SIZE verifiedserver" 19:27:31.375035 > "213 17[CR][LF]" 19:27:31.375167 < "RETR verifiedserver" 19:27:31.375194 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:31.375289 =====> Closing passive DATA connection... 19:27:31.375303 Server disconnects passive DATA connection 19:27:31.375529 Server disconnected passive DATA connection 19:27:31.375560 DATA sockfilt for passive data channel quits (pid 121760) 19:27:31.375803 DATA sockfilt for passive data channel quit (pid 121760) 19:27:31.375833 =====> Closed passive DATA connection 19:27:31.375863 > "226 File transfer complete[CR][LF]" 19:27:31.432229 < "QUIT" 19:27:31.432284 > "221 bye bye baby[CR][LF]" 19:27:31.433614 MAIN sockfilt said DISC 19:27:31.433654 ====> Client disconnected 19:27:31.433748 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:30.976183 ====> Client connect 19:27:30.976559 Received DATA (on stdin) 19:27:30.976575 > 146 bytes data, server => client 19:27:30.976587 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:30.976597 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:30.976606 '220 \___|\___/|_| \_\_____|\r\n' 19:27:30.976945 < 16 bytes data, client => server 19:27:30.976976 'USER anonymous\r\n' 19:27:30.977246 Received DATA (on stdin) 19:27:30.977260 > 33 bytes data, server => client 19:27:30.977271 '331 We are happy you popped in!\r\n' 19:27:30.977333 < 22 bytes data, client => server 19:27:30.977344 'PASS ftp@example.com\r\n' 19:27:30.977479 Received DATA (on stdin) 19:27:30.977490 > 30 bytes data, server => client 19:27:30.977500 '230 Welcome you silly person\r\n' 19:27:30.977553 < 5 bytes data, client => server 19:27:30.977563 'PWD\r\n' 19:27:30.977682 Received DATA (on stdin) 19:27:30.977694 > 30 bytes data, server => client 19:27:30.977703 '257 "/" is current directory\r\n' 19:27:30.977774 < 6 bytes data, client => server 19:27:30.977786 'EPSV\r\n' 19:27:30.981991 Received DATA (on stdin) 19:27:30.982006 > 39 bytes data, server => client 19:27:30.982016 '229 Entering Passive Mode (|||33357|)\r\n' 19:27:30.982261 < 8 bytes data, client => server 19:27:30.982270 'TYPE I\r\n' 19:27:30.982381 Received DATA (on stdin) 19:27:30.982390 > 33 bytes data, server => client 19:27:30.982399 '200 I modify TYPE as you wanted\r\n' 19:27:30.982444 < 21 bytes data, client => server 19:27:30.982453 'SIZE verifiedserver\r\n' 19:27:30.982541 Received DATA (on stdin) 19:27:30.982550 > 8 bytes data, server => client 19:27:30.982559 '213 17\r\n' 19:27:30.982605 < 21 bytes data, client => server 19:27:30.982613 'RETR verifiedserver\r\n' 19:27:30.982824 Received DATA (on stdin) 19:27:30.982834 > 29 bytes data, server => client 19:27:30.982843 '150 Binary junk (17 bytes).\r\n' 19:27:30.983376 Received DATA (on stdin) 19:27:30.983388 > 28 bytes data, server => client 19:27:30.983399 '226 File transfer complete\r\n' 19:27:31.039534 < 6 bytes data, client => server 19:27:31.039572 'QUIT\r\n' 19:27:31.039788 Received DATA (on stdin) 19:27:31.039799 > 18 bytes data, server => client 19:27:31.039808 '221 bye bye baby\r\n' 19:27:31.041052 ====> Client disconnect 19:27:31.041261 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:31.981373 Running IPv4 version 19:27:31.981453 Listening on port 33357 19:27:31.981489 Wrote pid 121760 to log/5/server/ftp_sockdata.pid 19:27:31.981729 Received PING (on stdin) 19:27:31.981828 Received PORT (on stdin) 19:27:31.982173 ====> Client connect 19:27:31.982866 Received DATA (on stdin) 19:27:31.982877 > 17 bytes data, server => client 19:27:31.982894 'WE ROOLZ: 85245\r\n' 19:27:31.982916 Received DISC (on stdin) 19:27:31.982926 ====> Client forcibly disconnected 19:27:31.983077 Received QUIT (on stdin) 19:27:31.983088 quits 19:27:31.983148 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc793 machine 127.0.0.1 login username "password" hello === End of file netrc793 === Start of file server.cmd Testnum 793 === End of file server.cmd === Start of file valgrind793 ==121780== ==121780== Process terminating with default action of signal 4 (SIGILL) ==121780== Illegal opcode at address 0x492B75F ==121780== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121780== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121780== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121780== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121780== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121780== by 0x49908EB: curl_version_info (version.c:600) ==121780== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121780== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121780== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121780== by 0x4003269: main (tool_main.c:195) === End of file valgrind793 test 0798 [HTTP cookies in a folded header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind798 ../src/curl -q --output log/17/curl798.out --include --trace-ascii log/17/trace798 --trace-time -4 http://localhost:35993/we/want/798 -b none -c log/17/jar798.txt > log/17/stdout798 2> log/17/stderr798 798: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 798 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind798 ../src/curl -q --output log/17/curl798.out --include --trace-ascii log/17/trace798 --trace-time -4 http://localhost:35993/we/want/798 -b none -c log/17/jar798.txt > log/17/stdout798 2> log/17/stderr798 === End of file commands.log === Start of file http_server.log 19:27:32.659459 ====> Client connect 19:27:32.659492 accept_connection 3 returned 4 19:27:32.659514 Read 93 bytes 19:27:32.659524 Process 93 bytes request 19:27:32.659534 Got request: GET /verifiedserver HTTP/1.1 19:27:32.659543 Are-we-friendly question received 19:27:32.659568 Wrote request (93 bytes) input to log/17/server.input 19:27:32.659584 Identifying ourselves as friends 19:27:32.659650 Response sent (56 bytes) and written to log/17/server.response 19:27:32.659660 special request received, no persistency 19:27:32.659669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 36074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd writedelay: 20 Testnum 798 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind798 ==122016== ==122016== Process terminating with default action of signal 4 (SIGILL) ==122016== Illegal opcode at address 0x492B75F ==122016== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122016== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122016== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122016== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122016== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122016== by 0x49908EB: curl_version_info (version.c:600) ==122016== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122016== by 0x4003269: UnknownInlinedCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind796 ../src/curl -q --output log/18/curl796.out --include --trace-ascii log/18/trace796 --trace-time http://127.0.0.1:43739/796 -X IGLOO -d moo --follow > log/18/stdout796 2> log/18/stderr796 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind799 ../src/curl -q --output log/24/curl799.out --include --trace-ascii log/24/trace799 --trace-time 'imap://127.0.0.1:34999/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/24/stdout799 2> log/24/stderr799 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:35903/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 Fun (tool_cfgable.c:339) ==122016== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122016== by 0x4003269: main (tool_main.c:195) === End of file valgrind798 test 0796 [--follow with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind796 ../src/curl -q --output log/18/curl796.out --include --trace-ascii log/18/trace796 --trace-time http://127.0.0.1:43739/796 -X IGLOO -d moo --follow > log/18/stdout796 2> log/18/stderr796 796: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 796 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind796 ../src/curl -q --output log/18/curl796.out --include --trace-ascii log/18/trace796 --trace-time http://127.0.0.1:43739/796 -X IGLOO -d moo --follow > log/18/stdout796 2> log/18/stderr796 === End of file commands.log === Start of file http_server.log 19:27:32.635439 ====> Client connect 19:27:32.635472 accept_connection 3 returned 4 19:27:32.635491 Read 93 bytes 19:27:32.635501 Process 93 bytes request 19:27:32.635513 Got request: GET /verifiedserver HTTP/1.1 19:27:32.635521 Are-we-friendly question received 19:27:32.635549 Wrote request (93 bytes) input to log/18/server.input 19:27:32.635564 Identifying ourselves as friends 19:27:32.635625 Response sent (56 bytes) and written to log/18/server.response 19:27:32.635634 special request received, no persistency 19:27:32.635642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 37356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 796 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind796 ==121997== ==121997== Process terminating with default action of signal 4 (SIGILL) ==121997== Illegal opcode at address 0x492B75F ==121997== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121997== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121997== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121997== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121997== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121997== by 0x49908EB: curl_version_info (version.c:600) ==121997== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121997== by 0x4003269: main (tool_main.c:195) === End of file valgrind796 test 0799 [IMAP with --login-options 'AUTH=+LOGIN'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind799 ../src/curl -q --output log/24/curl799.out --include --trace-ascii log/24/trace799 --trace-time 'imap://127.0.0.1:34999/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/24/stdout799 2> log/24/stderr799 799: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 799 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind799 ../src/curl -q --output log/24/curl799.out --include --trace-ascii log/24/trace799 --trace-time 'imap://127.0.0.1:34999/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/24/stdout799 2> log/24/stderr799 === End of file commands.log === Start of file imap_server.log 19:27:32.078812 ====> Client connect 19:27:32.079034 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:32.088936 < "A001 CAPABILITY" 19:27:32.088994 > "A001 BAD Command[CR][LF]" 19:27:32.089240 < "A002 LIST "verifiedserver" *" 19:27:32.089280 LIST_imap got "verifiedserver" * 19:27:32.089314 > "* LIST () "/" "WE ROOLZ: 113205"[CR][LF]" 19:27:32.089338 > "A002 OK LIST Completed[CR][LF]" 19:27:32.089354 return proof we are we 19:27:32.139011 < "A003 LOGOUT" 19:27:32.139071 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:32.139093 > "A003 OK LOGOUT completed[CR][LF]" 19:27:32.140385 MAIN sockfilt said DISC 19:27:32.140433 ====> Client disconnected 19:27:32.140526 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:31.686087 ====> Client connect 19:27:31.686472 Received DATA (on stdin) 19:27:31.686488 > 164 bytes data, server => client 19:27:31.686499 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:31.686510 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:31.686519 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:31.696091 < 17 bytes data, client => server 19:27:31.696130 'A001 CAPABILITY\r\n' 19:27:31.696413 Received DATA (on stdin) 19:27:31.696426 > 18 bytes data, server => client 19:27:31.696435 'A001 BAD Command\r\n' 19:27:31.696536 < 30 bytes data, client => server 19:27:31.696548 'A002 LIST "verifiedserver" *\r\n' 19:27:31.696772 Received DATA (on stdin) 19:27:31.696784 > 34 bytes data, server => client 19:27:31.696794 '* LIST () "/" "WE ROOLZ: 113205"\r\n' 19:27:31.696821 Received DATA (on stdin) 19:27:31.696832 > 24 bytes data, server => client 19:27:31.696842 'A002 OK LIST Completed\r\n' 19:27:31.746221 < 13 bytes data, client => server 19:27:31.746258 'A003 LOGOUT\r\n' 19:27:31.746506 Received DATA (on stdin) 19:27:31.746518 > 36 bytes data, server => client 19:27:31.746528 '* BYE curl IMAP server signing off\r\n' 19:27:31.746554 Received DATA (on stdin) 19:27:31.746564 > 26 bytes data, server => client 19:27:31.746574 'A003 OK LOGOUT completed\r\n' 19:27:31.747720 ====> Client disconnect 19:27:31.747950 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY LOGIN A002 OK LOGIN completed Testnum 799 === End of file server.cmd === Start of file valgrind799 ==122116== ==122116== Process terminating with default action of signal 4 (SIGILL) ==122116== Illegal opcode at address 0x492B75F ==122116== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122116== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122116== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122116== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122116== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122116== by 0x49908EB: curl_version_info (version.c:600) ==122116== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122116== by 0x4003269: main (tool_main.c:195) === End of file valgrind799 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind797 ../src/curl -q --output log/1/curl797.out --include --trace-ascii log/1/trace797 --trace-time http://127.0.0.1:38815/797 -X IGLOO -d moo --follow > log/1/stdout797 2> log/1/stderr797 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind808 ../src/curl -q --output log/2/curl808.out --include --trace-ascii log/2/trace808 --trace-time imap://127.0.0.1:46461 -u user:secret -X 'EXAMINE 808' > log/2/stdout808 2> log/2/stderr808 test 0794 [--follow + --location with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:35903/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 794: stderr FAILED: --- log/16/check-expected 2026-10-15 19:27:33.748275162 +0000 +++ log/16/check-generated 2026-10-15 19:27:33.745812962 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/16/ directory after test 794 === Start of file check-expected Warning: --follow overrides --location[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind794 ../src/curl -q --output log/16/curl794.out --include --trace-ascii log/16/trace794 --trace-time http://127.0.0.1:35903/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/16/stdout794 2> log/16/stderr794 === End of file commands.log === Start of file http_server.log 19:27:32.249543 ====> Client connect 19:27:32.249594 accept_connection 3 returned 4 19:27:32.249624 Read 93 bytes 19:27:32.249634 Process 93 bytes request 19:27:32.249648 Got request: GET /verifiedserver HTTP/1.1 19:27:32.249657 Are-we-friendly question received 19:27:32.249686 Wrote request (93 bytes) input to log/16/server.input 19:27:32.249703 Identifying ourselves as friends 19:27:32.249791 Response sent (56 bytes) and written to log/16/server.response 19:27:32.249802 special request received, no persistency 19:27:32.249810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 43944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 794 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind794 ==121858== ==121858== Process terminating with default action of signal 4 (SIGILL) ==121858== Illegal opcode at address 0x492B75F ==121858== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==121858== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==121858== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==121858== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==121858== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==121858== by 0x49908EB: curl_version_info (version.c:600) ==121858== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==121858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==121858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==121858== by 0x4003269: main (tool_main.c:195) === End of file valgrind794 test 0797 [--follow with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind797 ../src/curl -q --output log/1/curl797.out --include --trace-ascii log/1/trace797 --trace-time http://127.0.0.1:38815/797 -X IGLOO -d moo --follow > log/1/stdout797 2> log/1/stderr797 797: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 797 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind797 ../src/curl -q --output log/1/curl797.out --include --trace-ascii log/1/trace797 --trace-time http://127.0.0.1:38815/797 -X IGLOO -d moo --follow > log/1/stdout797 2> log/1/stderr797 === End of file commands.log === Start of file http_server.log 19:27:32.657979 ====> Client connect 19:27:32.658016 accept_connection 3 returned 4 19:27:32.658040 Read 93 bytes 19:27:32.658053 Process 93 bytes request 19:27:32.658067 Got request: GET /verifiedserver HTTP/1.1 19:27:32.658076 Are-we-friendly question received 19:27:32.658106 Wrote request (93 bytes) input to log/1/server.input 19:27:32.658123 Identifying ourselves as friends 19:27:32.658189 Response sent (56 bytes) and written to log/1/server.response 19:27:32.658200 special request received, no persistency 19:27:32.658208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 37342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 797 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind797 ==122011== ==122011== Process terminating with default action of signal 4 (SIGILL) ==122011== Illegal opcode at address 0x492B75F ==122011== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122011== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122011== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122011== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122011== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122011== by 0x49908EB: curl_version_info (version.c:600) ==122011== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122011== by 0x4003269: main (tool_main.c:195) === End of file valgrind797 test 0808 [IMAP EXAMINE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind808 ../src/curl -q --output log/2/curl808.out --include --trace-ascii log/2/trace808 --trace-time imap://127.0.0.1:46461 -u user:secret -X 'EXAMINE 808' > log/2/stdout808 2> log/2/stderr808 808: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 808 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind808 ../src/curl -q --output log/2/curl808.out --include --trace-ascii log/2/trace808 --trace-time imap://127.0.0.1:46461 -u user:secret -X 'EXAMINE 808' > log/2/stdout808 2> log/2/stderr808 === End of file commands.log === Start of file imap_server.log 19:27:32.562034 ====> Client connect 19:27:32.562236 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:32.565558 < "A001 CAPABILITY" 19:27:32.565613 > "A001 BAD Command[CR][LF]" 19:27:32.565CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind802 ../src/curl -q --output log/7/curl802.out --include --trace-ascii log/7/trace802 --trace-time 'imap://127.0.0.1:42601/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/7/stdout802 2> log/7/stderr802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind807 ../src/curl -q --output log/9/curl807.out --include --trace-ascii log/9/trace807 --trace-time imap://127.0.0.1:38847 -u user:secret -X 'LSUB "807" *' > log/9/stdout807 2> log/9/stderr807 821 < "A002 LIST "verifiedserver" *" 19:27:32.565847 LIST_imap got "verifiedserver" * 19:27:32.565872 > "* LIST () "/" "WE ROOLZ: 114810"[CR][LF]" 19:27:32.565889 > "A002 OK LIST Completed[CR][LF]" 19:27:32.565902 return proof we are we 19:27:32.615699 < "A003 LOGOUT" 19:27:32.615762 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:32.615789 > "A003 OK LOGOUT completed[CR][LF]" 19:27:32.617146 MAIN sockfilt said DISC 19:27:32.617186 ====> Client disconnected 19:27:32.617274 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.166033 ====> Client connect 19:27:32.169608 Received DATA (on stdin) 19:27:32.169629 > 164 bytes data, server => client 19:27:32.169641 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:32.169651 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:32.169661 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:32.172690 < 17 bytes data, client => server 19:27:32.172716 'A001 CAPABILITY\r\n' 19:27:32.172971 Received DATA (on stdin) 19:27:32.172982 > 18 bytes data, server => client 19:27:32.172992 'A001 BAD Command\r\n' 19:27:32.173086 < 30 bytes data, client => server 19:27:32.173097 'A002 LIST "verifiedserver" *\r\n' 19:27:32.173255 Received DATA (on stdin) 19:27:32.173265 > 34 bytes data, server => client 19:27:32.173274 '* LIST () "/" "WE ROOLZ: 114810"\r\n' 19:27:32.173294 Received DATA (on stdin) 19:27:32.173303 > 24 bytes data, server => client 19:27:32.173312 'A002 OK LIST Completed\r\n' 19:27:32.222838 < 13 bytes data, client => server 19:27:32.222875 'A003 LOGOUT\r\n' 19:27:32.223147 Received DATA (on stdin) 19:27:32.223162 > 36 bytes data, server => client 19:27:32.223172 '* BYE curl IMAP server signing off\r\n' 19:27:32.223199 Received DATA (on stdin) 19:27:32.223209 > 26 bytes data, server => client 19:27:32.223219 'A003 OK LOGOUT completed\r\n' 19:27:32.224436 ====> Client disconnect 19:27:32.224633 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 808 === End of file server.cmd === Start of file valgrind808 ==122261== ==122261== Process terminating with default action of signal 4 (SIGILL) ==122261== Illegal opcode at address 0x492B75F ==122261== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122261== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122261== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122261== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122261== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122261== by 0x49908EB: curl_version_info (version.c:600) ==122261== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122261== by 0x4003269: main (tool_main.c:195) === End of file valgrind808 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/imap_server.pid" --logfile "log/7/imap_server.log" --logdir "log/7" --portfile "log/7/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42601 (log/7/server/imap_server.port) RUN: IMAP server is PID 122008 port 42601 * pid imap => 122008 122008 test 0802 [IMAP SELECT UIDVALIDITY Success] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind802 ../src/curl -q --output log/7/curl802.out --include --trace-ascii log/7/trace802 --trace-time 'imap://127.0.0.1:42601/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/7/stdout802 2> log/7/stderr802 802: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind802 ../src/curl -q --output log/7/curl802.out --include --trace-ascii log/7/trace802 --trace-time 'imap://127.0.0.1:42601/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/7/stdout802 2> log/7/stderr802 === End of file commands.log === Start of file imap_server.log 19:27:32.147650 IMAP server listens on port IPv4/42601 19:27:32.147750 logged pid 122008 in log/7/server/imap_server.pid 19:27:32.147787 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.753834 Running IPv4 version 19:27:32.753924 Listening on port 42601 19:27:32.753964 Wrote pid 122100 to log/7/server/imap_sockfilt.pid 19:27:32.753995 Wrote port 42601 to log/7/server/imap_server.port 19:27:32.754955 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 802 === End of file server.cmd === Start of file valgrind802 ==122449== ==122449== Process terminating with default action of signal 4 (SIGILL) ==122449== Illegal opcode at address 0x492B75F ==122449== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122449== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122449== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122449== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122449== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122449== by 0x49908EB: curl_version_info (version.c:600) ==122449== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122449== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122449== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122449== by 0x4003269: main (tool_main.c:195) === End of file valgrind802 test 0807 [IMAP LSUB mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind807 ../src/curl -q --output log/9/curl807.out --include --trace-ascii log/9/trace807 --trace-time imap://127.0.0.1:38847 -u user:secret -X 'LSUB "807" *' > log/9/stdout807 2> log/9/stderr807 807: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 807 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind807 ../src/curl -q --output log/9/curl807.out --include --trace-ascii log/9/trace807 --trace-time imap://127.0.0.1:38847 -u user:secret -X 'LSUB "807" *' > log/9/stdout807 2> log/9/stderr807 === End of file commands.log === Start of file imap_server.log 19:27:32.562138 ====> Client connect 19:27:32.562474 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:32.562684 < "A001 CAPABILITY" 19:27:32.562731 > "A001 BAD Command[CR][LF]" 19:27:32.562932 < "A002 LIST "verifiedserver" *" 19:27:32.562970 LIST_imap got "verifiedserver" * 19:27:32.563004 > "* LIST () "/" "WE ROOLZ: 113573"[CR][LF]" 19:27:32.563029 > "A002 OK LIST Completed[CR][LF]" 19:27:32.563045 return proof we are we 19:27:32.609065 < "A003 LOGOUT" 19:27:32.609140 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:32.609169 > "A003 OK LOGOUT completed[CR][LF]" 19:27:32.610675 MAIN sockfilt said DISC 19:27:32.610722 ====> Client disconnected 19:27:32.610825 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.169360 ====> Client connect 19:27:32.169692 Received DATA (on stdin) 19:27:32.169712 > 164 bytes data, server => client 19:27:32.169732 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:32.169743 ' | | |_CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind795 ../src/curl -q --output log/14/curl795.out --include --trace-ascii log/14/trace795 --trace-time http://@127.0.0.1:45467/page/795 -u user:secret --location --proto-redir imap --resolve host:40245:127.0.0.1 > log/14/stdout795 2> log/14/stderr795 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind801 ../src/curl -q --output log/22/curl801.out --include --trace-ascii log/22/trace801 --trace-time 'imap://127.0.0.1:37605/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/22/stdout801 2> log/22/stderr801 ) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:32.169752 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:32.169849 < 17 bytes data, client => server 19:27:32.169867 'A001 CAPABILITY\r\n' 19:27:32.170088 Received DATA (on stdin) 19:27:32.170099 > 18 bytes data, server => client 19:27:32.170109 'A001 BAD Command\r\n' 19:27:32.170174 < 30 bytes data, client => server 19:27:32.170186 'A002 LIST "verifiedserver" *\r\n' 19:27:32.170402 Received DATA (on stdin) 19:27:32.170414 > 34 bytes data, server => client 19:27:32.170425 '* LIST () "/" "WE ROOLZ: 113573"\r\n' 19:27:32.170447 Received DATA (on stdin) 19:27:32.170456 > 24 bytes data, server => client 19:27:32.170465 'A002 OK LIST Completed\r\n' 19:27:32.216175 < 13 bytes data, client => server 19:27:32.216223 'A003 LOGOUT\r\n' 19:27:32.216527 Received DATA (on stdin) 19:27:32.216543 > 36 bytes data, server => client 19:27:32.216553 '* BYE curl IMAP server signing off\r\n' 19:27:32.216582 Received DATA (on stdin) 19:27:32.216593 > 26 bytes data, server => client 19:27:32.216603 'A003 OK LOGOUT completed\r\n' 19:27:32.217945 ====> Client disconnect 19:27:32.218188 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==122258== ==122258== Process terminating with default action of signal 4 (SIGILL) ==122258== Illegal opcode at address 0x492B75F ==122258== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122258== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122258== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122258== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122258== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122258== by 0x49908EB: curl_version_info (version.c:600) ==122258== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122258== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122258== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122258== by 0x4003269: main (tool_main.c:195) === End of file valgrind807 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/imap_server.pid" --logfile "log/14/imap_server.log" --logdir "log/14" --portfile "log/14/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40245 (log/14/server/imap_server.port) RUN: IMAP server is PID 121906 port 40245 * pid imap => 121906 121906 test 0795 [HTTP with credentials redirects to IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind795 ../src/curl -q --output log/14/curl795.out --include --trace-ascii log/14/trace795 --trace-time http://@127.0.0.1:45467/page/795 -u user:secret --location --proto-redir imap --resolve host:40245:127.0.0.1 > log/14/stdout795 2> log/14/stderr795 795: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 795 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind795 ../src/curl -q --output log/14/curl795.out --include --trace-ascii log/14/trace795 --trace-time http://@127.0.0.1:45467/page/795 -u user:secret --location --proto-redir imap --resolve host:40245:127.0.0.1 > log/14/stdout795 2> log/14/stderr795 === End of file commands.log === Start of file http_server.log 19:27:31.376184 ====> Client connect 19:27:31.376229 accept_connection 3 returned 4 19:27:31.376254 Read 93 bytes 19:27:31.376264 Process 93 bytes request 19:27:31.376277 Got request: GET /verifiedserver HTTP/1.1 19:27:31.376286 Are-we-friendly question received 19:27:31.376501 Wrote request (93 bytes) input to log/14/server.input 19:27:31.376528 Identifying ourselves as friends 19:27:31.376613 Response sent (56 bytes) and written to log/14/server.response 19:27:31.376623 special request received, no persistency 19:27:31.376631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 50572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file imap_server.log 19:27:31.846538 IMAP server listens on port IPv4/40245 19:27:31.846637 logged pid 121906 in log/14/server/imap_server.pid 19:27:31.846680 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:31.453545 Running IPv4 version 19:27:31.453642 Listening on port 40245 19:27:31.453680 Wrote pid 121926 to log/14/server/imap_sockfilt.pid 19:27:31.453709 Wrote port 40245 to log/14/server/imap_server.port 19:27:31.453881 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE B002 OK AUTHENTICATE completed Testnum 795 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind795 ==122348== ==122348== Process terminating with default action of signal 4 (SIGILL) ==122348== Illegal opcode at address 0x492B75F ==122348== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122348== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122348== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122348== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122348== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122348== by 0x49908EB: curl_version_info (version.c:600) ==122348== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122348== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122348== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122348== by 0x4003269: main (tool_main.c:195) === End of file valgrind795 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/imap_server.pid" --logfile "log/22/imap_server.log" --logdir "log/22" --portfile "log/22/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37605 (log/22/server/imap_server.port) RUN: IMAP server is PID 121995 port 37605 * pid imap => 121995 121995 test 0801 [IMAP FETCH message by MAILINDEX and SECTION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind801 ../src/curl -q --output log/22/curl801.out --include --trace-ascii log/22/trace801 --trace-time 'imap://127.0.0.1:37605/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/22/stdout801 2> log/22/stderr801 801: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 801 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind801 ../src/curl -q --output log/22/curl801.out --include --trace-ascii log/22/trace801 --trace-time 'imap://127.0.0.1:37605/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/22/stdout801 2> log/22/stderr801 === End of file commands.log === Start of file imap_server.log 19:27:32.122948 IMAP server listens on port CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind800 ../src/curl -q --output log/10/curl800.out --include --trace-ascii log/10/trace800 --trace-time 'imap://127.0.0.1:43825/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/10/stdout800 2> log/10/stderr800 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind805 ../src/curl -q --output log/21/curl805.out --include --trace-ascii log/21/trace805 --trace-time imap://127.0.0.1:39665/805 -T log/21/upload805 -u user:secret > log/21/stdout805 2> log/21/stderr805 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:34045/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 IPv4/37605 19:27:32.123092 logged pid 121995 in log/22/server/imap_server.pid 19:27:32.123136 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.728540 Running IPv4 version 19:27:32.728646 Listening on port 37605 19:27:32.728689 Wrote pid 122065 to log/22/server/imap_sockfilt.pid 19:27:32.728721 Wrote port 37605 to log/22/server/imap_server.port 19:27:32.730236 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 801 === End of file server.cmd === Start of file valgrind801 ==122434== ==122434== Process terminating with default action of signal 4 (SIGILL) ==122434== Illegal opcode at address 0x492B75F ==122434== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122434== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122434== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122434== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122434== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122434== by 0x49908EB: curl_version_info (version.c:600) ==122434== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122434== by 0x4003269: main (tool_main.c:195) === End of file valgrind801 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/imap_server.pid" --logfile "log/10/imap_server.log" --logdir "log/10" --portfile "log/10/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43825 (log/10/server/imap_server.port) RUN: IMAP server is PID 121977 port 43825 * pid imap => 121977 121977 test 0800 [IMAP FETCH message with MAILINDEX] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind800 ../src/curl -q --output log/10/curl800.out --include --trace-ascii log/10/trace800 --trace-time 'imap://127.0.0.1:43825/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/10/stdout800 2> log/10/stderr800 800: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind800 ../src/curl -q --output log/10/curl800.out --include --trace-ascii log/10/trace800 --trace-time 'imap://127.0.0.1:43825/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/10/stdout800 2> log/10/stderr800 === End of file commands.log === Start of file imap_server.log 19:27:32.152314 IMAP server listens on port IPv4/43825 19:27:32.152445 logged pid 121977 in log/10/server/imap_server.pid 19:27:32.152494 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.754660 Running IPv4 version 19:27:32.754725 Listening on port 43825 19:27:32.754761 Wrote pid 122102 to log/10/server/imap_sockfilt.pid 19:27:32.754790 Wrote port 43825 to log/10/server/imap_server.port 19:27:32.759578 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 800 === End of file server.cmd === Start of file valgrind800 ==122426== ==122426== Process terminating with default action of signal 4 (SIGILL) ==122426== Illegal opcode at address 0x492B75F ==122426== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122426== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122426== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122426== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122426== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122426== by 0x49908EB: curl_version_info (version.c:600) ==122426== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122426== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122426== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122426== by 0x4003269: main (tool_main.c:195) === End of file valgrind800 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/imap_server.pid" --logfile "log/21/imap_server.log" --logdir "log/21" --portfile "log/21/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39665 (log/21/server/imap_server.port) RUN: IMAP server is PID 122217 port 39665 * pid imap => 122217 122217 test 0805 [IMAP APPEND message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind805 ../src/curl -q --output log/21/curl805.out --include --trace-ascii log/21/trace805 --trace-time imap://127.0.0.1:39665/805 -T log/21/upload805 -u user:secret > log/21/stdout805 2> log/21/stderr805 805: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 805 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind805 ../src/curl -q --output log/21/curl805.out --include --trace-ascii log/21/trace805 --trace-time imap://127.0.0.1:39665/805 -T log/21/upload805 -u user:secret > log/21/stdout805 2> log/21/stderr805 === End of file commands.log === Start of file imap_server.log 19:27:32.468926 IMAP server listens on port IPv4/39665 19:27:32.469033 logged pid 122217 in log/21/server/imap_server.pid 19:27:32.469075 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.074054 Running IPv4 version 19:27:32.074168 Listening on port 39665 19:27:32.074214 Wrote pid 122219 to log/21/server/imap_sockfilt.pid 19:27:32.074249 Wrote port 39665 to log/21/server/imap_server.port 19:27:32.076173 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 805 === End of file server.cmd === Start of file upload805 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload805 === Start of file valgrind805 ==122659== ==122659== Process terminating with default action of signal 4 (SIGILL) ==122659== Illegal opcode at address 0x492B75F ==122659== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122659== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122659== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122659== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122659== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122659== by 0x49908EB: curl_version_info (version.c:600) ==122659== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122659== by 0x4003269: main (tool_main.c:195) === End of file valgrind805 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/imap_server.pid" --logfile "log/4/imap_server.log" --logdir "log/4" --portfile "log/4/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34045 (log/4/server/imap_server.port) RUN: IMAP server is PID 122222 port 34045 * pid imap => 122222 122222 test 0806 [IMAP LIST mailbox] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind803 ../src/curl -q --output log/23/curl803.out --include --trace-ascii log/23/trace803 --trace-time 'imap://127.0.0.1:42569/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/23/stdout803 2> log/23/stderr803 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:42773/Private/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42773/private/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/stderr804 ons=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:34045/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 806: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 806 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:34045/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 === End of file commands.log === Start of file imap_server.log 19:27:32.571812 IMAP server listens on port IPv4/34045 19:27:32.571946 logged pid 122222 in log/4/server/imap_server.pid 19:27:32.572005 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.173992 Running IPv4 version 19:27:32.174080 Listening on port 34045 19:27:32.174124 Wrote pid 122256 to log/4/server/imap_sockfilt.pid 19:27:32.174156 Wrote port 34045 to log/4/server/imap_server.port 19:27:32.179001 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==122692== ==122692== Process terminating with default action of signal 4 (SIGILL) ==122692== Illegal opcode at address 0x492B75F ==122692== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122692== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122692== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122692== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122692== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122692== by 0x49908EB: curl_version_info (version.c:600) ==122692== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122692== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122692== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122692== by 0x4003269: main (tool_main.c:195) === End of file valgrind806 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/imap_server.pid" --logfile "log/13/imap_server.log" --logdir "log/13" --portfile "log/13/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42773 (log/13/server/imap_server.port) RUN: IMAP server is PID 122183 port 42773 * pid imap => 122183 122183 test 0804 [IMAP selects a mailbox when its case changes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:42773/Private/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42773/private/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/stderr804 804: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 804 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind804 ../src/curl -q --output log/13/curl804.out --include --trace-ascii log/13/trace804 --trace-time 'imap://127.0.0.1:42773/Private/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:42773/private/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/13/stdout804 2> log/13/stderr804 === End of file commands.log === Start of file imap_server.log 19:27:32.389921 IMAP server listens on port IPv4/42773 19:27:32.390038 logged pid 122183 in log/13/server/imap_server.pid 19:27:32.390089 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.996823 Running IPv4 version 19:27:32.996909 Listening on port 42773 19:27:32.996949 Wrote pid 122211 to log/13/server/imap_sockfilt.pid 19:27:32.996979 Wrote port 42773 to log/13/server/imap_server.port 19:27:32.997179 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==122607== ==122607== Process terminating with default action of signal 4 (SIGILL) ==122607== Illegal opcode at address 0x492B75F ==122607== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122607== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122607== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122607== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122607== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122607== by 0x49908EB: curl_version_info (version.c:600) ==122607== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122607== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122607== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122607== by 0x4003269: main (tool_main.c:195) === End of file valgrind804 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/imap_server.pid" --logfile "log/23/imap_server.log" --logdir "log/23" --portfile "log/23/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42569 (log/23/server/imap_server.port) RUN: IMAP server is PID 122113 port 42569 * pid imap => 122113 122113 test 0803 [IMAP SELECT UIDVALIDITY Failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind803 ../src/curl -q --output log/23/curl803.out --include --trace-ascii log/23/trace803 --trace-time 'imap://127.0.0.1:42569/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/23/stdout803 2> log/23/stderr803 803: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 803 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind803 ../src/curl -q --output log/23/curl803.out --include --trace-ascii log/23/trace803 --trace-time 'imap://127.0.0.1:42569/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/23/stdout803 2> log/23/stderr803 === End of file commands.log === Start of file imap_server.log 19:27:32.235496 IMAP server listens on port IPv4/42569 19:27:32.235673 logged pid 122113 in log/23/server/imap_server.pid 19:27:32.235738 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.833630 Running IPv4 version 19:27:32.833739 Listening on port 42569 19:27:32.833784 Wrote pid 122163 to log/23/server/imap_sockfilt.pid 19:27:32.833820 Wrote port 42569 to log/23/server/imap_server.port 19:27:32.840406 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 803 === End of file server.cmd === Start of file valgrind803 ==122511== ==122511== Process terminating with default action of signal 4 (SIGILL) ==122511== Illegal opcode at address 0x492B75F ==122511== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122511== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122511== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122511== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122511== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122511== by 0x49908EB: curl_version_info (version.c:600) ==122511== by 0x4003269: UnknownInlinedFunCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind809 ../src/curl -q --output log/20/curl809.out --include --trace-ascii log/20/trace809 --trace-time imap://127.0.0.1:46793 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/20/stdout809 2> log/20/stderr809 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind811 ../src/curl -q --output log/3/curl811.out --include --trace-ascii log/3/trace811 --trace-time imap://127.0.0.1:46883 -u user:secret -X 'CREATE 811' > log/3/stdout811 2> log/3/stderr811 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind815 ../src/curl -q --output log/24/curl815.out --include --trace-ascii log/24/trace815 --trace-time imap://127.0.0.1:34999/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:34999/815 -X CLOSE -u user:secret > log/24/stdout815 2> log/24/stderr815 (tool_libinfo.c:140) ==122511== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122511== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122511== by 0x4003269: main (tool_main.c:195) === End of file valgrind803 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/imap_server.pid" --logfile "log/20/imap_server.log" --logdir "log/20" --portfile "log/20/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46793 (log/20/server/imap_server.port) RUN: IMAP server is PID 122291 port 46793 * pid imap => 122291 122291 test 0809 [IMAP mailbox STATUS (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind809 ../src/curl -q --output log/20/curl809.out --include --trace-ascii log/20/trace809 --trace-time imap://127.0.0.1:46793 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/20/stdout809 2> log/20/stderr809 809: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 809 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind809 ../src/curl -q --output log/20/curl809.out --include --trace-ascii log/20/trace809 --trace-time imap://127.0.0.1:46793 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/20/stdout809 2> log/20/stderr809 === End of file commands.log === Start of file imap_server.log 19:27:32.743961 IMAP server listens on port IPv4/46793 19:27:32.744092 logged pid 122291 in log/20/server/imap_server.pid 19:27:32.744152 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:32.350764 Running IPv4 version 19:27:32.350889 Listening on port 46793 19:27:32.350943 Wrote pid 122307 to log/20/server/imap_sockfilt.pid 19:27:32.350978 Wrote port 46793 to log/20/server/imap_server.port 19:27:32.351168 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 809 === End of file server.cmd === Start of file valgrind809 ==122795== ==122795== Process terminating with default action of signal 4 (SIGILL) ==122795== Illegal opcode at address 0x492B75F ==122795== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122795== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122795== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122795== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122795== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122795== by 0x49908EB: curl_version_info (version.c:600) ==122795== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122795== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122795== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122795== by 0x4003269: main (tool_main.c:195) === End of file valgrind809 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/imap_server.pid" --logfile "log/3/imap_server.log" --logdir "log/3" --portfile "log/3/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46883 (log/3/server/imap_server.port) RUN: IMAP server is PID 122611 port 46883 * pid imap => 122611 122611 test 0811 [IMAP CREATE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind811 ../src/curl -q --output log/3/curl811.out --include --trace-ascii log/3/trace811 --trace-time imap://127.0.0.1:46883 -u user:secret -X 'CREATE 811' > log/3/stdout811 2> log/3/stderr811 811: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 811 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind811 ../src/curl -q --output log/3/curl811.out --include --trace-ascii log/3/trace811 --trace-time imap://127.0.0.1:46883 -u user:secret -X 'CREATE 811' > log/3/stdout811 2> log/3/stderr811 === End of file commands.log === Start of file imap_server.log 19:27:33.382836 IMAP server listens on port IPv4/46883 19:27:33.382987 logged pid 122611 in log/3/server/imap_server.pid 19:27:33.383031 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.986955 Running IPv4 version 19:27:33.987066 Listening on port 46883 19:27:33.987111 Wrote pid 122645 to log/3/server/imap_sockfilt.pid 19:27:33.987144 Wrote port 46883 to log/3/server/imap_server.port 19:27:33.989965 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 811 === End of file server.cmd === Start of file valgrind811 ==122984== ==122984== Process terminating with default action of signal 4 (SIGILL) ==122984== Illegal opcode at address 0x492B75F ==122984== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122984== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122984== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122984== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122984== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122984== by 0x49908EB: curl_version_info (version.c:600) ==122984== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122984== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122984== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122984== by 0x4003269: main (tool_main.c:195) === End of file valgrind811 test 0815 [IMAP STORE - delete message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind815 ../src/curl -q --output log/24/curl815.out --include --trace-ascii log/24/trace815 --trace-time imap://127.0.0.1:34999/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:34999/815 -X CLOSE -u user:secret > log/24/stdout815 2> log/24/stderr815 815: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 815 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind815 ../src/curl -q --output log/24/curl815.out --include --trace-ascii log/24/trace815 --trace-time imap://127.0.0.1:34999/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:34999/815 -X CLOSE -u user:secret > log/24/stdout815 2> log/24/stderr815 === End of file commands.log === Start of file imap_server.log 19:27:33.798795 ====> Client connect 19:27:33.798943 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:33.805559 < "A001 CAPABILITY" 19:27:33.805607 > "A001 BAD Command[CR][LF]" 19:27:33.822113 < "A002 LIST "verifiedserver" *" 19:27:33.822156 LIST_imap got "verifiedserver" * 19:27:33.822191 > "* LIST () "/" "WE ROOLZ: 113205"[CR][LF]" 19:27:33.822209 > "A002 OK LIST Completed[CR][LF]" 19:27:33.822222 return proof we are we 19:27:33.875533 < "A003 LOGOUT" 19:27:33.875587 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:33.875606 > "A003 OK LOGOUT completed[CR][LF]" 19:27:33.882088 MAIN sockfilt said DISC 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind810 ../src/curl -q --output log/15/curl810.out --include --trace-ascii log/15/trace810 --trace-time imap://127.0.0.1:33501/810?NEW -u user:secret > log/15/stdout810 2> log/15/stderr810 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind812 ../src/curl -q --output log/5/curl812.out --include --trace-ascii log/5/trace812 --trace-time imap://127.0.0.1:37639 -u user:secret -X 'DELETE 812' > log/5/stdout812 2> log/5/stderr812 :27:33.882151 ====> Client disconnected 19:27:33.882238 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.405860 ====> Client connect 19:27:33.406151 Received DATA (on stdin) 19:27:33.406164 > 164 bytes data, server => client 19:27:33.406174 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:33.406184 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:33.406193 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:33.412534 < 17 bytes data, client => server 19:27:33.412574 'A001 CAPABILITY\r\n' 19:27:33.412806 Received DATA (on stdin) 19:27:33.412818 > 18 bytes data, server => client 19:27:33.412827 'A001 BAD Command\r\n' 19:27:33.422530 < 30 bytes data, client => server 19:27:33.422557 'A002 LIST "verifiedserver" *\r\n' 19:27:33.429421 Received DATA (on stdin) 19:27:33.429437 > 34 bytes data, server => client 19:27:33.429447 '* LIST () "/" "WE ROOLZ: 113205"\r\n' 19:27:33.429484 Received DATA (on stdin) 19:27:33.429493 > 24 bytes data, server => client 19:27:33.429502 'A002 OK LIST Completed\r\n' 19:27:33.482525 < 13 bytes data, client => server 19:27:33.482561 'A003 LOGOUT\r\n' 19:27:33.482793 Received DATA (on stdin) 19:27:33.482802 > 36 bytes data, server => client 19:27:33.482811 '* BYE curl IMAP server signing off\r\n' 19:27:33.482844 Received DATA (on stdin) 19:27:33.482852 > 26 bytes data, server => client 19:27:33.482861 'A003 OK LOGOUT completed\r\n' 19:27:33.489174 ====> Client disconnect 19:27:33.489427 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==122872== ==122872== Process terminating with default action of signal 4 (SIGILL) ==122872== Illegal opcode at address 0x492B75F ==122872== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122872== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122872== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122872== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122872== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122872== by 0x49908EB: curl_version_info (version.c:600) ==122872== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122872== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122872== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122872== by 0x4003269: main (tool_main.c:195) === End of file valgrind815 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/imap_server.pid" --logfile "log/15/imap_server.log" --logdir "log/15" --portfile "log/15/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33501 (log/15/server/imap_server.port) RUN: IMAP server is PID 122502 port 33501 * pid imap => 122502 122502 test 0810 [IMAP SEARCH for NEW messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind810 ../src/curl -q --output log/15/curl810.out --include --trace-ascii log/15/trace810 --trace-time imap://127.0.0.1:33501/810?NEW -u user:secret > log/15/stdout810 2> log/15/stderr810 810: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 810 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind810 ../src/curl -q --output log/15/curl810.out --include --trace-ascii log/15/trace810 --trace-time imap://127.0.0.1:33501/810?NEW -u user:secret > log/15/stdout810 2> log/15/stderr810 === End of file commands.log === Start of file imap_server.log 19:27:33.223775 IMAP server listens on port IPv4/33501 19:27:33.223897 logged pid 122502 in log/15/server/imap_server.pid 19:27:33.223945 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.830739 Running IPv4 version 19:27:33.830843 Listening on port 33501 19:27:33.830884 Wrote pid 122550 to log/15/server/imap_sockfilt.pid 19:27:33.830912 Wrote port 33501 to log/15/server/imap_server.port 19:27:33.830931 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 810 === End of file server.cmd === Start of file valgrind810 ==122938== ==122938== Process terminating with default action of signal 4 (SIGILL) ==122938== Illegal opcode at address 0x492B75F ==122938== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==122938== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==122938== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==122938== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==122938== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==122938== by 0x49908EB: curl_version_info (version.c:600) ==122938== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==122938== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==122938== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==122938== by 0x4003269: main (tool_main.c:195) === End of file valgrind810 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/imap_server.pid" --logfile "log/5/imap_server.log" --logdir "log/5" --portfile "log/5/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 37639 (log/5/server/imap_server.port) RUN: IMAP server is PID 122670 port 37639 * pid imap => 122670 122670 test 0812 [IMAP DELETE mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind812 ../src/curl -q --output log/5/curl812.out --include --trace-ascii log/5/trace812 --trace-time imap://127.0.0.1:37639 -u user:secret -X 'DELETE 812' > log/5/stdout812 2> log/5/stderr812 812: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 812 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind812 ../src/curl -q --output log/5/curl812.out --include --trace-ascii log/5/trace812 --trace-time imap://127.0.0.1:37639 -u user:secret -X 'DELETE 812' > log/5/stdout812 2> log/5/stderr812 === End of file commands.log === Start of file imap_server.log 19:27:33.480449 IMAP server listens on port IPv4/37639 19:27:33.480555 logged pid 122670 in log/5/server/imap_server.pid 19:27:33.480603 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.087378 Running IPv4 version 19:27:33.087485 Listening on port 37639 19:27:33.087528 Wrote pid 122672 to log/5/server/imap_sockfilt.pid 19:27:33.087559 Wrote port 37639 to log/5/server/imap_server.port 19:27:33.087580 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==123049== ==123049== Process terminating with default action of signal 4 (SIGILL) ==123049== Illegal opcode at address 0x492B75F ==123049== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123049== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123049== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123049== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123049== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123049== by 0x49908EB: curl_version_info (version.c:600) ==123049== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123049== by 0x4003269: UnknownInlineCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind818 ../src/curl -q --output log/2/curl818.out --include --trace-ascii log/2/trace818 --trace-time imap://127.0.0.1:46461 -X NOOP -u user:secret > log/2/stdout818 2> log/2/stderr818 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:37605/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 dFun (tool_cfgable.c:339) ==123049== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123049== by 0x4003269: main (tool_main.c:195) === End of file valgrind812 test 0818 [IMAP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind818 ../src/curl -q --output log/2/curl818.out --include --trace-ascii log/2/trace818 --trace-time imap://127.0.0.1:46461 -X NOOP -u user:secret > log/2/stdout818 2> log/2/stderr818 818: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 818 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind818 ../src/curl -q --output log/2/curl818.out --include --trace-ascii log/2/trace818 --trace-time imap://127.0.0.1:46461 -X NOOP -u user:secret > log/2/stdout818 2> log/2/stderr818 === End of file commands.log === Start of file imap_server.log 19:27:34.588825 ====> Client connect 19:27:34.589013 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:34.592304 < "A001 CAPABILITY" 19:27:34.592389 > "A001 BAD Command[CR][LF]" 19:27:34.592552 < "A002 LIST "verifiedserver" *" 19:27:34.592580 LIST_imap got "verifiedserver" * 19:27:34.592681 > "* LIST () "/" "WE ROOLZ: 114810"[CR][LF]" 19:27:34.592747 > "A002 OK LIST Completed[CR][LF]" 19:27:34.592762 return proof we are we 19:27:34.640769 < "A003 LOGOUT" 19:27:34.640830 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:34.640854 > "A003 OK LOGOUT completed[CR][LF]" 19:27:34.642454 MAIN sockfilt said DISC 19:27:34.642497 ====> Client disconnected 19:27:34.642570 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:34.195777 ====> Client connect 19:27:34.196130 Received DATA (on stdin) 19:27:34.196146 > 164 bytes data, server => client 19:27:34.196158 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:34.196168 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:34.196178 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:34.199176 < 17 bytes data, client => server 19:27:34.199205 'A001 CAPABILITY\r\n' 19:27:34.199433 Received DATA (on stdin) 19:27:34.199445 > 18 bytes data, server => client 19:27:34.199489 'A001 BAD Command\r\n' 19:27:34.199553 < 30 bytes data, client => server 19:27:34.199564 'A002 LIST "verifiedserver" *\r\n' 19:27:34.199681 Received DATA (on stdin) 19:27:34.199691 > 34 bytes data, server => client 19:27:34.199708 '* LIST () "/" "WE ROOLZ: 114810"\r\n' 19:27:34.199782 Received DATA (on stdin) 19:27:34.199792 > 24 bytes data, server => client 19:27:34.199808 'A002 OK LIST Completed\r\n' 19:27:34.247665 < 13 bytes data, client => server 19:27:34.247693 'A003 LOGOUT\r\n' 19:27:34.247950 Received DATA (on stdin) 19:27:34.247964 > 36 bytes data, server => client 19:27:34.247974 '* BYE curl IMAP server signing off\r\n' 19:27:34.248007 Received DATA (on stdin) 19:27:34.248017 > 26 bytes data, server => client 19:27:34.248027 'A003 OK LOGOUT completed\r\n' 19:27:34.249489 ====> Client disconnect 19:27:34.249669 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==123130== ==123130== Process terminating with default action of signal 4 (SIGILL) ==123130== Illegal opcode at address 0x492B75F ==123130== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123130== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123130== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123130== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123130== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123130== by 0x49908EB: curl_version_info (version.c:600) ==123130== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123130== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123130== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123130== by 0x4003269: main (tool_main.c:195) === End of file valgrind818 test 0824 [IMAP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:37605/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 824: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:37605/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 === End of file commands.log === Start of file imap_server.log 19:27:34.862432 ====> Client connect 19:27:34.862670 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:34.869371 < "A001 CAPABILITY" 19:27:34.869430 > "A001 BAD Command[CR][LF]" 19:27:34.869633 < "A002 LIST "verifiedserver" *" 19:27:34.869669 LIST_imap got "verifiedserver" * 19:27:34.869700 > "* LIST () "/" "WE ROOLZ: 121995"[CR][LF]" 19:27:34.869723 > "A002 OK LIST Completed[CR][LF]" 19:27:34.869739 return proof we are we 19:27:34.915658 < "A003 LOGOUT" 19:27:34.918709 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:34.918759 > "A003 OK LOGOUT completed[CR][LF]" 19:27:34.919882 MAIN sockfilt said DISC 19:27:34.919929 ====> Client disconnected 19:27:34.920016 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.469160 ====> Client connect 19:27:35.475721 Received DATA (on stdin) 19:27:35.475760 > 164 bytes data, server => client 19:27:35.475773 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.475784 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.475793 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.476195 < 17 bytes data, client => server 19:27:35.476216 'A001 CAPABILITY\r\n' 19:27:35.476499 Received DATA (on stdin) 19:27:35.476512 > 18 bytes data, server => client 19:27:35.476521 'A001 BAD Command\r\n' 19:27:35.476589 < 30 bytes data, client => server 19:27:35.476601 'A002 LIST "verifiedserver" *\r\n' 19:27:35.476803 Received DATA (on stdin) 19:27:35.476815 > 34 bytes data, server => client 19:27:35.476824 '* LIST () "/" "WE ROOLZ: 121995"\r\n' 19:27:35.476848 Received DATA (on stdin) 19:27:35.476858 > 24 bytes data, server => client 19:27:35.476868 'A002 OK LIST Completed\r\n' 19:27:35.522512 < 13 bytes data, client => server 19:27:35.522545 'A003 LOGOUT\r\n' 19:27:35.525721 Received DATA (on stdin) 19:27:35.525746 > 36 bytes data, server => client 19:27:35.525756 '* BYE curl IMAP server signing off\r\n' 19:27:35.525796 Received DATA (on stdin) 19:27:35.525806 > 26 bytes data, server => client 19:27:35.525816 'A003 OK LOGOUT completed\r\n' 19:27:35.525887 ====> Client disconnect 19:27:35.527090 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTHENTICATE + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind813 ../src/curl -q --output log/17/curl813.out --include --trace-ascii log/17/trace813 --trace-time imap://127.0.0.1:39883 -u user:secret -X 'RENAME 666 813' > log/17/stdout813 2> log/17/stderr813 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind816 ../src/curl -q --output log/16/curl816.out --include --trace-ascii log/16/trace816 --trace-time imap://127.0.0.1:45869/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45869/816 -X EXPUNGE -u user:secret > log/16/stdout816 2> log/16/stderr816 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind820 ../src/curl -q --output log/9/curl820.out --include --trace-ascii log/9/trace820 --trace-time 'imap://127.0.0.1:38847/820/;MAILINDEX=1' -u user:secret > log/9/stdout820 2> log/9/stderr820 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind819 ../src/curl -q --output log/7/curl819.out --include --trace-ascii log/7/trace819 --trace-time 'imap://127.0.0.1:42601/819/;MAILINDEX=1' -u user:secret > log/7/stdout819 2> log/7/stderr819 IG1GXzkuQjVmLTQuMUpxTQEB A002 OK AUTHENTICATE completed Testnum 824 === End of file server.cmd === Start of file valgrind824 ==123382== ==123382== Process terminating with default action of signal 4 (SIGILL) ==123382== Illegal opcode at address 0x492B75F ==123382== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123382== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123382== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123382== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123382== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123382== by 0x49908EB: curl_version_info (version.c:600) ==123382== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123382== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123382== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123382== by 0x4003269: main (tool_main.c:195) === End of file valgrind824 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/imap_server.pid" --logfile "log/17/imap_server.log" --logdir "log/17" --portfile "log/17/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39883 (log/17/server/imap_server.port) RUN: IMAP server is PID 122784 port 39883 * pid imap => 122784 122784 test 0813 [IMAP RENAME mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind813 ../src/curl -q --output log/17/curl813.out --include --trace-ascii log/17/trace813 --trace-time imap://127.0.0.1:39883 -u user:secret -X 'RENAME 666 813' > log/17/stdout813 2> log/17/stderr813 813: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 813 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind813 ../src/curl -q --output log/17/curl813.out --include --trace-ascii log/17/trace813 --trace-time imap://127.0.0.1:39883 -u user:secret -X 'RENAME 666 813' > log/17/stdout813 2> log/17/stderr813 === End of file commands.log === Start of file imap_server.log 19:27:33.745709 IMAP server listens on port IPv4/39883 19:27:33.745775 logged pid 122784 in log/17/server/imap_server.pid 19:27:33.745806 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.352694 Running IPv4 version 19:27:33.352760 Listening on port 39883 19:27:33.352790 Wrote pid 122810 to log/17/server/imap_sockfilt.pid 19:27:33.352813 Wrote port 39883 to log/17/server/imap_server.port 19:27:33.352830 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 813 === End of file server.cmd === Start of file valgrind813 ==123123== ==123123== Process terminating with default action of signal 4 (SIGILL) ==123123== Illegal opcode at address 0x492B75F ==123123== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123123== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123123== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123123== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123123== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123123== by 0x49908EB: curl_version_info (version.c:600) ==123123== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123123== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123123== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123123== by 0x4003269: main (tool_main.c:195) === End of file valgrind813 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/imap_server.pid" --logfile "log/16/imap_server.log" --logdir "log/16" --portfile "log/16/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45869 (log/16/server/imap_server.port) RUN: IMAP server is PID 122830 port 45869 * pid imap => 122830 122830 test 0816 [IMAP STORE - delete message with confirmation (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind816 ../src/curl -q --output log/16/curl816.out --include --trace-ascii log/16/trace816 --trace-time imap://127.0.0.1:45869/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45869/816 -X EXPUNGE -u user:secret > log/16/stdout816 2> log/16/stderr816 816: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 816 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind816 ../src/curl -q --output log/16/curl816.out --include --trace-ascii log/16/trace816 --trace-time imap://127.0.0.1:45869/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:45869/816 -X EXPUNGE -u user:secret > log/16/stdout816 2> log/16/stderr816 === End of file commands.log === Start of file imap_server.log 19:27:33.830901 IMAP server listens on port IPv4/45869 19:27:33.831008 logged pid 122830 in log/16/server/imap_server.pid 19:27:33.831053 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.437647 Running IPv4 version 19:27:33.437751 Listening on port 45869 19:27:33.437802 Wrote pid 122861 to log/16/server/imap_sockfilt.pid 19:27:33.437839 Wrote port 45869 to log/16/server/imap_server.port 19:27:33.437988 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 === End of file server.cmd === Start of file valgrind816 ==123227== ==123227== Process terminating with default action of signal 4 (SIGILL) ==123227== Illegal opcode at address 0x492B75F ==123227== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123227== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123227== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123227== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123227== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123227== by 0x49908EB: curl_version_info (version.c:600) ==123227== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123227== by 0x4003269: main (tool_main.c:195) === End of file valgrind816 test 0820 [IMAP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind820 ../src/curl -q --output log/9/curl820.out --include --trace-ascii log/9/trace820 --trace-time 'imap://127.0.0.1:38847/820/;MAILINDEX=1' -u user:secret > log/9/stdout820 2> log/9/stderr820 820: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 820 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind820 ../src/curl -q --output log/9/curl820.out --include --trace-ascii log/9/trace820 --trace-time 'imap://127.0.0.1:38847/820/;MAILINDEX=1' -u user:secret > log/9/stdout820 2> log/9/stderr820 === End of file commands.log === Start of file imap_server.log 19:27:34.844662 ====> Client connect 19:27:34.844860 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR]CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind817 ../src/curl -q --output log/1/curl817.out --include --trace-ascii log/1/trace817 --trace-time imap://127.0.0.1:35739 -u user:secret -X 'COPY 123 817' > log/1/stdout817 2> log/1/stderr817 [LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:34.845180 < "A001 CAPABILITY" 19:27:34.845219 > "A001 BAD Command[CR][LF]" 19:27:34.845450 < "A002 LIST "verifiedserver" *" 19:27:34.845482 LIST_imap got "verifiedserver" * 19:27:34.845513 > "* LIST () "/" "WE ROOLZ: 113573"[CR][LF]" 19:27:34.845535 > "A002 OK LIST Completed[CR][LF]" 19:27:34.845550 return proof we are we 19:27:34.892288 < "A003 LOGOUT" 19:27:34.892343 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:34.892364 > "A003 OK LOGOUT completed[CR][LF]" 19:27:34.893551 MAIN sockfilt said DISC 19:27:34.893586 ====> Client disconnected 19:27:34.893668 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:34.451599 ====> Client connect 19:27:34.451945 Received DATA (on stdin) 19:27:34.451961 > 164 bytes data, server => client 19:27:34.451973 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:34.451983 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:34.451993 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:34.452075 < 17 bytes data, client => server 19:27:34.452090 'A001 CAPABILITY\r\n' 19:27:34.452289 Received DATA (on stdin) 19:27:34.452300 > 18 bytes data, server => client 19:27:34.452310 'A001 BAD Command\r\n' 19:27:34.452410 < 30 bytes data, client => server 19:27:34.452426 'A002 LIST "verifiedserver" *\r\n' 19:27:34.452618 Received DATA (on stdin) 19:27:34.452630 > 34 bytes data, server => client 19:27:34.452641 '* LIST () "/" "WE ROOLZ: 113573"\r\n' 19:27:34.452665 Received DATA (on stdin) 19:27:34.452676 > 24 bytes data, server => client 19:27:34.452686 'A002 OK LIST Completed\r\n' 19:27:34.499164 < 13 bytes data, client => server 19:27:34.499205 'A003 LOGOUT\r\n' 19:27:34.499426 Received DATA (on stdin) 19:27:34.499438 > 36 bytes data, server => client 19:27:34.499448 '* BYE curl IMAP server signing off\r\n' 19:27:34.499472 Received DATA (on stdin) 19:27:34.499481 > 26 bytes data, server => client 19:27:34.499491 'A003 OK LOGOUT completed\r\n' 19:27:34.500559 ====> Client disconnect 19:27:34.500731 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTHENTICATE + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 820 === End of file server.cmd === Start of file valgrind820 ==123354== ==123354== Process terminating with default action of signal 4 (SIGILL) ==123354== Illegal opcode at address 0x492B75F ==123354== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123354== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123354== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123354== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123354== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123354== by 0x49908EB: curl_version_info (version.c:600) ==123354== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123354== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123354== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123354== by 0x4003269: main (tool_main.c:195) === End of file valgrind820 test 0819 [IMAP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind819 ../src/curl -q --output log/7/curl819.out --include --trace-ascii log/7/trace819 --trace-time 'imap://127.0.0.1:42601/819/;MAILINDEX=1' -u user:secret > log/7/stdout819 2> log/7/stderr819 819: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 819 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind819 ../src/curl -q --output log/7/curl819.out --include --trace-ascii log/7/trace819 --trace-time 'imap://127.0.0.1:42601/819/;MAILINDEX=1' -u user:secret > log/7/stdout819 2> log/7/stderr819 === End of file commands.log === Start of file imap_server.log 19:27:34.808813 ====> Client connect 19:27:34.809065 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:34.812464 < "A001 CAPABILITY" 19:27:34.812530 > "A001 BAD Command[CR][LF]" 19:27:34.812729 < "A002 LIST "verifiedserver" *" 19:27:34.812764 LIST_imap got "verifiedserver" * 19:27:34.812793 > "* LIST () "/" "WE ROOLZ: 122008"[CR][LF]" 19:27:34.812814 > "A002 OK LIST Completed[CR][LF]" 19:27:34.812828 return proof we are we 19:27:34.855983 < "A003 LOGOUT" 19:27:34.856432 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:34.856480 > "A003 OK LOGOUT completed[CR][LF]" 19:27:34.857796 MAIN sockfilt said DISC 19:27:34.857838 ====> Client disconnected 19:27:34.857928 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.415745 ====> Client connect 19:27:35.416165 Received DATA (on stdin) 19:27:35.416183 > 164 bytes data, server => client 19:27:35.416195 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.416205 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.416214 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.419253 < 17 bytes data, client => server 19:27:35.419287 'A001 CAPABILITY\r\n' 19:27:35.419607 Received DATA (on stdin) 19:27:35.419620 > 18 bytes data, server => client 19:27:35.419630 'A001 BAD Command\r\n' 19:27:35.419698 < 30 bytes data, client => server 19:27:35.419713 'A002 LIST "verifiedserver" *\r\n' 19:27:35.419898 Received DATA (on stdin) 19:27:35.419909 > 34 bytes data, server => client 19:27:35.419919 '* LIST () "/" "WE ROOLZ: 122008"\r\n' 19:27:35.419941 Received DATA (on stdin) 19:27:35.419951 > 24 bytes data, server => client 19:27:35.419960 'A002 OK LIST Completed\r\n' 19:27:35.462859 < 13 bytes data, client => server 19:27:35.462886 'A003 LOGOUT\r\n' 19:27:35.463085 Received DATA (on stdin) 19:27:35.463101 > 36 bytes data, server => client 19:27:35.463552 '* BYE curl IMAP server signing off\r\n' 19:27:35.463585 Received DATA (on stdin) 19:27:35.463595 > 26 bytes data, server => client 19:27:35.463605 'A003 OK LOGOUT completed\r\n' 19:27:35.464792 ====> Client disconnect 19:27:35.465011 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY AHVzZXIAc2VjcmV0 A002 OK AUTHENTICATE completed Testnum 819 === End of file server.cmd === Start of file valgrind819 ==123353== ==123353== Process terminating with default action of signal 4 (SIGILL) ==123353== Illegal opcode at address 0x492B75F ==123353== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123353== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123353== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123353== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123353== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123353== by 0x49908EB: curl_version_info (version.c:600) ==123353== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123353== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123353== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123353== by 0x4003269: main (tool_main.c:195) === End of file valgrind819 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/imap_server.pid" --logfile "log/1/imap_server.log" --logdir "log/1" --portfile "log/1/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35739 (log/1/server/imap_server.port) RUN: IMAP server is PID 122891 port 3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind814 ../src/curl -q --output log/18/curl814.out --include --trace-ascii log/18/trace814 --trace-time imap://127.0.0.1:32857/814 -u user:secret -X 'CHECK' > log/18/stdout814 2> log/18/stderr814 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind821 ../src/curl -q --output log/14/curl821.out --include --trace-ascii log/14/trace821 --trace-time 'imap://127.0.0.1:40245/821/;MAILINDEX=1' -u user:secret > log/14/stdout821 2> log/14/stderr821 5739 * pid imap => 122891 122891 test 0817 [IMAP COPY message to mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind817 ../src/curl -q --output log/1/curl817.out --include --trace-ascii log/1/trace817 --trace-time imap://127.0.0.1:35739 -u user:secret -X 'COPY 123 817' > log/1/stdout817 2> log/1/stderr817 817: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 817 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind817 ../src/curl -q --output log/1/curl817.out --include --trace-ascii log/1/trace817 --trace-time imap://127.0.0.1:35739 -u user:secret -X 'COPY 123 817' > log/1/stdout817 2> log/1/stderr817 === End of file commands.log === Start of file imap_server.log 19:27:33.996400 IMAP server listens on port IPv4/35739 19:27:33.996501 logged pid 122891 in log/1/server/imap_server.pid 19:27:33.996540 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.603130 Running IPv4 version 19:27:33.603242 Listening on port 35739 19:27:33.603285 Wrote pid 122900 to log/1/server/imap_sockfilt.pid 19:27:33.603316 Wrote port 35739 to log/1/server/imap_server.port 19:27:33.603469 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 817 === End of file server.cmd === Start of file valgrind817 ==123431== ==123431== Process terminating with default action of signal 4 (SIGILL) ==123431== Illegal opcode at address 0x492B75F ==123431== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123431== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123431== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123431== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123431== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123431== by 0x49908EB: curl_version_info (version.c:600) ==123431== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123431== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123431== by 0x4003269: main (tool_main.c:195) === End of file valgrind817 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/imap_server.pid" --logfile "log/18/imap_server.log" --logdir "log/18" --portfile "log/18/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32857 (log/18/server/imap_server.port) RUN: IMAP server is PID 122785 port 32857 * pid imap => 122785 122785 test 0814 [IMAP CHECK mailbox (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind814 ../src/curl -q --output log/18/curl814.out --include --trace-ascii log/18/trace814 --trace-time imap://127.0.0.1:32857/814 -u user:secret -X 'CHECK' > log/18/stdout814 2> log/18/stderr814 814: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 814 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind814 ../src/curl -q --output log/18/curl814.out --include --trace-ascii log/18/trace814 --trace-time imap://127.0.0.1:32857/814 -u user:secret -X 'CHECK' > log/18/stdout814 2> log/18/stderr814 === End of file commands.log === Start of file imap_server.log 19:27:33.733777 IMAP server listens on port IPv4/32857 19:27:33.733876 logged pid 122785 in log/18/server/imap_server.pid 19:27:33.733929 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:33.340556 Running IPv4 version 19:27:33.340650 Listening on port 32857 19:27:33.340696 Wrote pid 122799 to log/18/server/imap_sockfilt.pid 19:27:33.340729 Wrote port 32857 to log/18/server/imap_server.port 19:27:33.340884 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 814 === End of file server.cmd === Start of file valgrind814 ==123131== ==123131== Process terminating with default action of signal 4 (SIGILL) ==123131== Illegal opcode at address 0x492B75F ==123131== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123131== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123131== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123131== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123131== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123131== by 0x49908EB: curl_version_info (version.c:600) ==123131== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123131== by 0x4003269: main (tool_main.c:195) === End of file valgrind814 test 0821 [IMAP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind821 ../src/curl -q --output log/14/curl821.out --include --trace-ascii log/14/trace821 --trace-time 'imap://127.0.0.1:40245/821/;MAILINDEX=1' -u user:secret > log/14/stdout821 2> log/14/stderr821 821: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 821 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind821 ../src/curl -q --output log/14/curl821.out --include --trace-ascii log/14/trace821 --trace-time 'imap://127.0.0.1:40245/821/;MAILINDEX=1' -u user:secret > log/14/stdout821 2> log/14/stderr821 === End of file commands.log === Start of file imap_server.log 19:27:34.849197 ====> Client connect 19:27:34.849424 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:34.849793 < "A001 CAPABILITY" 19:27:34.849843 > "A001 BAD Command[CR][LF]" 19:27:34.850027 < "A002 LIST "verifiedserver" *" 19:27:34.850059 LIST_imap got "verifiedserver" * 19:27:34.850086 > "* LIST () "/" "WE ROOLZ: 121906"[CR][LF]" 19:27:34.850104 > "A002 OK LIST Completed[CR][LF]" 19:27:34.850118 return proof we are we 19:27:34.898791 < "A003 LOGOUT" 19:27:34.898853 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:34.898875 > "A003 OK LOGOUT completed[CR][LF]" 19:27:34.900183 MAIN sockfilt said DISC 19:27:34.900222 ====> Client disconnected 19:27:34.900304 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:34.456140 ====> Client connect 19:27:34.456505 Received DATA (on stdin) 19:27:34.456520 > 164 bytes data, server => client 19:27:34.456532 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:34.456542 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:34.456551 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:34.456667 < 17 bytes data, client => server 19:27:34.456683 'A001 CAPABILITY\r\n' 19:27:34.456917 Received DATA (on stdin) 19:27:34.456929 > 18 bytes data, server => client 19:27:34.456939 'A001 BAD Command\r\n' 19:27:34.457001 < 30 bytes data, client => server 19:27:34.457012 'A002 LIST "verifiedserver" *\rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind825 ../src/curl -q --output log/10/curl825.out --include --trace-ascii log/10/trace825 --trace-time 'imap://127.0.0.1:43825/825/;MAILINDEX=1' -u user:secret > log/10/stdout825 2> log/10/stderr825 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind830 ../src/curl -q --output log/13/curl830.out --include --trace-ascii log/13/trace830 --trace-time 'imap://127.0.0.1:42773/830/;MAILINDEX=1' -u user:secret > log/13/stdout830 2> log/13/stderr830 \n' 19:27:34.457182 Received DATA (on stdin) 19:27:34.457193 > 34 bytes data, server => client 19:27:34.457202 '* LIST () "/" "WE ROOLZ: 121906"\r\n' 19:27:34.457224 Received DATA (on stdin) 19:27:34.457233 > 24 bytes data, server => client 19:27:34.457242 'A002 OK LIST Completed\r\n' 19:27:34.500690 < 13 bytes data, client => server 19:27:34.500721 'A003 LOGOUT\r\n' 19:27:34.505942 Received DATA (on stdin) 19:27:34.505960 > 36 bytes data, server => client 19:27:34.505971 '* BYE curl IMAP server signing off\r\n' 19:27:34.506005 Received DATA (on stdin) 19:27:34.506016 > 26 bytes data, server => client 19:27:34.506026 'A003 OK LOGOUT completed\r\n' 19:27:34.507180 ====> Client disconnect 19:27:34.507381 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTHENTICATE + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== A002 OK AUTHENTICATE completed Testnum 821 === End of file server.cmd === Start of file valgrind821 ==123379== ==123379== Process terminating with default action of signal 4 (SIGILL) ==123379== Illegal opcode at address 0x492B75F ==123379== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123379== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123379== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123379== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123379== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123379== by 0x49908EB: curl_version_info (version.c:600) ==123379== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123379== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123379== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123379== by 0x4003269: main (tool_main.c:195) === End of file valgrind821 test 0825 [IMAP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind825 ../src/curl -q --output log/10/curl825.out --include --trace-ascii log/10/trace825 --trace-time 'imap://127.0.0.1:43825/825/;MAILINDEX=1' -u user:secret > log/10/stdout825 2> log/10/stderr825 825: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 825 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind825 ../src/curl -q --output log/10/curl825.out --include --trace-ascii log/10/trace825 --trace-time 'imap://127.0.0.1:43825/825/;MAILINDEX=1' -u user:secret > log/10/stdout825 2> log/10/stderr825 === End of file commands.log === Start of file imap_server.log 19:27:35.206847 ====> Client connect 19:27:35.207078 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.207399 < "A001 CAPABILITY" 19:27:35.207444 > "A001 BAD Command[CR][LF]" 19:27:35.207617 < "A002 LIST "verifiedserver" *" 19:27:35.207648 LIST_imap got "verifiedserver" * 19:27:35.207673 > "* LIST () "/" "WE ROOLZ: 121977"[CR][LF]" 19:27:35.207691 > "A002 OK LIST Completed[CR][LF]" 19:27:35.207703 return proof we are we 19:27:35.255554 < "A003 LOGOUT" 19:27:35.255628 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.255651 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.257539 MAIN sockfilt said DISC 19:27:35.257585 ====> Client disconnected 19:27:35.257656 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.813742 ====> Client connect 19:27:35.814118 Received DATA (on stdin) 19:27:35.814134 > 164 bytes data, server => client 19:27:35.814149 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.814158 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.814167 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.814249 < 17 bytes data, client => server 19:27:35.814261 'A001 CAPABILITY\r\n' 19:27:35.814467 Received DATA (on stdin) 19:27:35.814477 > 18 bytes data, server => client 19:27:35.814486 'A001 BAD Command\r\n' 19:27:35.814542 < 30 bytes data, client => server 19:27:35.814552 'A002 LIST "verifiedserver" *\r\n' 19:27:35.814723 Received DATA (on stdin) 19:27:35.814732 > 34 bytes data, server => client 19:27:35.814742 '* LIST () "/" "WE ROOLZ: 121977"\r\n' 19:27:35.814762 Received DATA (on stdin) 19:27:35.814770 > 24 bytes data, server => client 19:27:35.814779 'A002 OK LIST Completed\r\n' 19:27:35.862387 < 13 bytes data, client => server 19:27:35.862422 'A003 LOGOUT\r\n' 19:27:35.862671 Received DATA (on stdin) 19:27:35.862685 > 36 bytes data, server => client 19:27:35.862695 '* BYE curl IMAP server signing off\r\n' 19:27:35.862732 Received DATA (on stdin) 19:27:35.862742 > 26 bytes data, server => client 19:27:35.862751 'A003 OK LOGOUT completed\r\n' 19:27:35.863983 ====> Client disconnect 19:27:35.864676 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 825 === End of file server.cmd === Start of file valgrind825 ==123699== ==123699== Process terminating with default action of signal 4 (SIGILL) ==123699== Illegal opcode at address 0x492B75F ==123699== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123699== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123699== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123699== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123699== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123699== by 0x49908EB: curl_version_info (version.c:600) ==123699== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123699== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123699== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123699== by 0x4003269: main (tool_main.c:195) === End of file valgrind825 test 0830 [IMAP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind830 ../src/curl -q --output log/13/curl830.out --include --trace-ascii log/13/trace830 --trace-time 'imap://127.0.0.1:42773/830/;MAILINDEX=1' -u user:secret > log/13/stdout830 2> log/13/stderr830 830: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 830 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind830 ../src/curl -q --output log/13/curl830.out --include --trace-ascii log/13/trace830 --trace-time 'imap://127.0.0.1:42773/830/;MAILINDEX=1' -u user:secret > log/13/stdout830 2> log/13/stderr830 === End of file commands.log === Start of file imap_server.log 19:27:35.405479 ====> Client connect 19:27:35.405698 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.406030 < "A001 CAPABILITY" 19:27:35.406074 > "A001 BAD Command[CR][LF]" 19:27:35.406266 < "A002 LIST "verifiedserver" *" 19:27:35.406298 LIST_imap got "verifiedserver" * 19:27:35.406325 > "* LIST () "/" "WE ROOLZ: 122183"[CR][LF]" 19:27:35.406344 > "A002 OK LIST Completed[CR][LF]" 19:27:35.406357 return proof we are we 19:27:35.455667 < "A003 LOGOUT" 19:27:35.455727 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.455748 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.457274 MCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind829 ../src/curl -q --output log/23/curl829.out --include --trace-ascii log/23/trace829 --trace-time imap://127.0.0.1:42569/%0d%0a/829 > log/23/stdout829 2> log/23/stderr829 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:39665/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/stderr826 AIN sockfilt said DISC 19:27:35.457307 ====> Client disconnected 19:27:35.457392 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.012342 ====> Client connect 19:27:36.012714 Received DATA (on stdin) 19:27:36.012730 > 164 bytes data, server => client 19:27:36.012741 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.012751 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.012760 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.012863 < 17 bytes data, client => server 19:27:36.012874 'A001 CAPABILITY\r\n' 19:27:36.013075 Received DATA (on stdin) 19:27:36.013087 > 18 bytes data, server => client 19:27:36.013096 'A001 BAD Command\r\n' 19:27:36.013162 < 30 bytes data, client => server 19:27:36.013174 'A002 LIST "verifiedserver" *\r\n' 19:27:36.013354 Received DATA (on stdin) 19:27:36.013365 > 34 bytes data, server => client 19:27:36.013376 '* LIST () "/" "WE ROOLZ: 122183"\r\n' 19:27:36.013397 Received DATA (on stdin) 19:27:36.013407 > 24 bytes data, server => client 19:27:36.013416 'A002 OK LIST Completed\r\n' 19:27:36.062467 < 13 bytes data, client => server 19:27:36.062502 'A003 LOGOUT\r\n' 19:27:36.062740 Received DATA (on stdin) 19:27:36.062751 > 36 bytes data, server => client 19:27:36.062762 '* BYE curl IMAP server signing off\r\n' 19:27:36.062784 Received DATA (on stdin) 19:27:36.062793 > 26 bytes data, server => client 19:27:36.062803 'A003 OK LOGOUT completed\r\n' 19:27:36.064203 ====> Client disconnect 19:27:36.064382 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 CAPA LOGINDISABLED REPLY AUTHENTICATE + Rubbish REPLY * A002 NO AUTH exchange cancelled by client Testnum 830 === End of file server.cmd === Start of file valgrind830 ==123820== ==123820== Process terminating with default action of signal 4 (SIGILL) ==123820== Illegal opcode at address 0x492B75F ==123820== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123820== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123820== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123820== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123820== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123820== by 0x49908EB: curl_version_info (version.c:600) ==123820== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123820== by 0x4003269: main (tool_main.c:195) === End of file valgrind830 test 0829 [IMAP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind829 ../src/curl -q --output log/23/curl829.out --include --trace-ascii log/23/trace829 --trace-time imap://127.0.0.1:42569/%0d%0a/829 > log/23/stdout829 2> log/23/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/23/ directory after test 829 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind829 ../src/curl -q --output log/23/curl829.out --include --trace-ascii log/23/trace829 --trace-time imap://127.0.0.1:42569/%0d%0a/829 > log/23/stdout829 2> log/23/stderr829 === End of file commands.log === Start of file imap_server.log 19:27:35.388708 ====> Client connect 19:27:35.389084 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.389620 < "A001 CAPABILITY" 19:27:35.389681 > "A001 BAD Command[CR][LF]" 19:27:35.389923 < "A002 LIST "verifiedserver" *" 19:27:35.389965 LIST_imap got "verifiedserver" * 19:27:35.390003 > "* LIST () "/" "WE ROOLZ: 122113"[CR][LF]" 19:27:35.390023 > "A002 OK LIST Completed[CR][LF]" 19:27:35.390038 return proof we are we 19:27:35.436915 < "A003 LOGOUT" 19:27:35.436980 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.437009 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.438357 MAIN sockfilt said DISC 19:27:35.438393 ====> Client disconnected 19:27:35.438485 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.992372 ====> Client connect 19:27:35.996138 Received DATA (on stdin) 19:27:35.996162 > 164 bytes data, server => client 19:27:35.996174 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.996185 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.996196 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.996357 < 17 bytes data, client => server 19:27:35.996376 'A001 CAPABILITY\r\n' 19:27:35.996692 Received DATA (on stdin) 19:27:35.996706 > 18 bytes data, server => client 19:27:35.996716 'A001 BAD Command\r\n' 19:27:35.996798 < 30 bytes data, client => server 19:27:35.996814 'A002 LIST "verifiedserver" *\r\n' 19:27:35.997041 Received DATA (on stdin) 19:27:35.997053 > 34 bytes data, server => client 19:27:35.997064 '* LIST () "/" "WE ROOLZ: 122113"\r\n' 19:27:35.997091 Received DATA (on stdin) 19:27:35.997101 > 24 bytes data, server => client 19:27:35.997111 'A002 OK LIST Completed\r\n' 19:27:36.043709 < 13 bytes data, client => server 19:27:36.043744 'A003 LOGOUT\r\n' 19:27:36.044008 Received DATA (on stdin) 19:27:36.044021 > 36 bytes data, server => client 19:27:36.044032 '* BYE curl IMAP server signing off\r\n' 19:27:36.044059 Received DATA (on stdin) 19:27:36.044070 > 26 bytes data, server => client 19:27:36.044080 'A003 OK LOGOUT completed\r\n' 19:27:36.045289 ====> Client disconnect 19:27:36.045491 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 829 === End of file server.cmd === Start of file valgrind829 ==123772== ==123772== Process terminating with default action of signal 4 (SIGILL) ==123772== Illegal opcode at address 0x492B75F ==123772== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123772== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123772== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123772== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123772== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123772== by 0x49908EB: curl_version_info (version.c:600) ==123772== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123772== by 0x4003269: main (tool_main.c:195) === End of file valgrind829 test 0826 [IMAP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:39665/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/stderr826 826: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 826 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind826 ../src/curl -q --output log/21/curl826.out --include --trace-ascii log/21/trace826 --trace-time 'imap://127.0.0.1:39665/826/;MAILINDEX=1' -u user:secret > log/21/stdout826 2> log/21/stderr826 === End of file commands.log === Start of file imap_server.log 19:27:35.358541 ====> Client connect 19:27:35.358763 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind828 ../src/curl -q --output log/4/curl828.out --include --trace-ascii log/4/trace828 --trace-time 'imap://127.0.0.1:34045/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout828 2> log/4/stderr828 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind833 ../src/curl -q --output log/20/curl833.out --include --trace-ascii log/20/trace833 --trace-time 'imap://127.0.0.1:46793/833/;MAILINDEX=1' -u user:secret > log/20/stdout833 2> log/20/stderr833 __| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.365663 < "A001 CAPABILITY" 19:27:35.365721 > "A001 BAD Command[CR][LF]" 19:27:35.365928 < "A002 LIST "verifiedserver" *" 19:27:35.365962 LIST_imap got "verifiedserver" * 19:27:35.365991 > "* LIST () "/" "WE ROOLZ: 122217"[CR][LF]" 19:27:35.366009 > "A002 OK LIST Completed[CR][LF]" 19:27:35.366023 return proof we are we 19:27:35.415542 < "A003 LOGOUT" 19:27:35.415599 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.415619 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.422100 MAIN sockfilt said DISC 19:27:35.422157 ====> Client disconnected 19:27:35.422250 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:34.965433 ====> Client connect 19:27:34.965800 Received DATA (on stdin) 19:27:34.965817 > 164 bytes data, server => client 19:27:34.965828 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:34.965838 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:34.965847 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:34.972426 < 17 bytes data, client => server 19:27:34.972456 'A001 CAPABILITY\r\n' 19:27:34.972729 Received DATA (on stdin) 19:27:34.972742 > 18 bytes data, server => client 19:27:34.972751 'A001 BAD Command\r\n' 19:27:34.972821 < 30 bytes data, client => server 19:27:34.972832 'A002 LIST "verifiedserver" *\r\n' 19:27:34.973024 Received DATA (on stdin) 19:27:34.973034 > 34 bytes data, server => client 19:27:34.973044 '* LIST () "/" "WE ROOLZ: 122217"\r\n' 19:27:34.973063 Received DATA (on stdin) 19:27:34.973071 > 24 bytes data, server => client 19:27:34.973080 'A002 OK LIST Completed\r\n' 19:27:35.022337 < 13 bytes data, client => server 19:27:35.022374 'A003 LOGOUT\r\n' 19:27:35.022615 Received DATA (on stdin) 19:27:35.022627 > 36 bytes data, server => client 19:27:35.022637 '* BYE curl IMAP server signing off\r\n' 19:27:35.022669 Received DATA (on stdin) 19:27:35.022678 > 26 bytes data, server => client 19:27:35.022687 'A003 OK LOGOUT completed\r\n' 19:27:35.028988 ====> Client disconnect 19:27:35.029247 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH LOGIN CAPA SASL-IR REPLY AUTHENTICATE + UGFzc3dvcmQ6 REPLY c2VjcmV0 A002 OK AUTHENTICATE completed Testnum 826 === End of file server.cmd === Start of file valgrind826 ==123764== ==123764== Process terminating with default action of signal 4 (SIGILL) ==123764== Illegal opcode at address 0x492B75F ==123764== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123764== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123764== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123764== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123764== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123764== by 0x49908EB: curl_version_info (version.c:600) ==123764== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123764== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123764== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123764== by 0x4003269: main (tool_main.c:195) === End of file valgrind826 test 0828 [IMAP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind828 ../src/curl -q --output log/4/curl828.out --include --trace-ascii log/4/trace828 --trace-time 'imap://127.0.0.1:34045/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout828 2> log/4/stderr828 828: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 828 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind828 ../src/curl -q --output log/4/curl828.out --include --trace-ascii log/4/trace828 --trace-time 'imap://127.0.0.1:34045/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout828 2> log/4/stderr828 === End of file commands.log === Start of file imap_server.log 19:27:35.352116 ====> Client connect 19:27:35.352531 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.358831 < "A001 CAPABILITY" 19:27:35.358893 > "A001 BAD Command[CR][LF]" 19:27:35.359387 < "A002 LIST "verifiedserver" *" 19:27:35.359428 LIST_imap got "verifiedserver" * 19:27:35.359459 > "* LIST () "/" "WE ROOLZ: 122222"[CR][LF]" 19:27:35.359476 > "A002 OK LIST Completed[CR][LF]" 19:27:35.359488 return proof we are we 19:27:35.405543 < "A003 LOGOUT" 19:27:35.405598 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.405618 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.406990 MAIN sockfilt said DISC 19:27:35.407036 ====> Client disconnected 19:27:35.407109 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:34.958953 ====> Client connect 19:27:34.959567 Received DATA (on stdin) 19:27:34.959588 > 164 bytes data, server => client 19:27:34.959604 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:34.959615 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:34.959625 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:34.959725 < 17 bytes data, client => server 19:27:34.959742 'A001 CAPABILITY\r\n' 19:27:34.966150 Received DATA (on stdin) 19:27:34.966170 > 18 bytes data, server => client 19:27:34.966181 'A001 BAD Command\r\n' 19:27:34.966265 < 30 bytes data, client => server 19:27:34.966279 'A002 LIST "verifiedserver" *\r\n' 19:27:34.966492 Received DATA (on stdin) 19:27:34.966503 > 34 bytes data, server => client 19:27:34.966511 '* LIST () "/" "WE ROOLZ: 122222"\r\n' 19:27:34.966533 Received DATA (on stdin) 19:27:34.966542 > 24 bytes data, server => client 19:27:34.966550 'A002 OK LIST Completed\r\n' 19:27:35.012350 < 13 bytes data, client => server 19:27:35.012381 'A003 LOGOUT\r\n' 19:27:35.012618 Received DATA (on stdin) 19:27:35.012630 > 36 bytes data, server => client 19:27:35.012640 '* BYE curl IMAP server signing off\r\n' 19:27:35.012672 Received DATA (on stdin) 19:27:35.012681 > 26 bytes data, server => client 19:27:35.012690 'A003 OK LOGOUT completed\r\n' 19:27:35.013904 ====> Client disconnect 19:27:35.014111 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 828 === End of file server.cmd === Start of file valgrind828 ==123761== ==123761== Process terminating with default action of signal 4 (SIGILL) ==123761== Illegal opcode at address 0x492B75F ==123761== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123761== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123761== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123761== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123761== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123761== by 0x49908EB: curl_version_info (version.c:600) ==123761== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123761== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123761== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123761== by 0x4003269: main (tool_main.c:195) === End of file valgrind828 test 0833 [IMAP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind833 ../src/curl -q --output log/20/curl833.out --include --trace-ascii log/20/trace833 --trace-time 'imap://127.0.0.1:46793/833/;MAILINDEX=1' -u CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:46883/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/stderr837 user:secret > log/20/stdout833 2> log/20/stderr833 833: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 833 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind833 ../src/curl -q --output log/20/curl833.out --include --trace-ascii log/20/trace833 --trace-time 'imap://127.0.0.1:46793/833/;MAILINDEX=1' -u user:secret > log/20/stdout833 2> log/20/stderr833 === End of file commands.log === Start of file imap_server.log 19:27:35.615988 ====> Client connect 19:27:35.616248 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:35.616602 < "A001 CAPABILITY" 19:27:35.616803 > "A001 BAD Command[CR][LF]" 19:27:35.616890 < "A002 LIST "verifiedserver" *" 19:27:35.616924 LIST_imap got "verifiedserver" * 19:27:35.616988 > "* LIST () "/" "WE ROOLZ: 122291"[CR][LF]" 19:27:35.617012 > "A002 OK LIST Completed[CR][LF]" 19:27:35.617028 return proof we are we 19:27:35.665695 < "A003 LOGOUT" 19:27:35.665769 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:35.665799 > "A003 OK LOGOUT completed[CR][LF]" 19:27:35.667162 MAIN sockfilt said DISC 19:27:35.667205 ====> Client disconnected 19:27:35.667296 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.222827 ====> Client connect 19:27:35.223254 Received DATA (on stdin) 19:27:35.223269 > 164 bytes data, server => client 19:27:35.223279 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.223288 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.223296 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.223384 < 17 bytes data, client => server 19:27:35.223400 'A001 CAPABILITY\r\n' 19:27:35.223613 Received DATA (on stdin) 19:27:35.223629 > 18 bytes data, server => client 19:27:35.223649 'A001 BAD Command\r\n' 19:27:35.223712 < 30 bytes data, client => server 19:27:35.223727 'A002 LIST "verifiedserver" *\r\n' 19:27:35.223905 Received DATA (on stdin) 19:27:35.223919 > 34 bytes data, server => client 19:27:35.223998 '* LIST () "/" "WE ROOLZ: 122291"\r\n' 19:27:35.224053 Received DATA (on stdin) 19:27:35.224064 > 24 bytes data, server => client 19:27:35.224074 'A002 OK LIST Completed\r\n' 19:27:35.272451 < 13 bytes data, client => server 19:27:35.272480 'A003 LOGOUT\r\n' 19:27:35.272777 Received DATA (on stdin) 19:27:35.272793 > 36 bytes data, server => client 19:27:35.272803 '* BYE curl IMAP server signing off\r\n' 19:27:35.272831 Received DATA (on stdin) 19:27:35.272842 > 26 bytes data, server => client 19:27:35.272852 'A003 OK LOGOUT completed\r\n' 19:27:35.274059 ====> Client disconnect 19:27:35.274276 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTHENTICATE CRAM-MD5" + Rubbish REPLY * A002 NO AUTH exchange cancelled by client REPLY "AUTHENTICATE PLAIN" + REPLY AHVzZXIAc2VjcmV0 A003 OK AUTHENTICATE completed Testnum 833 === End of file server.cmd === Start of file valgrind833 ==123975== ==123975== Process terminating with default action of signal 4 (SIGILL) ==123975== Illegal opcode at address 0x492B75F ==123975== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==123975== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==123975== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==123975== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==123975== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==123975== by 0x49908EB: curl_version_info (version.c:600) ==123975== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==123975== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==123975== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==123975== by 0x4003269: main (tool_main.c:195) === End of file valgrind833 test 0837 [IMAP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:46883/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/stderr837 837: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 837 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind837 ../src/curl -q --output log/3/curl837.out --include --trace-ascii log/3/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:46883/837/;MAILINDEX=1' > log/3/stdout837 2> log/3/stderr837 === End of file commands.log === Start of file imap_server.log 19:27:36.307691 ====> Client connect 19:27:36.307907 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.308198 < "A001 CAPABILITY" 19:27:36.308235 > "A001 BAD Command[CR][LF]" 19:27:36.308393 < "A002 LIST "verifiedserver" *" 19:27:36.308422 LIST_imap got "verifiedserver" * 19:27:36.308445 > "* LIST () "/" "WE ROOLZ: 122611"[CR][LF]" 19:27:36.308462 > "A002 OK LIST Completed[CR][LF]" 19:27:36.308474 return proof we are we 19:27:36.352889 < "A003 LOGOUT" 19:27:36.352941 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.352959 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.354138 MAIN sockfilt said DISC 19:27:36.354174 ====> Client disconnected 19:27:36.354249 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.914442 ====> Client connect 19:27:36.914807 Received DATA (on stdin) 19:27:36.914819 > 164 bytes data, server => client 19:27:36.914833 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.914843 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.914851 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.914928 < 17 bytes data, client => server 19:27:36.914939 'A001 CAPABILITY\r\n' 19:27:36.915122 Received DATA (on stdin) 19:27:36.915133 > 18 bytes data, server => client 19:27:36.915142 'A001 BAD Command\r\n' 19:27:36.915194 < 30 bytes data, client => server 19:27:36.915205 'A002 LIST "verifiedserver" *\r\n' 19:27:36.915359 Received DATA (on stdin) 19:27:36.915369 > 34 bytes data, server => client 19:27:36.915377 '* LIST () "/" "WE ROOLZ: 122611"\r\n' 19:27:36.915397 Received DATA (on stdin) 19:27:36.915405 > 24 bytes data, server => client 19:27:36.915414 'A002 OK LIST Completed\r\n' 19:27:36.959608 < 13 bytes data, client => server 19:27:36.959633 'A003 LOGOUT\r\n' 19:27:36.959841 Received DATA (on stdin) 19:27:36.959851 > 36 bytes data, server => client 19:27:36.959860 '* BYE curl IMAP server signing off\r\n' 19:27:36.959880 Received DATA (on stdin) 19:27:36.959889 > 26 bytes data, server => client 19:27:36.959897 'A003 OK LOGOUT completed\r\n' 19:27:36.960960 ====> Client disconnect 19:27:36.961134 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY dXNlcg== A002 OK AUTHENTICATE completed Testnum 837 === End of file server.cmd === Start of file valgrind837 ==124123== ==124123== Process terminating with default action of signal 4 (SIGILL) ==124123== Illegal opcode at address 0x492B75F ==124123== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124123== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124123== by 0x492B67BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34999/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind839 ../src/curl -q --output log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:33501/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 : curl_msnprintf (mprintf.c:1277) ==124123== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124123== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124123== by 0x49908EB: curl_version_info (version.c:600) ==124123== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124123== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124123== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124123== by 0x4003269: main (tool_main.c:195) === End of file valgrind837 test 0838 [IMAP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34999/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 838: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 838 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind838 ../src/curl -q --output log/24/curl838.out --include --trace-ascii log/24/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34999/838/;MAILINDEX=1' > log/24/stdout838 2> log/24/stderr838 === End of file commands.log === Start of file imap_server.log 19:27:36.277983 ====> Client connect 19:27:36.278178 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.278717 < "A001 CAPABILITY" 19:27:36.278768 > "A001 BAD Command[CR][LF]" 19:27:36.278967 < "A002 LIST "verifiedserver" *" 19:27:36.278997 LIST_imap got "verifiedserver" * 19:27:36.279027 > "* LIST () "/" "WE ROOLZ: 113205"[CR][LF]" 19:27:36.279047 > "A002 OK LIST Completed[CR][LF]" 19:27:36.279063 return proof we are we 19:27:36.325698 < "A003 LOGOUT" 19:27:36.325764 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.325795 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.332083 MAIN sockfilt said DISC 19:27:36.332143 ====> Client disconnected 19:27:36.332239 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:35.884728 ====> Client connect 19:27:35.885085 Received DATA (on stdin) 19:27:35.885100 > 164 bytes data, server => client 19:27:35.885111 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:35.885121 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:35.885131 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:35.885243 < 17 bytes data, client => server 19:27:35.885257 'A001 CAPABILITY\r\n' 19:27:35.885665 Received DATA (on stdin) 19:27:35.885677 > 18 bytes data, server => client 19:27:35.885687 'A001 BAD Command\r\n' 19:27:35.885750 < 30 bytes data, client => server 19:27:35.885765 'A002 LIST "verifiedserver" *\r\n' 19:27:35.885953 Received DATA (on stdin) 19:27:35.885965 > 34 bytes data, server => client 19:27:35.885976 '* LIST () "/" "WE ROOLZ: 113205"\r\n' 19:27:35.885998 Received DATA (on stdin) 19:27:35.886008 > 24 bytes data, server => client 19:27:35.886018 'A002 OK LIST Completed\r\n' 19:27:35.932358 < 13 bytes data, client => server 19:27:35.932403 'A003 LOGOUT\r\n' 19:27:35.932687 Received DATA (on stdin) 19:27:35.932701 > 36 bytes data, server => client 19:27:35.932713 '* BYE curl IMAP server signing off\r\n' 19:27:35.932744 Received DATA (on stdin) 19:27:35.932755 > 26 bytes data, server => client 19:27:35.932765 'A003 OK LOGOUT completed\r\n' 19:27:35.938874 ====> Client disconnect 19:27:35.939141 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTHENTICATE + REPLY A002 OK AUTHENTICATE completed Testnum 838 === End of file server.cmd === Start of file valgrind838 ==124116== ==124116== Process terminating with default action of signal 4 (SIGILL) ==124116== Illegal opcode at address 0x492B75F ==124116== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124116== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124116== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124116== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124116== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124116== by 0x49908EB: curl_version_info (version.c:600) ==124116== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124116== by 0x4003269: main (tool_main.c:195) === End of file valgrind838 test 0839 [IMAP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind839 ../src/curl -q --output log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:33501/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 839: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 839 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind839 ../src/curl -q --output log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:33501/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 === End of file commands.log === Start of file imap_server.log 19:27:36.348688 ====> Client connect 19:27:36.348943 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.349332 < "A001 CAPABILITY" 19:27:36.349374 > "A001 BAD Command[CR][LF]" 19:27:36.349558 < "A002 LIST "verifiedserver" *" 19:27:36.349589 LIST_imap got "verifiedserver" * 19:27:36.349615 > "* LIST () "/" "WE ROOLZ: 122502"[CR][LF]" 19:27:36.349634 > "A002 OK LIST Completed[CR][LF]" 19:27:36.349648 return proof we are we 19:27:36.399267 < "A003 LOGOUT" 19:27:36.399327 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.399350 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.400568 MAIN sockfilt said DISC 19:27:36.400602 ====> Client disconnected 19:27:36.400684 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.952220 ====> Client connect 19:27:36.955851 Received DATA (on stdin) 19:27:36.955876 > 164 bytes data, server => client 19:27:36.955888 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.955898 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.955908 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.956036 < 17 bytes data, client => server 19:27:36.956051 'A001 CAPABILITY\r\n' 19:27:36.956260 Received DATA (on stdin) 19:27:36.956271 > 18 bytes data, server => client 19:27:36.956280 'A001 BAD Command\r\n' 19:27:36.956345 < 30 bytes data, client => server 19:27:36.956358 'A002 LIST "verifiedserver" *\r\n' 19:27:36.956530 Received DATA (on stdin) 19:27:36.956541 > 34 bytes data, server => client 19:27:36.956551 '* LIST () "/" "WE ROOLZ: 122502"\r\n' 19:27:36.956574 Received DATA (on stdin) 19:27:36.956583 > 24 bytes data, server => client 19:27:36.956592 'A002 OK LIST Completed\r\n' 19:27:37.005928 < 13 bytes data, client => server 19:27:37.005957 'A003 LOGOUT\r\n' 19:27:37.006228 Received DATA (on stdin) 19:27:37.006240 > 36 bytes data, CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind840 ../src/curl -q --output log/5/curl840.out --include --trace-ascii log/5/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:37639/840/;MAILINDEX=1' > log/5/stdout840 2> log/5/stderr840 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind842 ../src/curl -q --output log/22/curl842.out --include --trace-ascii log/22/trace842 --trace-time 'imap://127.0.0.1:37605/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout842 2> log/22/stderr842 server => client 19:27:37.006250 '* BYE curl IMAP server signing off\r\n' 19:27:37.006274 Received DATA (on stdin) 19:27:37.006283 > 26 bytes data, server => client 19:27:37.006293 'A003 OK LOGOUT completed\r\n' 19:27:37.007387 ====> Client disconnect 19:27:37.007563 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 839 === End of file server.cmd === Start of file valgrind839 ==124171== ==124171== Process terminating with default action of signal 4 (SIGILL) ==124171== Illegal opcode at address 0x492B75F ==124171== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124171== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124171== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124171== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124171== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124171== by 0x49908EB: curl_version_info (version.c:600) ==124171== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124171== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124171== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124171== by 0x4003269: main (tool_main.c:195) === End of file valgrind839 test 0840 [IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind840 ../src/curl -q --output log/5/curl840.out --include --trace-ascii log/5/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:37639/840/;MAILINDEX=1' > log/5/stdout840 2> log/5/stderr840 840: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 840 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind840 ../src/curl -q --output log/5/curl840.out --include --trace-ascii log/5/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:37639/840/;MAILINDEX=1' > log/5/stdout840 2> log/5/stderr840 === End of file commands.log === Start of file imap_server.log 19:27:36.428792 ====> Client connect 19:27:36.429041 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.435544 < "A001 CAPABILITY" 19:27:36.435602 > "A001 BAD Command[CR][LF]" 19:27:36.439101 < "A002 LIST "verifiedserver" *" 19:27:36.439146 LIST_imap got "verifiedserver" * 19:27:36.439180 > "* LIST () "/" "WE ROOLZ: 122670"[CR][LF]" 19:27:36.439197 > "A002 OK LIST Completed[CR][LF]" 19:27:36.439210 return proof we are we 19:27:36.485687 < "A003 LOGOUT" 19:27:36.485760 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.485787 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.487107 MAIN sockfilt said DISC 19:27:36.487145 ====> Client disconnected 19:27:36.487225 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.035539 ====> Client connect 19:27:36.035939 Received DATA (on stdin) 19:27:36.035957 > 164 bytes data, server => client 19:27:36.035969 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.035980 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.035990 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.042201 < 17 bytes data, client => server 19:27:36.042226 'A001 CAPABILITY\r\n' 19:27:36.042479 Received DATA (on stdin) 19:27:36.042493 > 18 bytes data, server => client 19:27:36.042502 'A001 BAD Command\r\n' 19:27:36.045801 < 30 bytes data, client => server 19:27:36.045828 'A002 LIST "verifiedserver" *\r\n' 19:27:36.046084 Received DATA (on stdin) 19:27:36.046095 > 34 bytes data, server => client 19:27:36.046105 '* LIST () "/" "WE ROOLZ: 122670"\r\n' 19:27:36.046128 Received DATA (on stdin) 19:27:36.046137 > 24 bytes data, server => client 19:27:36.046145 'A002 OK LIST Completed\r\n' 19:27:36.092315 < 13 bytes data, client => server 19:27:36.092358 'A003 LOGOUT\r\n' 19:27:36.092663 Received DATA (on stdin) 19:27:36.092679 > 36 bytes data, server => client 19:27:36.092689 '* BYE curl IMAP server signing off\r\n' 19:27:36.092718 Received DATA (on stdin) 19:27:36.092729 > 26 bytes data, server => client 19:27:36.092739 'A003 OK LOGOUT completed\r\n' 19:27:36.093908 ====> Client disconnect 19:27:36.094095 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH EXTERNAL CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 840 === End of file server.cmd === Start of file valgrind840 ==124221== ==124221== Process terminating with default action of signal 4 (SIGILL) ==124221== Illegal opcode at address 0x492B75F ==124221== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124221== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124221== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124221== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124221== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124221== by 0x49908EB: curl_version_info (version.c:600) ==124221== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124221== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124221== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124221== by 0x4003269: main (tool_main.c:195) === End of file valgrind840 test 0842 [IMAP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind842 ../src/curl -q --output log/22/curl842.out --include --trace-ascii log/22/trace842 --trace-time 'imap://127.0.0.1:37605/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout842 2> log/22/stderr842 842: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 842 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind842 ../src/curl -q --output log/22/curl842.out --include --trace-ascii log/22/trace842 --trace-time 'imap://127.0.0.1:37605/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout842 2> log/22/stderr842 === End of file commands.log === Start of file imap_server.log 19:27:36.837260 ====> Client connect 19:27:36.837674 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.837832 < "A001 CAPABILITY" 19:27:36.837952 > "A001 BAD Command[CR][LF]" 19:27:36.838128 < "A002 LIST "verifiedserver" *" 19:27:36.838161 LIST_imap got "verifiedserver" * 19:27:36.838191 > "* LIST () "/" "WE ROOLZ: 121995"[CR][LF]" 19:27:36.838209 > "A002 OK LIST Completed[CR][LF]" 19:27:36.838223 return proof we are we 19:27:36.884282 < "A003 LOGOUT" 19:27:36.884339 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.884359 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.897956 MAIN sockfilt said DISC 19:27:36.898009 ====> Client disconnected 19:27:36.898073 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:37.443909 ====> Client connect 19:27:37.444267 Received DATA (on stdin) 19:27:37.444291 > 164 bytes data, server => client 19:27:37.444314 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:37.444324 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|'CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind841 ../src/curl -q --output log/2/curl841.out --include --trace-ascii log/2/trace841 --trace-time imap://127.0.0.1:46461/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/2/stdout841 2> log/2/stderr841 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:38847/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 19:27:37.444335 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:37.444430 < 17 bytes data, client => server 19:27:37.444446 'A001 CAPABILITY\r\n' 19:27:37.444682 Received DATA (on stdin) 19:27:37.444697 > 18 bytes data, server => client 19:27:37.444717 'A001 BAD Command\r\n' 19:27:37.444832 < 30 bytes data, client => server 19:27:37.444847 'A002 LIST "verifiedserver" *\r\n' 19:27:37.445048 Received DATA (on stdin) 19:27:37.445060 > 34 bytes data, server => client 19:27:37.445069 '* LIST () "/" "WE ROOLZ: 121995"\r\n' 19:27:37.445092 Received DATA (on stdin) 19:27:37.445102 > 24 bytes data, server => client 19:27:37.445111 'A002 OK LIST Completed\r\n' 19:27:37.490905 < 13 bytes data, client => server 19:27:37.490932 'A003 LOGOUT\r\n' 19:27:37.491180 Received DATA (on stdin) 19:27:37.491193 > 36 bytes data, server => client 19:27:37.491203 '* BYE curl IMAP server signing off\r\n' 19:27:37.491230 Received DATA (on stdin) 19:27:37.491245 > 26 bytes data, server => client 19:27:37.491256 'A003 OK LOGOUT completed\r\n' 19:27:37.504691 ====> Client disconnect 19:27:37.504893 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9Mzc2MDUBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==124439== ==124439== Process terminating with default action of signal 4 (SIGILL) ==124439== Illegal opcode at address 0x492B75F ==124439== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124439== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124439== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124439== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124439== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124439== by 0x49908EB: curl_version_info (version.c:600) ==124439== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124439== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124439== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124439== by 0x4003269: main (tool_main.c:195) === End of file valgrind842 test 0841 [IMAP custom request does not check continuation data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind841 ../src/curl -q --output log/2/curl841.out --include --trace-ascii log/2/trace841 --trace-time imap://127.0.0.1:46461/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/2/stdout841 2> log/2/stderr841 841: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 841 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind841 ../src/curl -q --output log/2/curl841.out --include --trace-ascii log/2/trace841 --trace-time imap://127.0.0.1:46461/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/2/stdout841 2> log/2/stderr841 === End of file commands.log === Start of file imap_server.log 19:27:36.714820 ====> Client connect 19:27:36.715117 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.715445 < "A001 CAPABILITY" 19:27:36.715489 > "A001 BAD Command[CR][LF]" 19:27:36.715689 < "A002 LIST "verifiedserver" *" 19:27:36.715721 LIST_imap got "verifiedserver" * 19:27:36.715750 > "* LIST () "/" "WE ROOLZ: 114810"[CR][LF]" 19:27:36.715771 > "A002 OK LIST Completed[CR][LF]" 19:27:36.715786 return proof we are we 19:27:36.765656 < "A003 LOGOUT" 19:27:36.765718 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:36.765742 > "A003 OK LOGOUT completed[CR][LF]" 19:27:36.767108 MAIN sockfilt said DISC 19:27:36.767153 ====> Client disconnected 19:27:36.767238 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.321512 ====> Client connect 19:27:36.321878 Received DATA (on stdin) 19:27:36.321902 > 164 bytes data, server => client 19:27:36.321978 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.321992 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.322002 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.322098 < 17 bytes data, client => server 19:27:36.322114 'A001 CAPABILITY\r\n' 19:27:36.322331 Received DATA (on stdin) 19:27:36.322343 > 18 bytes data, server => client 19:27:36.322353 'A001 BAD Command\r\n' 19:27:36.322417 < 30 bytes data, client => server 19:27:36.322430 'A002 LIST "verifiedserver" *\r\n' 19:27:36.322625 Received DATA (on stdin) 19:27:36.322637 > 34 bytes data, server => client 19:27:36.322647 '* LIST () "/" "WE ROOLZ: 114810"\r\n' 19:27:36.322669 Received DATA (on stdin) 19:27:36.322677 > 24 bytes data, server => client 19:27:36.322686 'A002 OK LIST Completed\r\n' 19:27:36.372296 < 13 bytes data, client => server 19:27:36.372325 'A003 LOGOUT\r\n' 19:27:36.372580 Received DATA (on stdin) 19:27:36.372595 > 36 bytes data, server => client 19:27:36.372605 '* BYE curl IMAP server signing off\r\n' 19:27:36.372634 Received DATA (on stdin) 19:27:36.372643 > 26 bytes data, server => client 19:27:36.372653 'A003 OK LOGOUT completed\r\n' 19:27:36.373878 ====> Client disconnect 19:27:36.374082 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 841 === End of file server.cmd === Start of file valgrind841 ==124367== ==124367== Process terminating with default action of signal 4 (SIGILL) ==124367== Illegal opcode at address 0x492B75F ==124367== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124367== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124367== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124367== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124367== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124367== by 0x49908EB: curl_version_info (version.c:600) ==124367== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124367== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124367== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124367== by 0x4003269: main (tool_main.c:195) === End of file valgrind841 test 0845 [IMAP OAuth failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:38847/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 845: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 845 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind845 ../src/curl -q --output log/9/curl845.out --include --trace-ascii log/9/trace845 --trace-time 'imap://127.0.0.1:38847/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout845 2> log/9/stderr845 === End of file commands.log === Start of file imap_server.log 19:27:36.999636 ====> Client connect 19:27:36.999792 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:37.000297 < "A001 CAPABILITY" 19:27:37.000347 > "A001 BAD Command[CR][LF]" 19:27:37.000566 < "A00CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:45869/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind847 ../src/curl -q --output log/1/curl847.out --include --trace-ascii log/1/trace847 --trace-time 'imap://127.0.0.1:35739/847/;UID=1' -u '"user:sec"ret{' > log/1/stdout847 2> log/1/stderr847 2 LIST "verifiedserver" *" 19:27:37.000601 LIST_imap got "verifiedserver" * 19:27:37.000633 > "* LIST () "/" "WE ROOLZ: 113573"[CR][LF]" 19:27:37.000655 > "A002 OK LIST Completed[CR][LF]" 19:27:37.000670 return proof we are we 19:27:37.045481 < "A003 LOGOUT" 19:27:37.045526 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.045546 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.048293 MAIN sockfilt said DISC 19:27:37.048339 ====> Client disconnected 19:27:37.048564 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.606339 ====> Client connect 19:27:36.606609 Received DATA (on stdin) 19:27:36.606625 > 164 bytes data, server => client 19:27:36.606637 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.606647 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.606657 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.606933 < 17 bytes data, client => server 19:27:36.606950 'A001 CAPABILITY\r\n' 19:27:36.607159 Received DATA (on stdin) 19:27:36.607172 > 18 bytes data, server => client 19:27:36.607182 'A001 BAD Command\r\n' 19:27:36.607250 < 30 bytes data, client => server 19:27:36.607265 'A002 LIST "verifiedserver" *\r\n' 19:27:36.607475 Received DATA (on stdin) 19:27:36.607487 > 34 bytes data, server => client 19:27:36.607498 '* LIST () "/" "WE ROOLZ: 113573"\r\n' 19:27:36.607521 Received DATA (on stdin) 19:27:36.607535 > 24 bytes data, server => client 19:27:36.607545 'A002 OK LIST Completed\r\n' 19:27:36.652132 < 13 bytes data, client => server 19:27:36.652155 'A003 LOGOUT\r\n' 19:27:36.652346 Received DATA (on stdin) 19:27:36.652357 > 36 bytes data, server => client 19:27:36.652367 '* BYE curl IMAP server signing off\r\n' 19:27:36.652390 Received DATA (on stdin) 19:27:36.652398 > 26 bytes data, server => client 19:27:36.652407 'A003 OK LOGOUT completed\r\n' 19:27:36.655027 ====> Client disconnect 19:27:36.655281 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== A002 NO Authentication failed Testnum 845 === End of file server.cmd === Start of file valgrind845 ==124559== ==124559== Process terminating with default action of signal 4 (SIGILL) ==124559== Illegal opcode at address 0x492B75F ==124559== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124559== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124559== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124559== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124559== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124559== by 0x49908EB: curl_version_info (version.c:600) ==124559== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124559== by 0x4003269: main (tool_main.c:195) === End of file valgrind845 test 0844 [IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:45869/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 844: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 844 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:45869/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 === End of file commands.log === Start of file imap_server.log 19:27:36.952996 ====> Client connect 19:27:36.953235 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.953578 < "A001 CAPABILITY" 19:27:36.953629 > "A001 BAD Command[CR][LF]" 19:27:36.953839 < "A002 LIST "verifiedserver" *" 19:27:36.953876 LIST_imap got "verifiedserver" * 19:27:36.953908 > "* LIST () "/" "WE ROOLZ: 122830"[CR][LF]" 19:27:36.953929 > "A002 OK LIST Completed[CR][LF]" 19:27:36.953945 return proof we are we 19:27:37.005570 < "A003 LOGOUT" 19:27:37.005628 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.005648 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.007007 MAIN sockfilt said DISC 19:27:37.007044 ====> Client disconnected 19:27:37.007124 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.559682 ====> Client connect 19:27:36.560072 Received DATA (on stdin) 19:27:36.560091 > 164 bytes data, server => client 19:27:36.560101 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.560110 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.560119 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.560209 < 17 bytes data, client => server 19:27:36.560225 'A001 CAPABILITY\r\n' 19:27:36.560446 Received DATA (on stdin) 19:27:36.560458 > 18 bytes data, server => client 19:27:36.560468 'A001 BAD Command\r\n' 19:27:36.560534 < 30 bytes data, client => server 19:27:36.560548 'A002 LIST "verifiedserver" *\r\n' 19:27:36.560755 Received DATA (on stdin) 19:27:36.560767 > 34 bytes data, server => client 19:27:36.560776 '* LIST () "/" "WE ROOLZ: 122830"\r\n' 19:27:36.560799 Received DATA (on stdin) 19:27:36.560809 > 24 bytes data, server => client 19:27:36.560819 'A002 OK LIST Completed\r\n' 19:27:36.612148 < 13 bytes data, client => server 19:27:36.612183 'A003 LOGOUT\r\n' 19:27:36.612452 Received DATA (on stdin) 19:27:36.612462 > 36 bytes data, server => client 19:27:36.612497 '* BYE curl IMAP server signing off\r\n' 19:27:36.612532 Received DATA (on stdin) 19:27:36.612542 > 26 bytes data, server => client 19:27:36.612551 'A003 OK LOGOUT completed\r\n' 19:27:36.613752 ====> Client disconnect 19:27:36.613930 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDU4NjkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==124546== ==124546== Process terminating with default action of signal 4 (SIGILL) ==124546== Illegal opcode at address 0x492B75F ==124546== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124546== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124546== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124546== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124546== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124546== by 0x49908EB: curl_version_info (version.c:600) ==124546== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124546== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124546== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124546== by 0x4003269: main (tool_main.c:195) === End of file valgrind844 test 0847 [IMAP FETCH message with UID] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind847 ../src/curl -q --output log/1/curl847.out --include --trace-ascii log/1/trace847 --trace-time 'imap://127.0.0.1:35739/847/;UIDCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:42601/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 =1' -u '"user:sec"ret{' > log/1/stdout847 2> log/1/stderr847 847: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind847 ../src/curl -q --output log/1/curl847.out --include --trace-ascii log/1/trace847 --trace-time 'imap://127.0.0.1:35739/847/;UID=1' -u '"user:sec"ret{' > log/1/stdout847 2> log/1/stderr847 === End of file commands.log === Start of file imap_server.log 19:27:37.012560 ====> Client connect 19:27:37.012767 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:37.019022 < "A001 CAPABILITY" 19:27:37.019091 > "A001 BAD Command[CR][LF]" 19:27:37.019323 < "A002 LIST "verifiedserver" *" 19:27:37.019362 LIST_imap got "verifiedserver" * 19:27:37.019393 > "* LIST () "/" "WE ROOLZ: 122891"[CR][LF]" 19:27:37.019414 > "A002 OK LIST Completed[CR][LF]" 19:27:37.019428 return proof we are we 19:27:37.072782 < "A003 LOGOUT" 19:27:37.072843 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.072863 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.074234 MAIN sockfilt said DISC 19:27:37.074277 ====> Client disconnected 19:27:37.074363 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.619248 ====> Client connect 19:27:36.622150 Received DATA (on stdin) 19:27:36.622191 > 164 bytes data, server => client 19:27:36.622204 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.622214 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.622224 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.625559 < 17 bytes data, client => server 19:27:36.625591 'A001 CAPABILITY\r\n' 19:27:36.625903 Received DATA (on stdin) 19:27:36.625917 > 18 bytes data, server => client 19:27:36.625927 'A001 BAD Command\r\n' 19:27:36.626002 < 30 bytes data, client => server 19:27:36.626016 'A002 LIST "verifiedserver" *\r\n' 19:27:36.626231 Received DATA (on stdin) 19:27:36.626243 > 34 bytes data, server => client 19:27:36.626253 '* LIST () "/" "WE ROOLZ: 122891"\r\n' 19:27:36.626276 Received DATA (on stdin) 19:27:36.626286 > 24 bytes data, server => client 19:27:36.626296 'A002 OK LIST Completed\r\n' 19:27:36.679352 < 13 bytes data, client => server 19:27:36.679386 'A003 LOGOUT\r\n' 19:27:36.679661 Received DATA (on stdin) 19:27:36.679674 > 36 bytes data, server => client 19:27:36.679684 '* BYE curl IMAP server signing off\r\n' 19:27:36.679715 Received DATA (on stdin) 19:27:36.679724 > 26 bytes data, server => client 19:27:36.679734 'A003 OK LOGOUT completed\r\n' 19:27:36.680961 ====> Client disconnect 19:27:36.681161 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 847 === End of file server.cmd === Start of file valgrind847 ==124591== ==124591== Process terminating with default action of signal 4 (SIGILL) ==124591== Illegal opcode at address 0x492B75F ==124591== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124591== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124591== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124591== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124591== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124591== by 0x49908EB: curl_version_info (version.c:600) ==124591== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124591== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124591== by 0x4003269: main (tool_main.c:195) === End of file valgrind847 test 0846 [IMAP PREAUTH response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:42601/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 846: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 846 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind846 ../src/curl -q --output log/7/curl846.out --include --trace-ascii log/7/trace846 --trace-time 'imap://127.0.0.1:42601/846/;MAILINDEX=1' -u notused:still-provided > log/7/stdout846 2> log/7/stderr846 === End of file commands.log === Start of file imap_server.log 19:27:36.995364 ====> Client connect 19:27:36.995572 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.996769 < "A001 CAPABILITY" 19:27:36.996824 > "A001 BAD Command[CR][LF]" 19:27:36.997060 < "A002 LIST "verifiedserver" *" 19:27:36.997099 LIST_imap got "verifiedserver" * 19:27:36.997129 > "* LIST () "/" "WE ROOLZ: 122008"[CR][LF]" 19:27:36.997148 > "A002 OK LIST Completed[CR][LF]" 19:27:36.997162 return proof we are we 19:27:37.045466 < "A003 LOGOUT" 19:27:37.045520 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.045538 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.052058 MAIN sockfilt said DISC 19:27:37.052104 ====> Client disconnected 19:27:37.052178 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:37.598807 ====> Client connect 19:27:37.602400 Received DATA (on stdin) 19:27:37.602421 > 164 bytes data, server => client 19:27:37.602433 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:37.602443 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:37.602453 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:37.603364 < 17 bytes data, client => server 19:27:37.603386 'A001 CAPABILITY\r\n' 19:27:37.603632 Received DATA (on stdin) 19:27:37.603645 > 18 bytes data, server => client 19:27:37.603653 'A001 BAD Command\r\n' 19:27:37.603728 < 30 bytes data, client => server 19:27:37.603738 'A002 LIST "verifiedserver" *\r\n' 19:27:37.603911 Received DATA (on stdin) 19:27:37.603922 > 34 bytes data, server => client 19:27:37.603930 '* LIST () "/" "WE ROOLZ: 122008"\r\n' 19:27:37.603949 Received DATA (on stdin) 19:27:37.603957 > 24 bytes data, server => client 19:27:37.603965 'A002 OK LIST Completed\r\n' 19:27:37.648904 < 13 bytes data, client => server 19:27:37.648927 'A003 LOGOUT\r\n' 19:27:37.652304 Received DATA (on stdin) 19:27:37.652323 > 36 bytes data, server => client 19:27:37.652333 '* BYE curl IMAP server signing off\r\n' 19:27:37.652361 Received DATA (on stdin) 19:27:37.652370 > 26 bytes data, server => client 19:27:37.652380 'A003 OK LOGOUT completed\r\n' 19:27:37.658787 ====> Client disconnect 19:27:37.658980 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY welcome * PREAUTH ready to serve already REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed Testnum 846 === End of file server.cmd === Start of file valgrind846 ==124614== ==124614== Process terminating with default action of signal 4 (SIGILL) ==124614== Illegal opcode at address 0x492B75F ==124614== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124614== by 0x492C53A: cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:39883/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind848 ../src/curl -q --output log/18/curl848.out --include --trace-ascii log/18/trace848 --trace-time 'imap://127.0.0.1:32857/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/18/stdout848 2> log/18/stderr848 url_mvsnprintf (mprintf.c:1257) ==124614== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124614== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124614== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124614== by 0x49908EB: curl_version_info (version.c:600) ==124614== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124614== by 0x4003269: main (tool_main.c:195) === End of file valgrind846 test 0843 [IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:39883/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 843: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 843 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind843 ../src/curl -q --output log/17/curl843.out --include --trace-ascii log/17/trace843 --trace-time 'imap://127.0.0.1:39883/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/17/stdout843 2> log/17/stderr843 === End of file commands.log === Start of file imap_server.log 19:27:36.962310 ====> Client connect 19:27:36.962545 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:36.962907 < "A001 CAPABILITY" 19:27:36.962949 > "A001 BAD Command[CR][LF]" 19:27:36.963124 < "A002 LIST "verifiedserver" *" 19:27:36.963155 LIST_imap got "verifiedserver" * 19:27:36.963182 > "* LIST () "/" "WE ROOLZ: 122784"[CR][LF]" 19:27:36.963201 > "A002 OK LIST Completed[CR][LF]" 19:27:36.963214 return proof we are we 19:27:37.018822 < "A003 LOGOUT" 19:27:37.018887 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.018910 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.022774 MAIN sockfilt said DISC 19:27:37.028689 ====> Client disconnected 19:27:37.028836 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.568989 ====> Client connect 19:27:36.569399 Received DATA (on stdin) 19:27:36.569415 > 164 bytes data, server => client 19:27:36.569426 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.569436 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.569446 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.569543 < 17 bytes data, client => server 19:27:36.569557 'A001 CAPABILITY\r\n' 19:27:36.569759 Received DATA (on stdin) 19:27:36.569770 > 18 bytes data, server => client 19:27:36.569780 'A001 BAD Command\r\n' 19:27:36.569838 < 30 bytes data, client => server 19:27:36.569849 'A002 LIST "verifiedserver" *\r\n' 19:27:36.570022 Received DATA (on stdin) 19:27:36.570032 > 34 bytes data, server => client 19:27:36.570042 '* LIST () "/" "WE ROOLZ: 122784"\r\n' 19:27:36.570064 Received DATA (on stdin) 19:27:36.570073 > 24 bytes data, server => client 19:27:36.570082 'A002 OK LIST Completed\r\n' 19:27:36.622147 < 13 bytes data, client => server 19:27:36.622185 'A003 LOGOUT\r\n' 19:27:36.625719 Received DATA (on stdin) 19:27:36.625737 > 36 bytes data, server => client 19:27:36.625748 '* BYE curl IMAP server signing off\r\n' 19:27:36.625789 Received DATA (on stdin) 19:27:36.625800 > 26 bytes data, server => client 19:27:36.625810 'A003 OK LOGOUT completed\r\n' 19:27:36.629498 ====> Client disconnect 19:27:36.635659 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER CAPA SASL-IR REPLY AUTHENTICATE A002 OK AUTHENTICATE completed Testnum 843 === End of file server.cmd === Start of file valgrind843 ==124577== ==124577== Process terminating with default action of signal 4 (SIGILL) ==124577== Illegal opcode at address 0x492B75F ==124577== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124577== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124577== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124577== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124577== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124577== by 0x49908EB: curl_version_info (version.c:600) ==124577== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124577== by 0x4003269: main (tool_main.c:195) === End of file valgrind843 test 0848 [IMAP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind848 ../src/curl -q --output log/18/curl848.out --include --trace-ascii log/18/trace848 --trace-time 'imap://127.0.0.1:32857/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/18/stdout848 2> log/18/stderr848 848: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind848 ../src/curl -q --output log/18/curl848.out --include --trace-ascii log/18/trace848 --trace-time 'imap://127.0.0.1:32857/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/18/stdout848 2> log/18/stderr848 === End of file commands.log === Start of file imap_server.log 19:27:37.029015 ====> Client connect 19:27:37.029220 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:37.038555 < "A001 CAPABILITY" 19:27:37.038634 > "A001 BAD Command[CR][LF]" 19:27:37.039335 < "A002 LIST "verifiedserver" *" 19:27:37.039378 LIST_imap got "verifiedserver" * 19:27:37.039416 > "* LIST () "/" "WE ROOLZ: 122785"[CR][LF]" 19:27:37.039437 > "A002 OK LIST Completed[CR][LF]" 19:27:37.039453 return proof we are we 19:27:37.085711 < "A003 LOGOUT" 19:27:37.085779 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.085813 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.087211 MAIN sockfilt said DISC 19:27:37.087246 ====> Client disconnected 19:27:37.087315 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.635715 ====> Client connect 19:27:36.636034 Received DATA (on stdin) 19:27:36.636048 > 164 bytes data, server => client 19:27:36.636059 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.636069 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.636079 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.645034 < 17 bytes data, client => server 19:27:36.645075 'A001 CAPABILITY\r\n' 19:27:36.645469 Received DATA (on stdin) 19:27:36.645486 > 18 bytes data, server => client 19:27:36.645497 'A001 BAD Command\r\n' 19:27:36.645992 < 30 bytes data, client => server 19:27:36.646010 'A002 LIST "verifiedserver" *\r\n' 19:27:36.646256 Received DATA (on stdin) 19:27:36.646269 > 34 bytes data, server => client 19:27:36.646279 '* LIST () "/" "WE ROOLZ: 122785"\r\n' 19:27:36.646304 Received DATA (on stdin) 19:27:36.646315 > 24 bytes data, server => client 19:27:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind849 ../src/curl -q --output log/14/curl849.out --include --trace-ascii log/14/trace849 --trace-time 'imap://127.0.0.1:40245/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/14/stdout849 2> log/14/stderr849 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:33971/850 -u user:secret > log/10/stdout850 2> log/10/stderr850 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind851 ../src/curl -q --output log/13/curl851.out --include --trace-ascii log/13/trace851 --trace-time pop3://127.0.0.1:34899/851 -l -u user:secret > log/13/stdout851 2> log/13/stderr851 6.646326 'A002 OK LIST Completed\r\n' 19:27:36.692325 < 13 bytes data, client => server 19:27:36.692353 'A003 LOGOUT\r\n' 19:27:36.692618 Received DATA (on stdin) 19:27:36.692633 > 36 bytes data, server => client 19:27:36.692644 '* BYE curl IMAP server signing off\r\n' 19:27:36.692670 Received DATA (on stdin) 19:27:36.692682 > 26 bytes data, server => client 19:27:36.692693 'A003 OK LOGOUT completed\r\n' 19:27:36.693939 ====> Client disconnect 19:27:36.694110 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed Testnum 848 === End of file server.cmd === Start of file valgrind848 ==124622== ==124622== Process terminating with default action of signal 4 (SIGILL) ==124622== Illegal opcode at address 0x492B75F ==124622== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124622== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124622== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124622== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124622== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124622== by 0x49908EB: curl_version_info (version.c:600) ==124622== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124622== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124622== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124622== by 0x4003269: main (tool_main.c:195) === End of file valgrind848 test 0849 [IMAP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind849 ../src/curl -q --output log/14/curl849.out --include --trace-ascii log/14/trace849 --trace-time 'imap://127.0.0.1:40245/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/14/stdout849 2> log/14/stderr849 849: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 849 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind849 ../src/curl -q --output log/14/curl849.out --include --trace-ascii log/14/trace849 --trace-time 'imap://127.0.0.1:40245/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/14/stdout849 2> log/14/stderr849 === End of file commands.log === Start of file imap_server.log 19:27:37.195450 ====> Client connect 19:27:37.195632 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:37.195941 < "A001 CAPABILITY" 19:27:37.195981 > "A001 BAD Command[CR][LF]" 19:27:37.196156 < "A002 LIST "verifiedserver" *" 19:27:37.196184 LIST_imap got "verifiedserver" * 19:27:37.196209 > "* LIST () "/" "WE ROOLZ: 121906"[CR][LF]" 19:27:37.196225 > "A002 OK LIST Completed[CR][LF]" 19:27:37.196239 return proof we are we 19:27:37.248894 < "A003 LOGOUT" 19:27:37.248956 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:37.248980 > "A003 OK LOGOUT completed[CR][LF]" 19:27:37.250212 MAIN sockfilt said DISC 19:27:37.250251 ====> Client disconnected 19:27:37.250329 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:36.802113 ====> Client connect 19:27:36.802428 Received DATA (on stdin) 19:27:36.802443 > 164 bytes data, server => client 19:27:36.802453 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:36.802462 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:36.802471 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:36.802559 < 17 bytes data, client => server 19:27:36.802570 'A001 CAPABILITY\r\n' 19:27:36.802763 Received DATA (on stdin) 19:27:36.802774 > 18 bytes data, server => client 19:27:36.802783 'A001 BAD Command\r\n' 19:27:36.802842 < 30 bytes data, client => server 19:27:36.802851 'A002 LIST "verifiedserver" *\r\n' 19:27:36.803018 Received DATA (on stdin) 19:27:36.803028 > 34 bytes data, server => client 19:27:36.803037 '* LIST () "/" "WE ROOLZ: 121906"\r\n' 19:27:36.803057 Received DATA (on stdin) 19:27:36.803066 > 24 bytes data, server => client 19:27:36.803075 'A002 OK LIST Completed\r\n' 19:27:36.855451 < 13 bytes data, client => server 19:27:36.855486 'A003 LOGOUT\r\n' 19:27:36.855761 Received DATA (on stdin) 19:27:36.855776 > 36 bytes data, server => client 19:27:36.855786 '* BYE curl IMAP server signing off\r\n' 19:27:36.855822 Received DATA (on stdin) 19:27:36.855834 > 26 bytes data, server => client 19:27:36.855844 'A003 OK LOGOUT completed\r\n' 19:27:36.856927 ====> Client disconnect 19:27:36.857115 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTHENTICATE + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authorized Testnum 849 === End of file server.cmd === Start of file valgrind849 ==124851== ==124851== Process terminating with default action of signal 4 (SIGILL) ==124851== Illegal opcode at address 0x492B75F ==124851== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124851== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124851== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124851== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124851== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124851== by 0x49908EB: curl_version_info (version.c:600) ==124851== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124851== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124851== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124851== by 0x4003269: main (tool_main.c:195) === End of file valgrind849 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/pop3_server.pid" --logfile "log/10/pop3_server.log" --logdir "log/10" --portfile "log/10/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33971 (log/10/server/pop3_server.port) RUN: POP3 server is PID 124839 port 33971 * pid pop3 => 124839 124839 test 0850 [POP3 RETR message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:33971/850 -u user:secret > log/10/stdout850 2> log/10/stderr850 850: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 850 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:33971/850 -u user:secret > log/10/stdout850 2> log/10/stderr850 === End of file commands.log === Start of file pop3_server.log 19:27:37.310214 POP3 server listens on port IPv4/33971 19:27:37.310353 logged pid 124839 in log/10/server/pop3_server.pid 19:27:37.310400 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.910586 Running IPv4 version 19:27:37.910675 Listening on port 33971 19:27:37.910719 Wrote pid 124876 to log/10/server/pop3_sockfilt.pid 19:27:37.910751 Wrote port 33971 to log/10/server/pop3_server.port 19:27:37.915422 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 850 === End of file server.cmd ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind852 ../src/curl -q --output log/23/curl852.out --include --trace-ascii log/23/trace852 --trace-time pop3://127.0.0.1:45155/852 -l -u user:secret > log/23/stdout852 2> log/23/stderr852 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind853 ../src/curl -q --output log/21/curl853.out --include --trace-ascii log/21/trace853 --trace-time pop3://127.0.0.1:38317/ -u user:secret > log/21/stdout853 2> log/21/stderr853 Start of file valgrind850 ==124997== ==124997== Process terminating with default action of signal 4 (SIGILL) ==124997== Illegal opcode at address 0x492B75F ==124997== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==124997== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==124997== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==124997== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==124997== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==124997== by 0x49908EB: curl_version_info (version.c:600) ==124997== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==124997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==124997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==124997== by 0x4003269: main (tool_main.c:195) === End of file valgrind850 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/pop3_server.pid" --logfile "log/13/pop3_server.log" --logdir "log/13" --portfile "log/13/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34899 (log/13/server/pop3_server.port) RUN: POP3 server is PID 124858 port 34899 * pid pop3 => 124858 124858 test 0851 [POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind851 ../src/curl -q --output log/13/curl851.out --include --trace-ascii log/13/trace851 --trace-time pop3://127.0.0.1:34899/851 -l -u user:secret > log/13/stdout851 2> log/13/stderr851 851: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 851 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind851 ../src/curl -q --output log/13/curl851.out --include --trace-ascii log/13/trace851 --trace-time pop3://127.0.0.1:34899/851 -l -u user:secret > log/13/stdout851 2> log/13/stderr851 === End of file commands.log === Start of file pop3_server.log 19:27:37.340358 POP3 server listens on port IPv4/34899 19:27:37.340470 logged pid 124858 in log/13/server/pop3_server.pid 19:27:37.340521 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.946644 Running IPv4 version 19:27:37.946751 Listening on port 34899 19:27:37.946803 Wrote pid 124898 to log/13/server/pop3_sockfilt.pid 19:27:37.946839 Wrote port 34899 to log/13/server/pop3_server.port 19:27:37.947009 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd # include the '.\r\n' 3-byte trailer to end the transfer properly REPLY LIST +OK 851 100\r\n. Testnum 851 === End of file server.cmd === Start of file valgrind851 ==125004== ==125004== Process terminating with default action of signal 4 (SIGILL) ==125004== Illegal opcode at address 0x492B75F ==125004== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125004== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125004== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125004== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125004== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125004== by 0x49908EB: curl_version_info (version.c:600) ==125004== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125004== by 0x4003269: main (tool_main.c:195) === End of file valgrind851 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/pop3_server.pid" --logfile "log/23/pop3_server.log" --logdir "log/23" --portfile "log/23/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45155 (log/23/server/pop3_server.port) RUN: POP3 server is PID 124910 port 45155 * pid pop3 => 124910 124910 test 0852 [POP3 LIST invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind852 ../src/curl -q --output log/23/curl852.out --include --trace-ascii log/23/trace852 --trace-time pop3://127.0.0.1:45155/852 -l -u user:secret > log/23/stdout852 2> log/23/stderr852 852: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 852 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind852 ../src/curl -q --output log/23/curl852.out --include --trace-ascii log/23/trace852 --trace-time pop3://127.0.0.1:45155/852 -l -u user:secret > log/23/stdout852 2> log/23/stderr852 === End of file commands.log === Start of file pop3_server.log 19:27:37.443638 POP3 server listens on port IPv4/45155 19:27:37.443761 logged pid 124910 in log/23/server/pop3_server.pid 19:27:37.443809 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.049887 Running IPv4 version 19:27:37.050012 Listening on port 45155 19:27:37.050060 Wrote pid 124923 to log/23/server/pop3_sockfilt.pid 19:27:37.050096 Wrote port 45155 to log/23/server/pop3_server.port 19:27:37.050273 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST -ERR no such message Testnum 852 === End of file server.cmd === Start of file valgrind852 ==125052== ==125052== Process terminating with default action of signal 4 (SIGILL) ==125052== Illegal opcode at address 0x492B75F ==125052== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125052== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125052== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125052== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125052== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125052== by 0x49908EB: curl_version_info (version.c:600) ==125052== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125052== by 0x4003269: main (tool_main.c:195) === End of file valgrind852 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/pop3_server.pid" --logfile "log/21/pop3_server.log" --logdir "log/21" --portfile "log/21/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38317 (log/21/server/pop3_server.port) RUN: POP3 server is PID 124951 port 38317 * pid pop3 => 124951 124951 test 0853 [POP3 LIST messages from *SLOW* server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind853 ../src/curl -q --output log/21/curl853.out --include --trace-ascii log/21/trace853 --trace-time pop3://127.0.0.1:38317/ -u user:secret > log/21/stdout853 2> log/21/stderr853 853: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 853 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind853 ../src/curl -q --output log/21/curl853.out --include --trace-ascii log/21/trace853 --trace-time pop3://127.0.0.1:38317/ -u user:sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind854 ../src/curl -q --output log/4/curl854.out --include --trace-ascii log/4/trace854 --trace-time pop3://127.0.0.1:45189/ -u user:secret > log/4/stdout854 2> log/4/stderr854 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind855 ../src/curl -q --output log/20/curl855.out --include --trace-ascii log/20/trace855 --trace-time pop3://127.0.0.1:34029/855 -u user:secret > log/20/stdout855 2> log/20/stderr855 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind856 ../src/curl -q --output log/3/curl856.out --include --trace-ascii log/3/trace856 --trace-time pop3://127.0.0.1:35177/856 -u user:wrong > log/3/stdout856 2> log/3/stderr856 ecret > log/21/stdout853 2> log/21/stderr853 === End of file commands.log === Start of file pop3_server.log 19:27:37.655245 POP3 server listens on port IPv4/38317 19:27:37.655360 logged pid 124951 in log/21/server/pop3_server.pid 19:27:37.655410 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.261381 Running IPv4 version 19:27:37.261472 Listening on port 38317 19:27:37.261806 Wrote pid 124954 to log/21/server/pop3_sockfilt.pid 19:27:37.261847 Wrote port 38317 to log/21/server/pop3_server.port 19:27:37.261867 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd SLOWDOWN Testnum 853 === End of file server.cmd === Start of file valgrind853 ==125149== ==125149== Process terminating with default action of signal 4 (SIGILL) ==125149== Illegal opcode at address 0x492B75F ==125149== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125149== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125149== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125149== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125149== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125149== by 0x49908EB: curl_version_info (version.c:600) ==125149== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125149== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125149== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125149== by 0x4003269: main (tool_main.c:195) === End of file valgrind853 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/4/server/pop3_server.pid" --logfile "log/4/pop3_server.log" --logdir "log/4" --portfile "log/4/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45189 (log/4/server/pop3_server.port) RUN: POP3 server is PID 124955 port 45189 * pid pop3 => 124955 124955 test 0854 [POP3 LIST no messages available] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind854 ../src/curl -q --output log/4/curl854.out --include --trace-ascii log/4/trace854 --trace-time pop3://127.0.0.1:45189/ -u user:secret > log/4/stdout854 2> log/4/stderr854 854: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 854 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind854 ../src/curl -q --output log/4/curl854.out --include --trace-ascii log/4/trace854 --trace-time pop3://127.0.0.1:45189/ -u user:secret > log/4/stdout854 2> log/4/stderr854 === End of file commands.log === Start of file pop3_server.log 19:27:37.707762 POP3 server listens on port IPv4/45189 19:27:37.707882 logged pid 124955 in log/4/server/pop3_server.pid 19:27:37.707931 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.313977 Running IPv4 version 19:27:37.314096 Listening on port 45189 19:27:37.314144 Wrote pid 124961 to log/4/server/pop3_sockfilt.pid 19:27:37.314183 Wrote port 45189 to log/4/server/pop3_server.port 19:27:37.314361 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK but no messages\r\n. Testnum 854 === End of file server.cmd === Start of file valgrind854 ==125179== ==125179== Process terminating with default action of signal 4 (SIGILL) ==125179== Illegal opcode at address 0x492B75F ==125179== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125179== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125179== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125179== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125179== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125179== by 0x49908EB: curl_version_info (version.c:600) ==125179== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125179== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125179== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125179== by 0x4003269: main (tool_main.c:195) === End of file valgrind854 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/20/server/pop3_server.pid" --logfile "log/20/pop3_server.log" --logdir "log/20" --portfile "log/20/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34029 (log/20/server/pop3_server.port) RUN: POP3 server is PID 124956 port 34029 * pid pop3 => 124956 124956 test 0855 [POP3 RETR invalid message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind855 ../src/curl -q --output log/20/curl855.out --include --trace-ascii log/20/trace855 --trace-time pop3://127.0.0.1:34029/855 -u user:secret > log/20/stdout855 2> log/20/stderr855 855: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 855 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind855 ../src/curl -q --output log/20/curl855.out --include --trace-ascii log/20/trace855 --trace-time pop3://127.0.0.1:34029/855 -u user:secret > log/20/stdout855 2> log/20/stderr855 === End of file commands.log === Start of file pop3_server.log 19:27:37.755458 POP3 server listens on port IPv4/34029 19:27:37.755620 logged pid 124956 in log/20/server/pop3_server.pid 19:27:37.755679 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:37.353305 Running IPv4 version 19:27:37.353415 Listening on port 34029 19:27:37.353459 Wrote pid 124963 to log/20/server/pop3_sockfilt.pid 19:27:37.353508 Wrote port 34029 to log/20/server/pop3_server.port 19:27:37.358698 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY RETR -ERR no such message Testnum 855 === End of file server.cmd === Start of file valgrind855 ==125182== ==125182== Process terminating with default action of signal 4 (SIGILL) ==125182== Illegal opcode at address 0x492B75F ==125182== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125182== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125182== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125182== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125182== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125182== by 0x49908EB: curl_version_info (version.c:600) ==125182== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125182== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125182== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125182== by 0x4003269: main (tool_main.c:195) === End of file valgrind855 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/pop3_server.pid" --logfile "log/3/pop3_server.log" --logdir "log/3" --portfile "log/3/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 35177 (log/3/server/pop3_server.port) RUN: POP3 server is PID 124988 port 35177 * pid pop3 => 124988 124988 test 0856 [POP3 invalid login] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind856 ../src/curl -q --output log/3/curl856.out --include --trace-ascii log/3/trace856 --trace-time pop3://127.0.0.1:35177/856 -u uCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind860 ../src/curl -q --output log/22/curl860.out --include --trace-ascii log/22/trace860 --trace-time pop3://127.0.0.1:32871 -u user:secret -X NOOP -I > log/22/stdout860 2> log/22/stderr860 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind859 ../src/curl -q --output log/5/curl859.out --include --trace-ascii log/5/trace859 --trace-time pop3://127.0.0.1:39845 -u user:secret -X STAT -I > log/5/stdout859 2> log/5/stderr859 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind857 ../src/curl -q --output log/24/curl857.out --include --trace-ascii log/24/trace857 --trace-time pop3://127.0.0.1:41525/857 -u user:secret > log/24/stdout857 2> log/24/stderr857 ser:wrong > log/3/stdout856 2> log/3/stderr856 856: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 856 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind856 ../src/curl -q --output log/3/curl856.out --include --trace-ascii log/3/trace856 --trace-time pop3://127.0.0.1:35177/856 -u user:wrong > log/3/stdout856 2> log/3/stderr856 === End of file commands.log === Start of file pop3_server.log 19:27:38.245459 POP3 server listens on port IPv4/35177 19:27:38.245623 logged pid 124988 in log/3/server/pop3_server.pid 19:27:38.245680 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.843272 Running IPv4 version 19:27:38.843390 Listening on port 35177 19:27:38.843444 Wrote pid 124992 to log/3/server/pop3_sockfilt.pid 19:27:38.843484 Wrote port 35177 to log/3/server/pop3_server.port 19:27:38.848654 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY PASS -ERR Login failure Testnum 856 === End of file server.cmd === Start of file valgrind856 ==125332== ==125332== Process terminating with default action of signal 4 (SIGILL) ==125332== Illegal opcode at address 0x492B75F ==125332== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125332== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125332== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125332== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125332== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125332== by 0x49908EB: curl_version_info (version.c:600) ==125332== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125332== by 0x4003269: main (tool_main.c:195) === End of file valgrind856 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/pop3_server.pid" --logfile "log/22/pop3_server.log" --logdir "log/22" --portfile "log/22/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 32871 (log/22/server/pop3_server.port) RUN: POP3 server is PID 125142 port 32871 * pid pop3 => 125142 125142 test 0860 [POP3 NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind860 ../src/curl -q --output log/22/curl860.out --include --trace-ascii log/22/trace860 --trace-time pop3://127.0.0.1:32871 -u user:secret -X NOOP -I > log/22/stdout860 2> log/22/stderr860 860: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 860 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind860 ../src/curl -q --output log/22/curl860.out --include --trace-ascii log/22/trace860 --trace-time pop3://127.0.0.1:32871 -u user:secret -X NOOP -I > log/22/stdout860 2> log/22/stderr860 === End of file commands.log === Start of file pop3_server.log 19:27:38.637226 POP3 server listens on port IPv4/32871 19:27:38.637356 logged pid 125142 in log/22/server/pop3_server.pid 19:27:38.637407 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.243324 Running IPv4 version 19:27:38.243437 Listening on port 32871 19:27:38.243487 Wrote pid 125165 to log/22/server/pop3_sockfilt.pid 19:27:38.243521 Wrote port 32871 to log/22/server/pop3_server.port 19:27:38.243714 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==125491== ==125491== Process terminating with default action of signal 4 (SIGILL) ==125491== Illegal opcode at address 0x492B75F ==125491== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125491== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125491== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125491== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125491== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125491== by 0x49908EB: curl_version_info (version.c:600) ==125491== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125491== by 0x4003269: main (tool_main.c:195) === End of file valgrind860 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/pop3_server.pid" --logfile "log/5/pop3_server.log" --logdir "log/5" --portfile "log/5/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39845 (log/5/server/pop3_server.port) RUN: POP3 server is PID 125086 port 39845 * pid pop3 => 125086 125086 test 0859 [POP3 STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind859 ../src/curl -q --output log/5/curl859.out --include --trace-ascii log/5/trace859 --trace-time pop3://127.0.0.1:39845 -u user:secret -X STAT -I > log/5/stdout859 2> log/5/stderr859 859: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 859 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind859 ../src/curl -q --output log/5/curl859.out --include --trace-ascii log/5/trace859 --trace-time pop3://127.0.0.1:39845 -u user:secret -X STAT -I > log/5/stdout859 2> log/5/stderr859 === End of file commands.log === Start of file pop3_server.log 19:27:38.516812 POP3 server listens on port IPv4/39845 19:27:38.516907 logged pid 125086 in log/5/server/pop3_server.pid 19:27:38.516946 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.123022 Running IPv4 version 19:27:38.123119 Listening on port 39845 19:27:38.123158 Wrote pid 125122 to log/5/server/pop3_sockfilt.pid 19:27:38.123188 Wrote port 39845 to log/5/server/pop3_server.port 19:27:38.123339 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 859 === End of file server.cmd === Start of file valgrind859 ==125396== ==125396== Process terminating with default action of signal 4 (SIGILL) ==125396== Illegal opcode at address 0x492B75F ==125396== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125396== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125396== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125396== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125396== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125396== by 0x49908EB: curl_version_info (version.c:600) ==125396== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125396== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125396== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125396== by 0x4003269: main (tool_main.c:195) === End of file valgrind859 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/pop3_server.pid" --logfile "log/24/pop3_server.log" --logdir "log/24" --portfile "log/24/server/pop3_seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind858 ../src/curl -q --output log/15/curl858.out --include --trace-ascii log/15/trace858 --trace-time pop3://127.0.0.1:34733/858 -u user:secret -X DELE -I > log/15/stdout858 2> log/15/stderr858 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind864 ../src/curl -q --output log/1/curl864.out --include --trace-ascii log/1/trace864 --trace-time pop3://127.0.0.1:41595/864 -u user:secret > log/1/stdout864 2> log/1/stderr864 rver.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41525 (log/24/server/pop3_server.port) RUN: POP3 server is PID 125054 port 41525 * pid pop3 => 125054 125054 test 0857 [POP3 RETR message with dot-prefixed line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind857 ../src/curl -q --output log/24/curl857.out --include --trace-ascii log/24/trace857 --trace-time pop3://127.0.0.1:41525/857 -u user:secret > log/24/stdout857 2> log/24/stderr857 857: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 857 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind857 ../src/curl -q --output log/24/curl857.out --include --trace-ascii log/24/trace857 --trace-time pop3://127.0.0.1:41525/857 -u user:secret > log/24/stdout857 2> log/24/stderr857 === End of file commands.log === Start of file pop3_server.log 19:27:38.512323 POP3 server listens on port IPv4/41525 19:27:38.512447 logged pid 125054 in log/24/server/pop3_server.pid 19:27:38.512498 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.116378 Running IPv4 version 19:27:38.116464 Listening on port 41525 19:27:38.116506 Wrote pid 125117 to log/24/server/pop3_sockfilt.pid 19:27:38.116538 Wrote port 41525 to log/24/server/pop3_server.port 19:27:38.118799 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 857 === End of file server.cmd === Start of file valgrind857 ==125387== ==125387== Process terminating with default action of signal 4 (SIGILL) ==125387== Illegal opcode at address 0x492B75F ==125387== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125387== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125387== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125387== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125387== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125387== by 0x49908EB: curl_version_info (version.c:600) ==125387== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125387== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125387== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125387== by 0x4003269: main (tool_main.c:195) === End of file valgrind857 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/pop3_server.pid" --logfile "log/15/pop3_server.log" --logdir "log/15" --portfile "log/15/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34733 (log/15/server/pop3_server.port) RUN: POP3 server is PID 125072 port 34733 * pid pop3 => 125072 125072 test 0858 [POP3 DELE message (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind858 ../src/curl -q --output log/15/curl858.out --include --trace-ascii log/15/trace858 --trace-time pop3://127.0.0.1:34733/858 -u user:secret -X DELE -I > log/15/stdout858 2> log/15/stderr858 858: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 858 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind858 ../src/curl -q --output log/15/curl858.out --include --trace-ascii log/15/trace858 --trace-time pop3://127.0.0.1:34733/858 -u user:secret -X DELE -I > log/15/stdout858 2> log/15/stderr858 === End of file commands.log === Start of file pop3_server.log 19:27:38.505642 POP3 server listens on port IPv4/34733 19:27:38.505769 logged pid 125072 in log/15/server/pop3_server.pid 19:27:38.505824 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.106378 Running IPv4 version 19:27:38.106469 Listening on port 34733 19:27:38.106512 Wrote pid 125109 to log/15/server/pop3_sockfilt.pid 19:27:38.106542 Wrote port 34733 to log/15/server/pop3_server.port 19:27:38.111956 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 858 === End of file server.cmd === Start of file valgrind858 ==125390== ==125390== Process terminating with default action of signal 4 (SIGILL) ==125390== Illegal opcode at address 0x492B75F ==125390== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125390== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125390== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125390== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125390== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125390== by 0x49908EB: curl_version_info (version.c:600) ==125390== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125390== by 0x4003269: main (tool_main.c:195) === End of file valgrind858 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/pop3_server.pid" --logfile "log/1/pop3_server.log" --logdir "log/1" --portfile "log/1/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41595 (log/1/server/pop3_server.port) RUN: POP3 server is PID 125278 port 41595 * pid pop3 => 125278 125278 test 0864 [POP3 APOP authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind864 ../src/curl -q --output log/1/curl864.out --include --trace-ascii log/1/trace864 --trace-time pop3://127.0.0.1:41595/864 -u user:secret > log/1/stdout864 2> log/1/stderr864 864: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 864 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind864 ../src/curl -q --output log/1/curl864.out --include --trace-ascii log/1/trace864 --trace-time pop3://127.0.0.1:41595/864 -u user:secret > log/1/stdout864 2> log/1/stderr864 === End of file commands.log === Start of file pop3_server.log 19:27:38.899267 POP3 server listens on port IPv4/41595 19:27:38.899385 logged pid 125278 in log/1/server/pop3_server.pid 19:27:38.899434 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.499966 Running IPv4 version 19:27:38.500068 Listening on port 41595 19:27:38.500107 Wrote pid 125307 to log/1/server/pop3_sockfilt.pid 19:27:38.500137 Wrote port 41595 to log/1/server/pop3_server.port 19:27:38.505686 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA APOP REPLY welcome +OK curl POP3 server ready to serve <1972.987654321\@curl> Testnum 864 === End of file server.cmd === Start of file valgrind864 ==125633== ==125633== Process terminating with default action of signal 4 (SIGILL) ==125633== Illegal opcode at address 0x492B75F ==125633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125633== by 0x49A9B9E: CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind862 ../src/curl -q --output log/9/curl862.out --include --trace-ascii log/9/trace862 --trace-time pop3://127.0.0.1:33941 -u user:secret -X 'TOP 862 0' > log/9/stdout862 2> log/9/stderr862 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-time pop3://127.0.0.1:45083 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind863 ../src/curl -q --output log/16/curl863.out --include --trace-ascii log/16/trace863 --trace-time pop3://127.0.0.1:43031 -u user:secret -X RSET -I > log/16/stdout863 2> log/16/stderr863 url_ossl_version (openssl.c:5473) ==125633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125633== by 0x49908EB: curl_version_info (version.c:600) ==125633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125633== by 0x4003269: main (tool_main.c:195) === End of file valgrind864 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/pop3_server.pid" --logfile "log/9/pop3_server.log" --logdir "log/9" --portfile "log/9/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33941 (log/9/server/pop3_server.port) RUN: POP3 server is PID 125253 port 33941 * pid pop3 => 125253 125253 test 0862 [POP3 retrieve message header (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind862 ../src/curl -q --output log/9/curl862.out --include --trace-ascii log/9/trace862 --trace-time pop3://127.0.0.1:33941 -u user:secret -X 'TOP 862 0' > log/9/stdout862 2> log/9/stderr862 862: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 862 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind862 ../src/curl -q --output log/9/curl862.out --include --trace-ascii log/9/trace862 --trace-time pop3://127.0.0.1:33941 -u user:secret -X 'TOP 862 0' > log/9/stdout862 2> log/9/stderr862 === End of file commands.log === Start of file pop3_server.log 19:27:38.835446 POP3 server listens on port IPv4/33941 19:27:38.835570 logged pid 125253 in log/9/server/pop3_server.pid 19:27:38.835621 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.433325 Running IPv4 version 19:27:38.433425 Listening on port 33941 19:27:38.433472 Wrote pid 125271 to log/9/server/pop3_sockfilt.pid 19:27:38.433509 Wrote port 33941 to log/9/server/pop3_server.port 19:27:38.438605 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 862 === End of file server.cmd === Start of file valgrind862 ==125590== ==125590== Process terminating with default action of signal 4 (SIGILL) ==125590== Illegal opcode at address 0x492B75F ==125590== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125590== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125590== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125590== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125590== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125590== by 0x49908EB: curl_version_info (version.c:600) ==125590== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125590== by 0x4003269: main (tool_main.c:195) === End of file valgrind862 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/pop3_server.pid" --logfile "log/2/pop3_server.log" --logdir "log/2" --portfile "log/2/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45083 (log/2/server/pop3_server.port) RUN: POP3 server is PID 125244 port 45083 * pid pop3 => 125244 125244 test 0861 [POP3 UIDL (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-time pop3://127.0.0.1:45083 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 861: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 861 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind861 ../src/curl -q --output log/2/curl861.out --include --trace-ascii log/2/trace861 --trace-time pop3://127.0.0.1:45083 -u user:secret -X UIDL > log/2/stdout861 2> log/2/stderr861 === End of file commands.log === Start of file pop3_server.log 19:27:38.842104 POP3 server listens on port IPv4/45083 19:27:38.842235 logged pid 125244 in log/2/server/pop3_server.pid 19:27:38.842290 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.438404 Running IPv4 version 19:27:38.438496 Listening on port 45083 19:27:38.438538 Wrote pid 125277 to log/2/server/pop3_sockfilt.pid 19:27:38.438589 Wrote port 45083 to log/2/server/pop3_server.port 19:27:38.445275 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA UIDL USER Testnum 861 === End of file server.cmd === Start of file valgrind861 ==125581== ==125581== Process terminating with default action of signal 4 (SIGILL) ==125581== Illegal opcode at address 0x492B75F ==125581== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125581== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125581== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125581== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125581== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125581== by 0x49908EB: curl_version_info (version.c:600) ==125581== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125581== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125581== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125581== by 0x4003269: main (tool_main.c:195) === End of file valgrind861 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/pop3_server.pid" --logfile "log/16/pop3_server.log" --logdir "log/16" --portfile "log/16/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43031 (log/16/server/pop3_server.port) RUN: POP3 server is PID 125269 port 43031 * pid pop3 => 125269 125269 test 0863 [POP3 RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind863 ../src/curl -q --output log/16/curl863.out --include --trace-ascii log/16/trace863 --trace-time pop3://127.0.0.1:43031 -u user:secret -X RSET -I > log/16/stdout863 2> log/16/stderr863 863: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 863 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind863 ../src/curl -q --output log/16/curl863.out --include --trace-ascii log/16/trace863 --trace-time pop3://127.0.0.1:43031 -u user:secret -X RSET -I > log/16/stdout863 2> log/16/stderr863 === End of file commands.log === Start of file pop3_server.log 19:27:38.875638 POP3 server listens on port IPv4/43031 19:27:38.875768 logged pid 125269 in log/16/server/pop3_server.pid 19:27:38.875816 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.479474 Running IPv4 version 19:27:38.479589 Listening on port 43031 19:27:38.479636 Wrote pid 125300 to log/16/server/pop3_socCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind865 ../src/curl -q --output log/7/curl865.out --include --trace-ascii log/7/trace865 --trace-time pop3://127.0.0.1:42105/865 -u user:secret > log/7/stdout865 2> log/7/stderr865 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind867 ../src/curl -q --output log/18/curl867.out --include --trace-ascii log/18/trace867 --trace-time pop3://127.0.0.1:41229/867 -u user:secret > log/18/stdout867 2> log/18/stderr867 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind874 ../src/curl -q --output log/23/curl874.out --include --trace-ascii log/23/trace874 --trace-time pop3://127.0.0.1:45155/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/23/stdout874 2> log/23/stderr874 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind870 ../src/curl -q --output log/14/curl870.out --include --trace-ascii log/14/trace870 --trace-time pop3://127.0.0.1:44619/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout870 2> log/14/stderr870 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind866 ../src/curl -q --output log/17/curl866.out --include --trace-ascii log/17/trace866 --trace-time pop3://127.0.0.1:36461/866 -u user:secret > log/17/stdout866 2> log/17/stderr866 kfilt.pid 19:27:38.479669 Wrote port 43031 to log/16/server/pop3_server.port 19:27:38.482078 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 863 === End of file server.cmd === Start of file valgrind863 ==125617== ==125617== Process terminating with default action of signal 4 (SIGILL) ==125617== Illegal opcode at address 0x492B75F ==125617== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125617== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125617== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125617== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125617== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125617== by 0x49908EB: curl_version_info (version.c:600) ==125617== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125617== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125617== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125617== by 0x4003269: main (tool_main.c:195) === End of file valgrind863 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/pop3_server.pid" --logfile "log/7/pop3_server.log" --logdir "log/7" --portfile "log/7/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42105 (log/7/server/pop3_server.port) RUN: POP3 server is PID 125292 port 42105 * pid pop3 => 125292 125292 test 0865 [POP3 plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind865 ../src/curl -q --output log/7/curl865.out --include --trace-ascii log/7/trace865 --trace-time pop3://127.0.0.1:42105/865 -u user:secret > log/7/stdout865 2> log/7/stderr865 865: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 865 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind865 ../src/curl -q --output log/7/curl865.out --include --trace-ascii log/7/trace865 --trace-time pop3://127.0.0.1:42105/865 -u user:secret > log/7/stdout865 2> log/7/stderr865 === End of file commands.log === Start of file pop3_server.log 19:27:38.901158 POP3 server listens on port IPv4/42105 19:27:38.901284 logged pid 125292 in log/7/server/pop3_server.pid 19:27:38.901342 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:38.506267 Running IPv4 version 19:27:38.507458 Listening on port 42105 19:27:38.507525 Wrote pid 125310 to log/7/server/pop3_sockfilt.pid 19:27:38.507604 Wrote port 42105 to log/7/server/pop3_server.port 19:27:38.507628 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 865 === End of file server.cmd === Start of file valgrind865 ==125659== ==125659== Process terminating with default action of signal 4 (SIGILL) ==125659== Illegal opcode at address 0x492B75F ==125659== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125659== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125659== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125659== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125659== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125659== by 0x49908EB: curl_version_info (version.c:600) ==125659== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125659== by 0x4003269: main (tool_main.c:195) === End of file valgrind865 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/pop3_server.pid" --logfile "log/18/pop3_server.log" --logdir "log/18" --portfile "log/18/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41229 (log/18/server/pop3_server.port) RUN: POP3 server is PID 125319 port 41229 * pid pop3 => 125319 125319 test 0867 [POP3 CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind867 ../src/curl -q --output log/18/curl867.out --include --trace-ascii log/18/trace867 --trace-time pop3://127.0.0.1:41229/867 -u user:secret > log/18/stdout867 2> log/18/stderr867 867: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 867 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind867 ../src/curl -q --output log/18/curl867.out --include --trace-ascii log/18/trace867 --trace-time pop3://127.0.0.1:41229/867 -u user:secret > log/18/stdout867 2> log/18/stderr867 === End of file commands.log === Start of file pop3_server.log 19:27:39.075602 POP3 server listens on port IPv4/41229 19:27:39.075725 logged pid 125319 in log/18/server/pop3_server.pid 19:27:39.075777 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:39.679494 Running IPv4 version 19:27:39.679581 Listening on port 41229 19:27:39.679619 Wrote pid 125323 to log/18/server/pop3_sockfilt.pid 19:27:39.679646 Wrote port 41229 to log/18/server/pop3_server.port 19:27:39.682030 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== +OK Login successful Testnum 867 === End of file server.cmd === Start of file valgrind867 ==125841== ==125841== Process terminating with default action of signal 4 (SIGILL) ==125841== Illegal opcode at address 0x492B75F ==125841== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125841== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125841== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125841== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125841== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125841== by 0x49908EB: curl_version_info (version.c:600) ==125841== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125841== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125841== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125841== by 0x4003269: main (tool_main.c:195) === End of file valgrind867 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/pop3_server.pid" --logfile "log/14/pop3_server.log" --logdir "log/14" --portfile "log/14/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44619 (log/14/server/pop3_server.port) RUN: POP3 server is PID 125320 port 44619 * pid pop3 => 125320 125320 test 0870 [POP3 OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind870 ../src/curl -q --output log/14/curl870.out --include --trace-ascii log/14/trace870 --trace-time pop3://127.0.0.1:44619/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout870 2> log/14/stderr870 870: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 870 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind870 ../src/curl -q --output log/14/curl870.out --include --trace-ascii log/14/trace870 --trace-time pop3://127.0.0.1:44619/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/14/stdout870 2> log/14/stderr870 === End of file commands.log === Start of file pop3_server.log 19:27:39.068250 POP3 server listens on port IPv4/44619 19:27:39.068355 logged pid 125320 in log/14/server/pop3_server.pid 19:27:39.068403 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:39.674356 Running IPv4 version 19:27:39.674472 Listening on port 44619 19:27:39.674517 Wrote pid 125322 to log/14/server/pop3_sockfilt.pid 19:27:39.674551 Wrote port 44619 to log/14/server/pop3_server.port 19:27:39.674702 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH + REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB +OK Login successful Testnum 870 === End of file server.cmd === Start of file valgrind870 ==125848== ==125848== Process terminating with default action of signal 4 (SIGILL) ==125848== Illegal opcode at address 0x492B75F ==125848== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125848== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125848== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125848== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125848== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125848== by 0x49908EB: curl_version_info (version.c:600) ==125848== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125848== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125848== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125848== by 0x4003269: main (tool_main.c:195) === End of file valgrind870 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/pop3_server.pid" --logfile "log/17/pop3_server.log" --logdir "log/17" --portfile "log/17/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36461 (log/17/server/pop3_server.port) RUN: POP3 server is PID 125317 port 36461 * pid pop3 => 125317 125317 test 0866 [POP3 login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind866 ../src/curl -q --output log/17/curl866.out --include --trace-ascii log/17/trace866 --trace-time pop3://127.0.0.1:36461/866 -u user:secret > log/17/stdout866 2> log/17/stderr866 866: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 866 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind866 ../src/curl -q --output log/17/curl866.out --include --trace-ascii log/17/trace866 --trace-time pop3://127.0.0.1:36461/866 -u user:secret > log/17/stdout866 2> log/17/stderr866 === End of file commands.log === Start of file pop3_server.log 19:27:39.055453 POP3 server listens on port IPv4/36461 19:27:39.055596 logged pid 125317 in log/17/server/pop3_server.pid 19:27:39.055654 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:39.652722 Running IPv4 version 19:27:39.652829 Listening on port 36461 19:27:39.652876 Wrote pid 125321 to log/17/server/pop3_sockfilt.pid 19:27:39.652921 Wrote port 36461 to log/17/server/pop3_server.port 19:27:39.658550 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + VXNlcm5hbWU6 REPLY dXNlcg== + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 866 === End of file server.cmd === Start of file valgrind866 ==125792== ==125792== Process terminating with default action of signal 4 (SIGILL) ==125792== Illegal opcode at address 0x492B75F ==125792== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125792== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125792== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125792== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125792== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125792== by 0x49908EB: curl_version_info (version.c:600) ==125792== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125792== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125792== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125792== by 0x4003269: main (tool_main.c:195) === End of file valgrind866 test 0874 [POP3 OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind874 ../src/curl -q --output log/23/curl874.out --include --trace-ascii log/23/trace874 --trace-time pop3://127.0.0.1:45155/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/23/stdout874 2> log/23/stderr874 874: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 874 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind874 ../src/curl -q --output log/23/curl874.out --include --trace-ascii log/23/trace874 --trace-time pop3://127.0.0.1:45155/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/23/stdout874 2> log/23/stderr874 === End of file commands.log === Start of file pop3_server.log 19:27:40.072165 ====> Client connect 19:27:40.072413 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:40.072817 < "CAPA" 19:27:40.072875 > "-ERR Unrecognized command[CR][LF]" 19:27:40.073072 < "RETR verifiedserver" 19:27:40.073102 return proof we are we 19:27:40.073123 > "+OK Mail transfer starts[CR][LF]" 19:27:40.073144 > "WE ROOLZ: 124910[CR][LF]" 19:27:40.073160 > ".[CR][LF]" 19:27:40.120545 < "QUIT" 19:27:40.120608 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.121708 MAIN sockfilt said DISC 19:27:40.121802 ====> Client disconnected 19:27:40.121892 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:39.678466 ====> Client connect 19:27:39.678886 Received DATA (on stdin) 19:27:39.678905 > 164 bytes data, server => client 19:27:39.678917 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:39.678926 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:39.678935 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:39.679064 < 6 bytes data, client => server 19:27:39.679080 'CAPA\r\n' 19:27:39.679331 Received DATA (on stdin) 19:27:39.679344 > 27 bytes data, server => client 19:27:39.679353 '-ERR Unrecognized command\r\n' 19:27:39.679418 < 21 bytes data, client => server 19:27:39.679427 'RETR verifiedserver\r\n' 19:27:39.679605 Received DATA (on stdin) 19:27:39.679615 > 26 bytes data, server => client 19:27:39.679624 '+OK Mail transfer starts\r\n' 19:27:39.679645 Received DATA (on stdin) 19:27:39.679653 > 18 bytes data, server => client 19:27:39.679662 'WE ROOLZ: 124910\r\n' 19:27:39.679672 Received DATA (on stdin) 19:27:39.679680 > 3 bytes data, server => client 19:27:39.679688 '.\r\n' 19:27:39.726782 < 6 bytes data, client => server 19:27:39.726809 'QUIT\r\n' 19:27:39.727055 Received DATA (on stdin) 19:27:39.727069 > 34CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind871 ../src/curl -q --output log/10/curl871.out --include --trace-ascii log/10/trace871 --trace-time pop3://127.0.0.1:33971/871 -u user:secret --sasl-ir > log/10/stdout871 2> log/10/stderr871 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind872 ../src/curl -q --output log/13/curl872.out --include --trace-ascii log/13/trace872 --trace-time pop3://127.0.0.1:34899/872 -u user:secret --sasl-ir > log/13/stdout872 2> log/13/stderr872 bytes data, server => client 19:27:39.727079 '+OK curl POP3 server signing off\r\n' 19:27:39.728069 ====> Client disconnect 19:27:39.728167 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH +OK Login successful Testnum 874 === End of file server.cmd === Start of file valgrind874 ==126030== ==126030== Process terminating with default action of signal 4 (SIGILL) ==126030== Illegal opcode at address 0x492B75F ==126030== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126030== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126030== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126030== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126030== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126030== by 0x49908EB: curl_version_info (version.c:600) ==126030== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126030== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126030== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126030== by 0x4003269: main (tool_main.c:195) === End of file valgrind874 test 0871 [POP3 plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind871 ../src/curl -q --output log/10/curl871.out --include --trace-ascii log/10/trace871 --trace-time pop3://127.0.0.1:33971/871 -u user:secret --sasl-ir > log/10/stdout871 2> log/10/stderr871 871: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 871 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind871 ../src/curl -q --output log/10/curl871.out --include --trace-ascii log/10/trace871 --trace-time pop3://127.0.0.1:33971/871 -u user:secret --sasl-ir > log/10/stdout871 2> log/10/stderr871 === End of file commands.log === Start of file pop3_server.log 19:27:39.960085 ====> Client connect 19:27:39.960305 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:39.961581 < "CAPA" 19:27:39.961641 > "-ERR Unrecognized command[CR][LF]" 19:27:39.961857 < "RETR verifiedserver" 19:27:39.961894 return proof we are we 19:27:39.961986 > "+OK Mail transfer starts[CR][LF]" 19:27:39.962081 > "WE ROOLZ: 124839[CR][LF]" 19:27:39.962108 > ".[CR][LF]" 19:27:40.006451 < "QUIT" 19:27:40.006505 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.007737 MAIN sockfilt said DISC 19:27:40.007788 ====> Client disconnected 19:27:40.007859 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:40.566427 ====> Client connect 19:27:40.566782 Received DATA (on stdin) 19:27:40.566798 > 164 bytes data, server => client 19:27:40.566809 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:40.566818 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:40.566828 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:40.567850 < 6 bytes data, client => server 19:27:40.567868 'CAPA\r\n' 19:27:40.568109 Received DATA (on stdin) 19:27:40.568121 > 27 bytes data, server => client 19:27:40.568130 '-ERR Unrecognized command\r\n' 19:27:40.568195 < 21 bytes data, client => server 19:27:40.568210 'RETR verifiedserver\r\n' 19:27:40.568358 Received DATA (on stdin) 19:27:40.568371 > 26 bytes data, server => client 19:27:40.568390 '+OK Mail transfer starts\r\n' 19:27:40.568479 Received DATA (on stdin) 19:27:40.568492 > 18 bytes data, server => client 19:27:40.568569 'WE ROOLZ: 124839\r\n' 19:27:40.568586 Received DATA (on stdin) 19:27:40.568595 > 3 bytes data, server => client 19:27:40.568605 '.\r\n' 19:27:40.612725 < 6 bytes data, client => server 19:27:40.612766 'QUIT\r\n' 19:27:40.612966 Received DATA (on stdin) 19:27:40.612978 > 34 bytes data, server => client 19:27:40.612988 '+OK curl POP3 server signing off\r\n' 19:27:40.614121 ====> Client disconnect 19:27:40.614322 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH +OK Login successful Testnum 871 === End of file server.cmd === Start of file valgrind871 ==125915== ==125915== Process terminating with default action of signal 4 (SIGILL) ==125915== Illegal opcode at address 0x492B75F ==125915== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125915== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125915== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125915== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125915== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125915== by 0x49908EB: curl_version_info (version.c:600) ==125915== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125915== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125915== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125915== by 0x4003269: main (tool_main.c:195) === End of file valgrind871 test 0872 [POP3 login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind872 ../src/curl -q --output log/13/curl872.out --include --trace-ascii log/13/trace872 --trace-time pop3://127.0.0.1:34899/872 -u user:secret --sasl-ir > log/13/stdout872 2> log/13/stderr872 872: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 872 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind872 ../src/curl -q --output log/13/curl872.out --include --trace-ascii log/13/trace872 --trace-time pop3://127.0.0.1:34899/872 -u user:secret --sasl-ir > log/13/stdout872 2> log/13/stderr872 === End of file commands.log === Start of file pop3_server.log 19:27:39.968785 ====> Client connect 19:27:39.968998 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:39.969313 < "CAPA" 19:27:39.969359 > "-ERR Unrecognized command[CR][LF]" 19:27:39.969546 < "RETR verifiedserver" 19:27:39.969582 return proof we are we 19:27:39.969605 > "+OK Mail transfer starts[CR][LF]" 19:27:39.969629 > "WE ROOLZ: 124858[CR][LF]" 19:27:39.969646 > ".[CR][LF]" 19:27:40.015667 < "QUIT" 19:27:40.015724 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.017555 MAIN sockfilt said DISC 19:27:40.017603 ====> Client disconnected 19:27:40.017689 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:40.575126 ====> Client connect 19:27:40.575471 Received DATA (on stdin) 19:27:40.575487 > 164 bytes data, server => client 19:27:40.575499 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:40.575509 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:40.575519 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:40.575609 < 6 bytes data, client => server 19:27:40.575622 'CAPA\r\n' 19:27:40.575820 Received DATA (on stdin) 19:27:40.575832 > 27 bytes data, server => client 19:27:40.575842 '-ERR Unrecognized command\r\n' 19:27:40.575902 < 21 bytes data, client => server 19:27:40.575914 'RETR verifiedserver\r\n' 19:27:40.576104 Received DATA (on stdin) 19:27:40.576115 > 26 bytes data, server => client 19:27:40.576125 '+OK Mail transfer starts\r\n' 19:27:40.576147 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind875 ../src/curl -q --output log/21/curl875.out --include --trace-ascii log/21/trace875 --trace-time pop3://127.0.0.1:38317/%0d%0a/875 > log/21/stdout875 2> log/21/stderr875 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind876 ../src/curl -q --output log/4/curl876.out --include --trace-ascii log/4/trace876 --trace-time pop3://127.0.0.1:45189/876 -u user:secret > log/4/stdout876 2> log/4/stderr876 ceived DATA (on stdin) 19:27:40.576157 > 18 bytes data, server => client 19:27:40.576166 'WE ROOLZ: 124858\r\n' 19:27:40.576179 Received DATA (on stdin) 19:27:40.576188 > 3 bytes data, server => client 19:27:40.576197 '.\r\n' 19:27:40.621945 < 6 bytes data, client => server 19:27:40.621977 'QUIT\r\n' 19:27:40.622802 Received DATA (on stdin) 19:27:40.622825 > 34 bytes data, server => client 19:27:40.622836 '+OK curl POP3 server signing off\r\n' 19:27:40.623933 ====> Client disconnect 19:27:40.624156 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH LOGIN REPLY AUTH + UGFzc3dvcmQ6 REPLY c2VjcmV0 +OK Login successful Testnum 872 === End of file server.cmd === Start of file valgrind872 ==125905== ==125905== Process terminating with default action of signal 4 (SIGILL) ==125905== Illegal opcode at address 0x492B75F ==125905== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==125905== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==125905== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==125905== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==125905== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==125905== by 0x49908EB: curl_version_info (version.c:600) ==125905== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==125905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==125905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==125905== by 0x4003269: main (tool_main.c:195) === End of file valgrind872 test 0875 [POP3 with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind875 ../src/curl -q --output log/21/curl875.out --include --trace-ascii log/21/trace875 --trace-time pop3://127.0.0.1:38317/%0d%0a/875 > log/21/stdout875 2> log/21/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/21/ directory after test 875 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind875 ../src/curl -q --output log/21/curl875.out --include --trace-ascii log/21/trace875 --trace-time pop3://127.0.0.1:38317/%0d%0a/875 > log/21/stdout875 2> log/21/stderr875 === End of file commands.log === Start of file pop3_server.log 19:27:40.378789 ====> Client connect 19:27:40.379156 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:40.382242 < "CAPA" 19:27:40.382291 > "-ERR Unrecognized command[CR][LF]" 19:27:40.382472 < "RETR verifiedserver" 19:27:40.382505 return proof we are we 19:27:40.382528 > "+OK Mail transfer starts[CR][LF]" 19:27:40.382552 > "WE ROOLZ: 124951[CR][LF]" 19:27:40.382569 > ".[CR][LF]" 19:27:40.430680 < "QUIT" 19:27:40.430746 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.431916 MAIN sockfilt said DISC 19:27:40.431948 ====> Client disconnected 19:27:40.432236 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:39.985069 ====> Client connect 19:27:39.985431 Received DATA (on stdin) 19:27:39.985453 > 164 bytes data, server => client 19:27:39.985464 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:39.985474 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:39.985484 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:39.988464 < 6 bytes data, client => server 19:27:39.988483 'CAPA\r\n' 19:27:39.988704 Received DATA (on stdin) 19:27:39.988716 > 27 bytes data, server => client 19:27:39.988726 '-ERR Unrecognized command\r\n' 19:27:39.988785 < 21 bytes data, client => server 19:27:39.988797 'RETR verifiedserver\r\n' 19:27:39.988978 Received DATA (on stdin) 19:27:39.988989 > 26 bytes data, server => client 19:27:39.988999 '+OK Mail transfer starts\r\n' 19:27:39.989022 Received DATA (on stdin) 19:27:39.989034 > 18 bytes data, server => client 19:27:39.989044 'WE ROOLZ: 124951\r\n' 19:27:39.989056 Received DATA (on stdin) 19:27:39.989064 > 3 bytes data, server => client 19:27:39.989073 '.\r\n' 19:27:40.036887 < 6 bytes data, client => server 19:27:40.036918 'QUIT\r\n' 19:27:40.037154 Received DATA (on stdin) 19:27:40.037166 > 34 bytes data, server => client 19:27:40.037176 '+OK curl POP3 server signing off\r\n' 19:27:40.038261 ====> Client disconnect 19:27:40.038391 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 875 === End of file server.cmd === Start of file valgrind875 ==126226== ==126226== Process terminating with default action of signal 4 (SIGILL) ==126226== Illegal opcode at address 0x492B75F ==126226== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126226== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126226== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126226== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126226== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126226== by 0x49908EB: curl_version_info (version.c:600) ==126226== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126226== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126226== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126226== by 0x4003269: main (tool_main.c:195) === End of file valgrind875 test 0876 [POP3 CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind876 ../src/curl -q --output log/4/curl876.out --include --trace-ascii log/4/trace876 --trace-time pop3://127.0.0.1:45189/876 -u user:secret > log/4/stdout876 2> log/4/stderr876 876: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 876 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind876 ../src/curl -q --output log/4/curl876.out --include --trace-ascii log/4/trace876 --trace-time pop3://127.0.0.1:45189/876 -u user:secret > log/4/stdout876 2> log/4/stderr876 === End of file commands.log === Start of file pop3_server.log 19:27:40.471342 ====> Client connect 19:27:40.471553 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:40.471862 < "CAPA" 19:27:40.472707 > "-ERR Unrecognized command[CR][LF]" 19:27:40.472807 < "RETR verifiedserver" 19:27:40.472843 return proof we are we 19:27:40.472865 > "+OK Mail transfer starts[CR][LF]" 19:27:40.472885 > "WE ROOLZ: 124955[CR][LF]" 19:27:40.472901 > ".[CR][LF]" 19:27:40.518911 < "QUIT" 19:27:40.518967 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.522063 MAIN sockfilt said DISC 19:27:40.522108 ====> Client disconnected 19:27:40.522189 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:40.077616 ====> Client connect 19:27:40.077972 Received DATA (on stdin) 19:27:40.077986 > 164 bytes data, server => client 19:27:40.078000 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:40.078009 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:40.078018 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:40.078095 < 6 bytes data, client => server 19:27:40.078105 'CAPA\r\n' 19:27:40.078297 Received DATA (on stdin) 19:27:40.078308 > 27 bytes data, server => client 19:27:40.078324 '-ERR Unrecognized command\r\n' 19:27:40.079042 < 21 bytes data, client => server 19:27:40.079060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind879 ../src/curl -q --output log/20/curl879.out --include --trace-ascii log/20/trace879 --trace-time pop3://127.0.0.1:34029/879 -u user:secret > log/20/stdout879 2> log/20/stderr879 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 'RETR verifiedserver\r\n' 19:27:40.079298 Received DATA (on stdin) 19:27:40.079308 > 26 bytes data, server => client 19:27:40.079317 '+OK Mail transfer starts\r\n' 19:27:40.079341 Received DATA (on stdin) 19:27:40.079350 > 18 bytes data, server => client 19:27:40.079359 'WE ROOLZ: 124955\r\n' 19:27:40.079370 Received DATA (on stdin) 19:27:40.079377 > 3 bytes data, server => client 19:27:40.079386 '.\r\n' 19:27:40.125082 < 6 bytes data, client => server 19:27:40.125120 'QUIT\r\n' 19:27:40.125361 Received DATA (on stdin) 19:27:40.125370 > 34 bytes data, server => client 19:27:40.125379 '+OK curl POP3 server signing off\r\n' 19:27:40.128378 ====> Client disconnect 19:27:40.128584 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH + Rubbish REPLY * -ERR AUTH exchange cancelled by client Testnum 876 === End of file server.cmd === Start of file valgrind876 ==126261== ==126261== Process terminating with default action of signal 4 (SIGILL) ==126261== Illegal opcode at address 0x492B75F ==126261== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126261== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126261== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126261== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126261== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126261== by 0x49908EB: curl_version_info (version.c:600) ==126261== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126261== by 0x4003269: main (tool_main.c:195) === End of file valgrind876 test 0879 [POP3 CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind879 ../src/curl -q --output log/20/curl879.out --include --trace-ascii log/20/trace879 --trace-time pop3://127.0.0.1:34029/879 -u user:secret > log/20/stdout879 2> log/20/stderr879 879: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 879 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind879 ../src/curl -q --output log/20/curl879.out --include --trace-ascii log/20/trace879 --trace-time pop3://127.0.0.1:34029/879 -u user:secret > log/20/stdout879 2> log/20/stderr879 === End of file commands.log === Start of file pop3_server.log 19:27:40.672033 ====> Client connect 19:27:40.672384 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:40.672616 < "CAPA" 19:27:40.672666 > "-ERR Unrecognized command[CR][LF]" 19:27:40.672860 < "RETR verifiedserver" 19:27:40.672897 return proof we are we 19:27:40.672925 > "+OK Mail transfer starts[CR][LF]" 19:27:40.672947 > "WE ROOLZ: 124956[CR][LF]" 19:27:40.672964 > ".[CR][LF]" 19:27:40.719018 < "QUIT" 19:27:40.719081 > "+OK curl POP3 server signing off[CR][LF]" 19:27:40.720404 MAIN sockfilt said DISC 19:27:40.720450 ====> Client disconnected 19:27:40.720554 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:40.276903 ====> Client connect 19:27:40.278616 Received DATA (on stdin) 19:27:40.278636 > 164 bytes data, server => client 19:27:40.278660 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:40.278671 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:40.278680 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:40.278822 < 6 bytes data, client => server 19:27:40.278838 'CAPA\r\n' 19:27:40.279046 Received DATA (on stdin) 19:27:40.279058 > 27 bytes data, server => client 19:27:40.279069 '-ERR Unrecognized command\r\n' 19:27:40.279125 < 21 bytes data, client => server 19:27:40.279135 'RETR verifiedserver\r\n' 19:27:40.279339 Received DATA (on stdin) 19:27:40.279351 > 26 bytes data, server => client 19:27:40.279360 '+OK Mail transfer starts\r\n' 19:27:40.279380 Received DATA (on stdin) 19:27:40.279389 > 18 bytes data, server => client 19:27:40.279398 'WE ROOLZ: 124956\r\n' 19:27:40.279409 Received DATA (on stdin) 19:27:40.279418 > 3 bytes data, server => client 19:27:40.279427 '.\r\n' 19:27:40.325181 < 6 bytes data, client => server 19:27:40.325217 'QUIT\r\n' 19:27:40.325458 Received DATA (on stdin) 19:27:40.325470 > 34 bytes data, server => client 19:27:40.325481 '+OK curl POP3 server signing off\r\n' 19:27:40.326703 ====> Client disconnect 19:27:40.326934 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" + Rubbish REPLY * -ERR AUTH exchange cancelled by client REPLY "AUTH PLAIN" + REPLY AHVzZXIAc2VjcmV0 +OK Login successful Testnum 879 === End of file server.cmd === Start of file valgrind879 ==126334== ==126334== Process terminating with default action of signal 4 (SIGILL) ==126334== Illegal opcode at address 0x492B75F ==126334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126334== by 0x49908EB: curl_version_info (version.c:600) ==126334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126334== by 0x4003269: main (tool_main.c:195) === End of file valgrind879 setenv HOME = /startdir/src/build-curl/tests/log/19 test 0731 [IPFS with gateway URL and path from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 731: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 731 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 === End of file commands.log === Start of file http_server.log 19:27:24.861895 ====> Client connect 19:27:24.861927 accept_connection 3 returned 4 19:27:24.862068 Read 93 bytes 19:27:24.862080 Process 93 bytes request 19:27:24.862092 Got request: GET /verifiedserver HTTP/1.1 19:27:24.862100 Are-we-friendly question received 19:27:24.862126 Wrote request (93 bytes) input to log/19/server.input 19:27:24.862142 Identifying ourselves as friends 19:27:24.862196 Response sent (56 bytes) and written to log/19/server.response 19:27:24.862205 special request received, no persistency 19:27:24.862213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 58272 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind883 ../src/curl -q --output log/3/curl883.out --include --trace-ascii log/3/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35177/883' > log/3/stdout883 2> log/3/stderr883 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind741 ../src/curl -q --output log/6/curl741.out --include --trace-ascii log/6/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout741 2> log/6/stderr741 quest completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 731 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind731 ==118275== ==118275== Process terminating with default action of signal 4 (SIGILL) ==118275== Illegal opcode at address 0x492B75F ==118275== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118275== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118275== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118275== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118275== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118275== by 0x49908EB: curl_version_info (version.c:600) ==118275== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118275== by 0x4003269: main (tool_main.c:195) === End of file valgrind731 test 0883 [POP3 external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind883 ../src/curl -q --output log/3/curl883.out --include --trace-ascii log/3/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35177/883' > log/3/stdout883 2> log/3/stderr883 883: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 883 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind883 ../src/curl -q --output log/3/curl883.out --include --trace-ascii log/3/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:35177/883' > log/3/stdout883 2> log/3/stderr883 === End of file commands.log === Start of file pop3_server.log 19:27:41.182136 ====> Client connect 19:27:41.182397 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.192217 < "CAPA" 19:27:41.192290 > "-ERR Unrecognized command[CR][LF]" 19:27:41.202236 < "RETR verifiedserver" 19:27:41.202290 return proof we are we 19:27:41.202325 > "+OK Mail transfer starts[CR][LF]" 19:27:41.202349 > "WE ROOLZ: 124988[CR][LF]" 19:27:41.202366 > ".[CR][LF]" 19:27:41.255548 < "QUIT" 19:27:41.255612 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.257152 MAIN sockfilt said DISC 19:27:41.257191 ====> Client disconnected 19:27:41.257281 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.788323 ====> Client connect 19:27:41.788727 Received DATA (on stdin) 19:27:41.788740 > 164 bytes data, server => client 19:27:41.788751 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.788760 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.788769 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.794988 < 6 bytes data, client => server 19:27:41.795015 'CAPA\r\n' 19:27:41.798616 Received DATA (on stdin) 19:27:41.798634 > 27 bytes data, server => client 19:27:41.798643 '-ERR Unrecognized command\r\n' 19:27:41.808328 < 21 bytes data, client => server 19:27:41.808367 'RETR verifiedserver\r\n' 19:27:41.808685 Received DATA (on stdin) 19:27:41.808696 > 26 bytes data, server => client 19:27:41.808706 '+OK Mail transfer starts\r\n' 19:27:41.808750 Received DATA (on stdin) 19:27:41.808759 > 18 bytes data, server => client 19:27:41.808768 'WE ROOLZ: 124988\r\n' 19:27:41.808780 Received DATA (on stdin) 19:27:41.808789 > 3 bytes data, server => client 19:27:41.808798 '.\r\n' 19:27:41.861654 < 6 bytes data, client => server 19:27:41.861692 'QUIT\r\n' 19:27:41.861930 Received DATA (on stdin) 19:27:41.861942 > 34 bytes data, server => client 19:27:41.861952 '+OK curl POP3 server signing off\r\n' 19:27:41.863123 ====> Client disconnect 19:27:41.863600 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY dXNlcg== +OK Login successful Testnum 883 === End of file server.cmd === Start of file valgrind883 ==126444== ==126444== Process terminating with default action of signal 4 (SIGILL) ==126444== Illegal opcode at address 0x492B75F ==126444== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126444== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126444== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126444== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126444== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126444== by 0x49908EB: curl_version_info (version.c:600) ==126444== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126444== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126444== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126444== by 0x4003269: main (tool_main.c:195) === End of file valgrind883 setenv HOME = /startdir/src/build-curl/tests/log/6 test 0741 [IPFS malformed gw URL from multiline gateway file, first line no URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind741 ../src/curl -q --output log/6/curl741.out --include --trace-ascii log/6/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout741 2> log/6/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/6/ directory after test 741 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind741 ../src/curl -q --output log/6/curl741.out --include --trace-ascii log/6/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout741 2> log/6/stderr741 === End of file commands.log === Start of file http_server.log 19:27:26.083956 ====> Client connect 19:27:26.084000 accept_connection 3 returned 4 19:27:26.084029 Read 93 bytes 19:27:26.084041 Process 93 bytes request 19:27:26.084055 Got request: GET /verifiedserver HTTP/1.1 19:27:26.084065 Are-we-friendly question received 19:27:26.084099 Wrote request (93 bytes) input to log/6/server.input 19:27:26.084119 Identifying ourselves as friends 19:27:26.084212 Response sent (56 bytes) and written to log/6/server.response 19:27:26.084226 special request received, no persistency 19:27:26.084235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 42956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 741 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind741 ==118945== ==118945== Process terminating with default action of signal 4 (SIGILL) ==118945== Illegal opcode at address 0x492B75F ==118945== at 0x492B75F: formatf.constprop.2 (mpriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind884 ../src/curl -q --output log/22/curl884.out --include --trace-ascii log/22/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:32871/884' > log/22/stdout884 2> log/22/stderr884 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind885 ../src/curl -q --output log/5/curl885.out --include --trace-ascii log/5/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:39845/885' --sasl-ir > log/5/stdout885 2> log/5/stderr885 ntf.c:1115) ==118945== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118945== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118945== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118945== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118945== by 0x49908EB: curl_version_info (version.c:600) ==118945== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118945== by 0x4003269: main (tool_main.c:195) === End of file valgrind741 test 0884 [POP3 external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind884 ../src/curl -q --output log/22/curl884.out --include --trace-ascii log/22/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:32871/884' > log/22/stdout884 2> log/22/stderr884 884: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind884 ../src/curl -q --output log/22/curl884.out --include --trace-ascii log/22/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:32871/884' > log/22/stdout884 2> log/22/stderr884 === End of file commands.log === Start of file pop3_server.log 19:27:41.427791 ====> Client connect 19:27:41.428055 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.438972 < "CAPA" 19:27:41.439157 > "-ERR Unrecognized command[CR][LF]" 19:27:41.440747 < "RETR verifiedserver" 19:27:41.440782 return proof we are we 19:27:41.440811 > "+OK Mail transfer starts[CR][LF]" 19:27:41.440833 > "WE ROOLZ: 125142[CR][LF]" 19:27:41.440851 > ".[CR][LF]" 19:27:41.486012 < "QUIT" 19:27:41.486061 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.488744 MAIN sockfilt said DISC 19:27:41.488817 ====> Client disconnected 19:27:41.491987 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.033940 ====> Client connect 19:27:41.034372 Received DATA (on stdin) 19:27:41.034389 > 164 bytes data, server => client 19:27:41.034401 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.034411 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.034421 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.044962 < 6 bytes data, client => server 19:27:41.045001 'CAPA\r\n' 19:27:41.045330 Received DATA (on stdin) 19:27:41.045345 > 27 bytes data, server => client 19:27:41.045366 '-ERR Unrecognized command\r\n' 19:27:41.046907 < 21 bytes data, client => server 19:27:41.046927 'RETR verifiedserver\r\n' 19:27:41.047145 Received DATA (on stdin) 19:27:41.047157 > 26 bytes data, server => client 19:27:41.047168 '+OK Mail transfer starts\r\n' 19:27:41.047197 Received DATA (on stdin) 19:27:41.047209 > 18 bytes data, server => client 19:27:41.047219 'WE ROOLZ: 125142\r\n' 19:27:41.047232 Received DATA (on stdin) 19:27:41.047241 > 3 bytes data, server => client 19:27:41.047251 '.\r\n' 19:27:41.092121 < 6 bytes data, client => server 19:27:41.092165 'QUIT\r\n' 19:27:41.092345 Received DATA (on stdin) 19:27:41.092353 > 34 bytes data, server => client 19:27:41.092361 '+OK curl POP3 server signing off\r\n' 19:27:41.094951 ====> Client disconnect 19:27:41.098310 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH + REPLY +OK Login successful Testnum 884 === End of file server.cmd === Start of file valgrind884 ==126532== ==126532== Process terminating with default action of signal 4 (SIGILL) ==126532== Illegal opcode at address 0x492B75F ==126532== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126532== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126532== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126532== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126532== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126532== by 0x49908EB: curl_version_info (version.c:600) ==126532== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126532== by 0x4003269: main (tool_main.c:195) === End of file valgrind884 test 0885 [POP3 external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind885 ../src/curl -q --output log/5/curl885.out --include --trace-ascii log/5/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:39845/885' --sasl-ir > log/5/stdout885 2> log/5/stderr885 885: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 885 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind885 ../src/curl -q --output log/5/curl885.out --include --trace-ascii log/5/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:39845/885' --sasl-ir > log/5/stdout885 2> log/5/stderr885 === End of file commands.log === Start of file pop3_server.log 19:27:41.551510 ====> Client connect 19:27:41.551719 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.552068 < "CAPA" 19:27:41.552116 > "-ERR Unrecognized command[CR][LF]" 19:27:41.552307 < "RETR verifiedserver" 19:27:41.552340 return proof we are we 19:27:41.552365 > "+OK Mail transfer starts[CR][LF]" 19:27:41.552387 > "WE ROOLZ: 125086[CR][LF]" 19:27:41.552404 > ".[CR][LF]" 19:27:41.602327 < "QUIT" 19:27:41.602382 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.604007 MAIN sockfilt said DISC 19:27:41.604050 ====> Client disconnected 19:27:41.604124 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.157676 ====> Client connect 19:27:41.158022 Received DATA (on stdin) 19:27:41.158039 > 164 bytes data, server => client 19:27:41.158050 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.158061 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.158070 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.158154 < 6 bytes data, client => server 19:27:41.158166 'CAPA\r\n' 19:27:41.158399 Received DATA (on stdin) 19:27:41.158411 > 27 bytes data, server => client 19:27:41.158421 '-ERR Unrecognized command\r\n' 19:27:41.158479 < 21 bytes data, client => server 19:27:41.158490 'RETR verifiedserver\r\n' 19:27:41.158681 Received DATA (on stdin) 19:27:41.158691 > 26 bytes data, server => client 19:27:41.158701 '+OK Mail transfer starts\r\n' 19:27:41.158722 Received DATA (on stdin) 19:27:41.158731 > 18 bytes data, server => client 19:27:41.158740 'WE ROOLZ: 125086\r\n' 19:27:41.158752 Received DATA (on stdin) 19:27:41.158760 > 3 bytes data, server => client 19:27:41.158769 '.\r\n' 19:27:41.208411 < 6 bytes data, client => server 19:27:41.208445 'QUIT\r\n' 19:27:41.208656 Received DATA (on stdin) 19:27:41.208667 > 34 bytes data, server => client 19:27:41.208676 '+OK curl POP3 server signing off\r\n' 19:27:41.209764 ====> Client disconnect 19:27:41.210397 Received ACKD (on stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind890 ../src/curl -q --output log/2/curl890.out --include --trace-ascii log/2/trace890 --trace-time pop3://127.0.0.1:45083/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout890 2> log/2/stderr890 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind887 ../src/curl -q --output log/15/curl887.out --include --trace-ascii log/15/trace887 --trace-time pop3://127.0.0.1:34733/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/15/stdout887 2> log/15/stderr887 in) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 885 === End of file server.cmd === Start of file valgrind885 ==126589== ==126589== Process terminating with default action of signal 4 (SIGILL) ==126589== Illegal opcode at address 0x492B75F ==126589== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126589== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126589== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126589== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126589== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126589== by 0x49908EB: curl_version_info (version.c:600) ==126589== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126589== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126589== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126589== by 0x4003269: main (tool_main.c:195) === End of file valgrind885 test 0890 [POP3 OAuth failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind890 ../src/curl -q --output log/2/curl890.out --include --trace-ascii log/2/trace890 --trace-time pop3://127.0.0.1:45083/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout890 2> log/2/stderr890 890: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 890 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind890 ../src/curl -q --output log/2/curl890.out --include --trace-ascii log/2/trace890 --trace-time pop3://127.0.0.1:45083/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/2/stdout890 2> log/2/stderr890 === End of file commands.log === Start of file pop3_server.log 19:27:41.885062 ====> Client connect 19:27:41.885314 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.893152 < "CAPA" 19:27:41.893222 > "-ERR Unrecognized command[CR][LF]" 19:27:41.893432 < "RETR verifiedserver" 19:27:41.893467 return proof we are we 19:27:41.893495 > "+OK Mail transfer starts[CR][LF]" 19:27:41.893523 > "WE ROOLZ: 125244[CR][LF]" 19:27:41.893544 > ".[CR][LF]" 19:27:41.940462 < "QUIT" 19:27:41.940516 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.941675 MAIN sockfilt said DISC 19:27:41.941712 ====> Client disconnected 19:27:41.941788 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.491172 ====> Client connect 19:27:41.491556 Received DATA (on stdin) 19:27:41.491578 > 164 bytes data, server => client 19:27:41.491590 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.491601 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.491610 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.499156 < 6 bytes data, client => server 19:27:41.499185 'CAPA\r\n' 19:27:41.499476 Received DATA (on stdin) 19:27:41.499490 > 27 bytes data, server => client 19:27:41.499500 '-ERR Unrecognized command\r\n' 19:27:41.499564 < 21 bytes data, client => server 19:27:41.499580 'RETR verifiedserver\r\n' 19:27:41.499788 Received DATA (on stdin) 19:27:41.499801 > 26 bytes data, server => client 19:27:41.499811 '+OK Mail transfer starts\r\n' 19:27:41.499836 Received DATA (on stdin) 19:27:41.499847 > 18 bytes data, server => client 19:27:41.499857 'WE ROOLZ: 125244\r\n' 19:27:41.499871 Received DATA (on stdin) 19:27:41.499880 > 3 bytes data, server => client 19:27:41.499889 '.\r\n' 19:27:41.546539 < 6 bytes data, client => server 19:27:41.546561 'QUIT\r\n' 19:27:41.546757 Received DATA (on stdin) 19:27:41.546771 > 34 bytes data, server => client 19:27:41.546781 '+OK curl POP3 server signing off\r\n' 19:27:41.547844 ====> Client disconnect 19:27:41.548030 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 890 === End of file server.cmd === Start of file valgrind890 ==126825== ==126825== Process terminating with default action of signal 4 (SIGILL) ==126825== Illegal opcode at address 0x492B75F ==126825== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126825== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126825== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126825== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126825== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126825== by 0x49908EB: curl_version_info (version.c:600) ==126825== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126825== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126825== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126825== by 0x4003269: main (tool_main.c:195) === End of file valgrind890 test 0887 [POP3 OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind887 ../src/curl -q --output log/15/curl887.out --include --trace-ascii log/15/trace887 --trace-time pop3://127.0.0.1:34733/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/15/stdout887 2> log/15/stderr887 887: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 887 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind887 ../src/curl -q --output log/15/curl887.out --include --trace-ascii log/15/trace887 --trace-time pop3://127.0.0.1:34733/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/15/stdout887 2> log/15/stderr887 === End of file commands.log === Start of file pop3_server.log 19:27:41.693884 ====> Client connect 19:27:41.694113 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.694447 < "CAPA" 19:27:41.694497 > "-ERR Unrecognized command[CR][LF]" 19:27:41.694711 < "RETR verifiedserver" 19:27:41.694748 return proof we are we 19:27:41.694775 > "+OK Mail transfer starts[CR][LF]" 19:27:41.694803 > "WE ROOLZ: 125072[CR][LF]" 19:27:41.694822 > ".[CR][LF]" 19:27:41.742198 < "QUIT" 19:27:41.742259 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.744072 MAIN sockfilt said DISC 19:27:41.744112 ====> Client disconnected 19:27:41.744187 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.300041 ====> Client connect 19:27:41.300402 Received DATA (on stdin) 19:27:41.300420 > 164 bytes data, server => client 19:27:41.300431 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.300441 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.300450 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.300538 < 6 bytes data, client => server 19:27:41.300554 'CAPA\r\n' 19:27:41.300766 Received DATA (on stdin) 19:27:41.300779 > 27 bytes data, server => client 19:27:41.300789 '-ERR Unrecognized command\r\n' 19:27:41.300853 < 21 bytes data, client => server 19:27:41.300868 'RETR verifiedserver\r\n' 19:27:41.301087 Received DATA (on stdin) 19:27:41.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind891 ../src/curl -q --output log/16/curl891.out --include --trace-ascii log/16/trace891 --trace-time pop3://127.0.0.1:43031/891 -u user:secret > log/16/stdout891 2> log/16/stderr891 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41525/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind888 ../src/curl -q --output log/1/curl888.out --include --trace-ascii log/1/trace888 --trace-time pop3://127.0.0.1:41595/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout888 2> log/1/stderr888 301099 > 26 bytes data, server => client 19:27:41.301109 '+OK Mail transfer starts\r\n' 19:27:41.301134 Received DATA (on stdin) 19:27:41.301145 > 18 bytes data, server => client 19:27:41.301154 'WE ROOLZ: 125072\r\n' 19:27:41.301167 Received DATA (on stdin) 19:27:41.301176 > 3 bytes data, server => client 19:27:41.301185 '.\r\n' 19:27:41.348268 < 6 bytes data, client => server 19:27:41.348302 'QUIT\r\n' 19:27:41.348524 Received DATA (on stdin) 19:27:41.348538 > 34 bytes data, server => client 19:27:41.348548 '+OK curl POP3 server signing off\r\n' 19:27:41.350262 ====> Client disconnect 19:27:41.350447 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzQ3MzMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==126682== ==126682== Process terminating with default action of signal 4 (SIGILL) ==126682== Illegal opcode at address 0x492B75F ==126682== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126682== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126682== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126682== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126682== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126682== by 0x49908EB: curl_version_info (version.c:600) ==126682== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126682== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126682== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126682== by 0x4003269: main (tool_main.c:195) === End of file valgrind887 test 0891 [POP3 with short authentication response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind891 ../src/curl -q --output log/16/curl891.out --include --trace-ascii log/16/trace891 --trace-time pop3://127.0.0.1:43031/891 -u user:secret > log/16/stdout891 2> log/16/stderr891 891: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 891 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind891 ../src/curl -q --output log/16/curl891.out --include --trace-ascii log/16/trace891 --trace-time pop3://127.0.0.1:43031/891 -u user:secret > log/16/stdout891 2> log/16/stderr891 === End of file commands.log === Start of file pop3_server.log 19:27:42.005357 ====> Client connect 19:27:42.005600 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:42.006306 < "CAPA" 19:27:42.006362 > "-ERR Unrecognized command[CR][LF]" 19:27:42.006543 < "RETR verifiedserver" 19:27:42.006575 return proof we are we 19:27:42.006597 > "+OK Mail transfer starts[CR][LF]" 19:27:42.006617 > "WE ROOLZ: 125269[CR][LF]" 19:27:42.006633 > ".[CR][LF]" 19:27:42.054454 < "QUIT" 19:27:42.054512 > "+OK curl POP3 server signing off[CR][LF]" 19:27:42.055434 MAIN sockfilt said DISC 19:27:42.055468 ====> Client disconnected 19:27:42.055547 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.610315 ====> Client connect 19:27:41.612194 Received DATA (on stdin) 19:27:41.612224 > 164 bytes data, server => client 19:27:41.612235 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.612245 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.612254 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.612337 < 6 bytes data, client => server 19:27:41.612348 'CAPA\r\n' 19:27:41.612593 Received DATA (on stdin) 19:27:41.612604 > 27 bytes data, server => client 19:27:41.612613 '-ERR Unrecognized command\r\n' 19:27:41.612669 < 21 bytes data, client => server 19:27:41.612679 'RETR verifiedserver\r\n' 19:27:41.612858 Received DATA (on stdin) 19:27:41.612868 > 26 bytes data, server => client 19:27:41.612876 '+OK Mail transfer starts\r\n' 19:27:41.612897 Received DATA (on stdin) 19:27:41.612905 > 18 bytes data, server => client 19:27:41.612913 'WE ROOLZ: 125269\r\n' 19:27:41.612923 Received DATA (on stdin) 19:27:41.612931 > 3 bytes data, server => client 19:27:41.612939 '.\r\n' 19:27:41.660496 < 6 bytes data, client => server 19:27:41.660518 'QUIT\r\n' 19:27:41.660734 Received DATA (on stdin) 19:27:41.660744 > 34 bytes data, server => client 19:27:41.660753 '+OK curl POP3 server signing off\r\n' 19:27:41.661599 ====> Client disconnect 19:27:41.661776 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH CRAM-MD5 REPLYLF AUTH + Testnum 891 === End of file server.cmd === Start of file valgrind891 ==126953== ==126953== Process terminating with default action of signal 4 (SIGILL) ==126953== Illegal opcode at address 0x492B75F ==126953== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126953== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126953== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126953== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126953== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126953== by 0x49908EB: curl_version_info (version.c:600) ==126953== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126953== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126953== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126953== by 0x4003269: main (tool_main.c:195) === End of file valgrind891 test 0886 [POP3 external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41525/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 886: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 886 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind886 ../src/curl -q --output log/24/curl886.out --include --trace-ascii log/24/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:41525/886' --sasl-ir > log/24/stdout886 2> log/24/stderr886 === End of file commands.log === Start of file pop3_server.log 19:27:41.691590 ====> Client connect 19:27:41.691814 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.692150 < "CAPA" 19:27:41.692325 > "-ERR Unrecognized command[CR][LF]" 19:27:41.692407 < "RETR verifiedserver" 19:27:41.692438 return proof we are we 19:27:41.692541 > "+OK Mail transfer starts[CR][LF]" 19:27:41.692573 > "WE ROOLZ: 125054[CR][LF]" 19:27:41.692590 > ".[CR][LF]" 19:27:41.742178 < "QUIT" 19:27:41.742246 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.743828 MAIN sockfilt said DISC 19:27:41.743880 ====> Client disconnected 19:27:41.743980 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.297727 ====> Client connect 19:27:41.298098 Received DATA (on stdin) 19:27:41.298112 > 164 bytes data, server => client 19:27:41.298122 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.298130 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind889 ../src/curl -q --output log/9/curl889.out --include --trace-ascii log/9/trace889 --trace-time pop3://127.0.0.1:33941/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout889 2> log/9/stderr889 n \___|\___/|_|' 19:27:41.298138 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.298217 < 6 bytes data, client => server 19:27:41.298227 'CAPA\r\n' 19:27:41.298445 Received DATA (on stdin) 19:27:41.298459 > 27 bytes data, server => client 19:27:41.298477 '-ERR Unrecognized command\r\n' 19:27:41.298537 < 21 bytes data, client => server 19:27:41.298546 'RETR verifiedserver\r\n' 19:27:41.298703 Received DATA (on stdin) 19:27:41.298715 > 26 bytes data, server => client 19:27:41.298732 '+OK Mail transfer starts\r\n' 19:27:41.298853 Received DATA (on stdin) 19:27:41.298864 > 18 bytes data, server => client 19:27:41.298873 'WE ROOLZ: 125054\r\n' 19:27:41.298885 Received DATA (on stdin) 19:27:41.298894 > 3 bytes data, server => client 19:27:41.298903 '.\r\n' 19:27:41.348216 < 6 bytes data, client => server 19:27:41.348257 'QUIT\r\n' 19:27:41.348513 Received DATA (on stdin) 19:27:41.348529 > 34 bytes data, server => client 19:27:41.348541 '+OK curl POP3 server signing off\r\n' 19:27:41.348612 ====> Client disconnect 19:27:41.350251 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH +OK Login successful Testnum 886 === End of file server.cmd === Start of file valgrind886 ==126644== ==126644== Process terminating with default action of signal 4 (SIGILL) ==126644== Illegal opcode at address 0x492B75F ==126644== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126644== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126644== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126644== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126644== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126644== by 0x49908EB: curl_version_info (version.c:600) ==126644== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126644== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126644== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126644== by 0x4003269: main (tool_main.c:195) === End of file valgrind886 test 0888 [POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind888 ../src/curl -q --output log/1/curl888.out --include --trace-ascii log/1/trace888 --trace-time pop3://127.0.0.1:41595/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout888 2> log/1/stderr888 888: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 888 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind888 ../src/curl -q --output log/1/curl888.out --include --trace-ascii log/1/trace888 --trace-time pop3://127.0.0.1:41595/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/1/stdout888 2> log/1/stderr888 === End of file commands.log === Start of file pop3_server.log 19:27:41.751187 ====> Client connect 19:27:41.751400 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.751741 < "CAPA" 19:27:41.751915 > "-ERR Unrecognized command[CR][LF]" 19:27:41.752025 < "RETR verifiedserver" 19:27:41.752066 return proof we are we 19:27:41.752128 > "+OK Mail transfer starts[CR][LF]" 19:27:41.752156 > "WE ROOLZ: 125278[CR][LF]" 19:27:41.752175 > ".[CR][LF]" 19:27:41.802376 < "QUIT" 19:27:41.802440 > "+OK curl POP3 server signing off[CR][LF]" 19:27:41.803652 MAIN sockfilt said DISC 19:27:41.803746 ====> Client disconnected 19:27:41.803833 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.357317 ====> Client connect 19:27:41.357680 Received DATA (on stdin) 19:27:41.357697 > 164 bytes data, server => client 19:27:41.357708 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.357718 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.357727 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.357813 < 6 bytes data, client => server 19:27:41.357827 'CAPA\r\n' 19:27:41.358027 Received DATA (on stdin) 19:27:41.358039 > 27 bytes data, server => client 19:27:41.358056 '-ERR Unrecognized command\r\n' 19:27:41.358115 < 21 bytes data, client => server 19:27:41.358127 'RETR verifiedserver\r\n' 19:27:41.358329 Received DATA (on stdin) 19:27:41.358342 > 26 bytes data, server => client 19:27:41.358432 '+OK Mail transfer starts\r\n' 19:27:41.358460 Received DATA (on stdin) 19:27:41.358470 > 18 bytes data, server => client 19:27:41.358478 'WE ROOLZ: 125278\r\n' 19:27:41.358489 Received DATA (on stdin) 19:27:41.358498 > 3 bytes data, server => client 19:27:41.358506 '.\r\n' 19:27:41.408290 < 6 bytes data, client => server 19:27:41.408317 'QUIT\r\n' 19:27:41.408698 Received DATA (on stdin) 19:27:41.408713 > 34 bytes data, server => client 19:27:41.408724 '+OK curl POP3 server signing off\r\n' 19:27:41.409833 ====> Client disconnect 19:27:41.409921 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH +OK Login successful Testnum 888 === End of file server.cmd === Start of file valgrind888 ==126723== ==126723== Process terminating with default action of signal 4 (SIGILL) ==126723== Illegal opcode at address 0x492B75F ==126723== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126723== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126723== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126723== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126723== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126723== by 0x49908EB: curl_version_info (version.c:600) ==126723== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126723== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126723== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126723== by 0x4003269: main (tool_main.c:195) === End of file valgrind888 test 0889 [POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind889 ../src/curl -q --output log/9/curl889.out --include --trace-ascii log/9/trace889 --trace-time pop3://127.0.0.1:33941/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout889 2> log/9/stderr889 889: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 889 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind889 ../src/curl -q --output log/9/curl889.out --include --trace-ascii log/9/trace889 --trace-time pop3://127.0.0.1:33941/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout889 2> log/9/stderr889 === End of file commands.log === Start of file pop3_server.log 19:27:41.865467 ====> Client connect 19:27:41.865704 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:41.872203 < "CAPA" 19:27:41.872924 > "-ERR Unrecognized command[CR][LF]" 19:27:41.873210 < "RETR verifiedserver" 19:27:41.873253 return proof we are we 19:27:41.873285 > "+OK Mail transfer starts[CR][LF]" 19:27:41.873311 > "WE ROOLZ: 125253[CR][LF]" 19:27:41.873328 > ".[CR][LF]" 19:27:41.928905 < "QUIT" 19:27:41.929072 > "+OK curl POP3 server signing off[CR][LF]" CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind894 ../src/curl -q --output log/23/curl894.out --include --trace-ascii log/23/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:45155/894 > log/23/stdout894 2> log/23/stderr894 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind892 ../src/curl -q --output log/7/curl892.out --include --trace-ascii log/7/trace892 --trace-time pop3://127.0.0.1:42105/892 -u user:secret --sasl-authzid shared-mailbox > log/7/stdout892 2> log/7/stderr892 19:27:41.939952 MAIN sockfilt said DISC 19:27:41.940004 ====> Client disconnected 19:27:41.940071 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.471582 ====> Client connect 19:27:41.471980 Received DATA (on stdin) 19:27:41.471999 > 164 bytes data, server => client 19:27:41.472011 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.472021 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.472031 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.478106 < 6 bytes data, client => server 19:27:41.478266 'CAPA\r\n' 19:27:41.479191 Received DATA (on stdin) 19:27:41.479206 > 27 bytes data, server => client 19:27:41.479216 '-ERR Unrecognized command\r\n' 19:27:41.479318 < 21 bytes data, client => server 19:27:41.479332 'RETR verifiedserver\r\n' 19:27:41.479573 Received DATA (on stdin) 19:27:41.479585 > 26 bytes data, server => client 19:27:41.479595 '+OK Mail transfer starts\r\n' 19:27:41.479622 Received DATA (on stdin) 19:27:41.479633 > 18 bytes data, server => client 19:27:41.479643 'WE ROOLZ: 125253\r\n' 19:27:41.479656 Received DATA (on stdin) 19:27:41.479665 > 3 bytes data, server => client 19:27:41.479674 '.\r\n' 19:27:41.534936 < 6 bytes data, client => server 19:27:41.534966 'QUIT\r\n' 19:27:41.535187 Received DATA (on stdin) 19:27:41.535203 > 34 bytes data, server => client 19:27:41.535223 '+OK curl POP3 server signing off\r\n' 19:27:41.546102 ====> Client disconnect 19:27:41.546312 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM5NDEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==126874== ==126874== Process terminating with default action of signal 4 (SIGILL) ==126874== Illegal opcode at address 0x492B75F ==126874== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126874== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126874== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126874== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126874== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126874== by 0x49908EB: curl_version_info (version.c:600) ==126874== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126874== by 0x4003269: main (tool_main.c:195) === End of file valgrind889 test 0894 [POP3 with CR in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind894 ../src/curl -q --output log/23/curl894.out --include --trace-ascii log/23/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:45155/894 > log/23/stdout894 2> log/23/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/23/ directory after test 894 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind894 ../src/curl -q --output log/23/curl894.out --include --trace-ascii log/23/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:45155/894 > log/23/stdout894 2> log/23/stderr894 === End of file commands.log === Start of file pop3_server.log 19:27:42.185569 ====> Client connect 19:27:42.185768 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:42.186105 < "CAPA" 19:27:42.186149 > "-ERR Unrecognized command[CR][LF]" 19:27:42.186356 < "RETR verifiedserver" 19:27:42.186388 return proof we are we 19:27:42.186415 > "+OK Mail transfer starts[CR][LF]" 19:27:42.186441 > "WE ROOLZ: 124910[CR][LF]" 19:27:42.186463 > ".[CR][LF]" 19:27:42.232838 < "QUIT" 19:27:42.232901 > "+OK curl POP3 server signing off[CR][LF]" 19:27:42.233935 MAIN sockfilt said DISC 19:27:42.234040 ====> Client disconnected 19:27:42.234116 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.791631 ====> Client connect 19:27:41.791996 Received DATA (on stdin) 19:27:41.792013 > 164 bytes data, server => client 19:27:41.792025 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.792034 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.792044 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.792150 < 6 bytes data, client => server 19:27:41.792167 'CAPA\r\n' 19:27:41.792360 Received DATA (on stdin) 19:27:41.792372 > 27 bytes data, server => client 19:27:41.792383 '-ERR Unrecognized command\r\n' 19:27:41.792449 < 21 bytes data, client => server 19:27:41.792469 'RETR verifiedserver\r\n' 19:27:41.792676 Received DATA (on stdin) 19:27:41.792690 > 26 bytes data, server => client 19:27:41.792700 '+OK Mail transfer starts\r\n' 19:27:41.792726 Received DATA (on stdin) 19:27:41.792737 > 18 bytes data, server => client 19:27:41.792747 'WE ROOLZ: 124910\r\n' 19:27:41.792760 Received DATA (on stdin) 19:27:41.792770 > 3 bytes data, server => client 19:27:41.792779 '.\r\n' 19:27:41.838842 < 6 bytes data, client => server 19:27:41.838869 'QUIT\r\n' 19:27:41.839112 Received DATA (on stdin) 19:27:41.839125 > 34 bytes data, server => client 19:27:41.839136 '+OK curl POP3 server signing off\r\n' 19:27:41.840087 ====> Client disconnect 19:27:41.840326 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 894 === End of file server.cmd === Start of file valgrind894 ==127116== ==127116== Process terminating with default action of signal 4 (SIGILL) ==127116== Illegal opcode at address 0x492B75F ==127116== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127116== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127116== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127116== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127116== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127116== by 0x49908EB: curl_version_info (version.c:600) ==127116== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127116== by 0x4003269: main (tool_main.c:195) === End of file valgrind894 test 0892 [POP3 plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind892 ../src/curl -q --output log/7/curl892.out --include --trace-ascii log/7/trace892 --trace-time pop3://127.0.0.1:42105/892 -u user:secret --sasl-authzid shared-mailbox > log/7/stdout892 2> log/7/stderr892 892: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 892 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind892 ../src/curl -q --output log/7/curl892.out --include --trace-ascii log/7/trace892 --trace-time pop3://127.0.0.1:42105/892 -u user:secret --sasl-authzid shared-mailbox > log/7/stdout892 2> log/7/stderr892 === End of file commands.log === Start of file pop3_server.log 19:27:42.002648 ====> Client connect 19:27:42.002911 > " _ _ __CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind898 ../src/curl -q --output log/13/curl898.out --include --trace-ascii log/13/trace898 --trace-time -x http://127.0.0.1:38821 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/13/stdout898 2> log/13/stderr898 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind893 ../src/curl -q --output log/18/curl893.out --include --trace-ascii log/18/trace893 --trace-time pop3://127.0.0.1:41229/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout893 2> log/18/stderr893 __ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:42.003638 < "CAPA" 19:27:42.003700 > "-ERR Unrecognized command[CR][LF]" 19:27:42.005452 < "RETR verifiedserver" 19:27:42.005496 return proof we are we 19:27:42.005531 > "+OK Mail transfer starts[CR][LF]" 19:27:42.005556 > "WE ROOLZ: 125292[CR][LF]" 19:27:42.005574 > ".[CR][LF]" 19:27:42.055515 < "QUIT" 19:27:42.055607 > "+OK curl POP3 server signing off[CR][LF]" 19:27:42.060080 MAIN sockfilt said DISC 19:27:42.060153 ====> Client disconnected 19:27:42.060249 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:41.608728 ====> Client connect 19:27:41.609513 Received DATA (on stdin) 19:27:41.609536 > 164 bytes data, server => client 19:27:41.609548 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.609558 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.609567 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:41.609664 < 6 bytes data, client => server 19:27:41.609681 'CAPA\r\n' 19:27:41.610411 Received DATA (on stdin) 19:27:41.610429 > 27 bytes data, server => client 19:27:41.610441 '-ERR Unrecognized command\r\n' 19:27:41.610505 < 21 bytes data, client => server 19:27:41.610521 'RETR verifiedserver\r\n' 19:27:41.612149 Received DATA (on stdin) 19:27:41.612169 > 26 bytes data, server => client 19:27:41.612180 '+OK Mail transfer starts\r\n' 19:27:41.612209 Received DATA (on stdin) 19:27:41.612219 > 18 bytes data, server => client 19:27:41.612229 'WE ROOLZ: 125292\r\n' 19:27:41.612242 Received DATA (on stdin) 19:27:41.612251 > 3 bytes data, server => client 19:27:41.612261 '.\r\n' 19:27:41.658395 < 6 bytes data, client => server 19:27:41.658431 'QUIT\r\n' 19:27:41.664895 Received DATA (on stdin) 19:27:41.664954 > 34 bytes data, server => client 19:27:41.664967 '+OK curl POP3 server signing off\r\n' 19:27:41.666209 ====> Client disconnect 19:27:41.666491 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful Testnum 892 === End of file server.cmd === Start of file valgrind892 ==126958== ==126958== Process terminating with default action of signal 4 (SIGILL) ==126958== Illegal opcode at address 0x492B75F ==126958== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==126958== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==126958== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==126958== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==126958== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==126958== by 0x49908EB: curl_version_info (version.c:600) ==126958== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==126958== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==126958== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==126958== by 0x4003269: main (tool_main.c:195) === End of file valgrind892 test 0898 [HTTP with custom auth and cookies redirected to HTTP on a diff port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind898 ../src/curl -q --output log/13/curl898.out --include --trace-ascii log/13/trace898 --trace-time -x http://127.0.0.1:38821 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/13/stdout898 2> log/13/stderr898 898: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 898 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind898 ../src/curl -q --output log/13/curl898.out --include --trace-ascii log/13/trace898 --trace-time -x http://127.0.0.1:38821 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/13/stdout898 2> log/13/stderr898 === End of file commands.log === Start of file http_server.log 19:27:41.950218 ====> Client connect 19:27:41.950251 accept_connection 3 returned 4 19:27:41.950454 Read 93 bytes 19:27:41.950470 Process 93 bytes request 19:27:41.950481 Got request: GET /verifiedserver HTTP/1.1 19:27:41.950489 Are-we-friendly question received 19:27:41.950518 Wrote request (93 bytes) input to log/13/server.input 19:27:41.950533 Identifying ourselves as friends 19:27:41.950589 Response sent (56 bytes) and written to log/13/server.response 19:27:41.950598 special request received, no persistency 19:27:41.950605 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 898 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind898 ==127269== ==127269== Process terminating with default action of signal 4 (SIGILL) ==127269== Illegal opcode at address 0x492B75F ==127269== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127269== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127269== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127269== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127269== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127269== by 0x49908EB: curl_version_info (version.c:600) ==127269== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127269== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127269== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127269== by 0x4003269: main (tool_main.c:195) === End of file valgrind898 test 0893 [POP3 plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind893 ../src/curl -q --output log/18/curl893.out --include --trace-ascii log/18/trace893 --trace-time pop3://127.0.0.1:41229/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout893 2> log/18/stderr893 893: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 893 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind893 ../src/curl -q --output log/18/curl893.out --include --trace-ascii log/18/trace893 --trace-time pop3://127.0.0.1:41229/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout893 2> log/18/stderr893 === End of file commands.log === Start of file pop3_server.log 19:27:42.208392 ====> Client connect 19:27:42.208616 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:42.210544 < "CAPA" 19:27:42.210601 > "-ERR Unrecognized command[CR][LF]" 19:27:42.210811 < "RETR verifiedserver" 19:27:42.210847 return proof we are we 19:27:42.210873 > "+OK Mail transfer sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind896 ../src/curl -q --output log/14/curl896.out --include --trace-ascii log/14/trace896 --trace-time 'imap://127.0.0.1:40245/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/14/stdout896 2> log/14/stderr896 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind899 ../src/curl -q --output log/21/curl899.out --include --trace-ascii log/21/trace899 --trace-time http://first:secret@127.0.0.1:39881/899 -L > log/21/stdout899 2> log/21/stderr899 tarts[CR][LF]" 19:27:42.210898 > "WE ROOLZ: 125319[CR][LF]" 19:27:42.210915 > ".[CR][LF]" 19:27:42.257107 < "QUIT" 19:27:42.257165 > "+OK curl POP3 server signing off[CR][LF]" 19:27:42.258399 MAIN sockfilt said DISC 19:27:42.258429 ====> Client disconnected 19:27:42.258510 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:42.814455 ====> Client connect 19:27:42.814835 Received DATA (on stdin) 19:27:42.814859 > 164 bytes data, server => client 19:27:42.814869 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:42.814878 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:42.814887 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:42.814963 < 6 bytes data, client => server 19:27:42.814977 'CAPA\r\n' 19:27:42.816818 Received DATA (on stdin) 19:27:42.816832 > 27 bytes data, server => client 19:27:42.816843 '-ERR Unrecognized command\r\n' 19:27:42.816910 < 21 bytes data, client => server 19:27:42.816925 'RETR verifiedserver\r\n' 19:27:42.817122 Received DATA (on stdin) 19:27:42.817135 > 26 bytes data, server => client 19:27:42.817145 '+OK Mail transfer starts\r\n' 19:27:42.817167 Received DATA (on stdin) 19:27:42.817176 > 18 bytes data, server => client 19:27:42.817186 'WE ROOLZ: 125319\r\n' 19:27:42.817198 Received DATA (on stdin) 19:27:42.817207 > 3 bytes data, server => client 19:27:42.817216 '.\r\n' 19:27:42.863124 < 6 bytes data, client => server 19:27:42.863156 'QUIT\r\n' 19:27:42.863369 Received DATA (on stdin) 19:27:42.863379 > 34 bytes data, server => client 19:27:42.863389 '+OK curl POP3 server signing off\r\n' 19:27:42.864540 ====> Client disconnect 19:27:42.864708 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH PLAIN REPLY AUTH + REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized Testnum 893 === End of file server.cmd === Start of file valgrind893 ==127162== ==127162== Process terminating with default action of signal 4 (SIGILL) ==127162== Illegal opcode at address 0x492B75F ==127162== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127162== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127162== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127162== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127162== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127162== by 0x49908EB: curl_version_info (version.c:600) ==127162== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127162== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127162== by 0x4003269: main (tool_main.c:195) === End of file valgrind893 test 0896 [IMAP with --login-options 'AUTH=dummy' (failing)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind896 ../src/curl -q --output log/14/curl896.out --include --trace-ascii log/14/trace896 --trace-time 'imap://127.0.0.1:40245/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/14/stdout896 2> log/14/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/14/ directory after test 896 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind896 ../src/curl -q --output log/14/curl896.out --include --trace-ascii log/14/trace896 --trace-time 'imap://127.0.0.1:40245/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/14/stdout896 2> log/14/stderr896 === End of file commands.log === Start of file imap_server.log 19:27:42.315254 ====> Client connect 19:27:42.315462 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:42.315770 < "A001 CAPABILITY" 19:27:42.315811 > "A001 BAD Command[CR][LF]" 19:27:42.315988 < "A002 LIST "verifiedserver" *" 19:27:42.316015 LIST_imap got "verifiedserver" * 19:27:42.316041 > "* LIST () "/" "WE ROOLZ: 121906"[CR][LF]" 19:27:42.316059 > "A002 OK LIST Completed[CR][LF]" 19:27:42.316071 return proof we are we 19:27:42.362287 < "A003 LOGOUT" 19:27:42.362330 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:42.362344 > "A003 OK LOGOUT completed[CR][LF]" 19:27:42.363284 MAIN sockfilt said DISC 19:27:42.363318 ====> Client disconnected 19:27:42.363370 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:41.921323 ====> Client connect 19:27:41.921675 Received DATA (on stdin) 19:27:41.921690 > 164 bytes data, server => client 19:27:41.921700 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.921713 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.921722 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:41.921804 < 17 bytes data, client => server 19:27:41.921817 'A001 CAPABILITY\r\n' 19:27:41.922006 Received DATA (on stdin) 19:27:41.922017 > 18 bytes data, server => client 19:27:41.922026 'A001 BAD Command\r\n' 19:27:41.922085 < 30 bytes data, client => server 19:27:41.922096 'A002 LIST "verifiedserver" *\r\n' 19:27:41.922263 Received DATA (on stdin) 19:27:41.922272 > 34 bytes data, server => client 19:27:41.922281 '* LIST () "/" "WE ROOLZ: 121906"\r\n' 19:27:41.922302 Received DATA (on stdin) 19:27:41.922311 > 24 bytes data, server => client 19:27:41.922319 'A002 OK LIST Completed\r\n' 19:27:41.968333 < 13 bytes data, client => server 19:27:41.968354 'A003 LOGOUT\r\n' 19:27:41.968529 Received DATA (on stdin) 19:27:41.968537 > 36 bytes data, server => client 19:27:41.968544 '* BYE curl IMAP server signing off\r\n' 19:27:41.968562 Received DATA (on stdin) 19:27:41.968569 > 26 bytes data, server => client 19:27:41.968575 'A003 OK LOGOUT completed\r\n' 19:27:41.969420 ====> Client disconnect 19:27:41.969553 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 896 === End of file server.cmd === Start of file valgrind896 ==127291== ==127291== Process terminating with default action of signal 4 (SIGILL) ==127291== Illegal opcode at address 0x492B75F ==127291== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127291== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127291== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127291== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127291== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127291== by 0x49908EB: curl_version_info (version.c:600) ==127291== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127291== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127291== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127291== by 0x4003269: main (tool_main.c:195) === End of file valgrind896 test 0899 [URL with credentials redirects to URL with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind899 ../src/curl -q --output log/21/curl899.out --include --trace-ascii log/21/trace899 --trace-time http://first:secret@127.0.0.1:39881/899 -L > log/21/stdout899 2> log/21/stderr899 899: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 899 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind899 ../src/curl -q --output log/21/curl899.out --include --trace-ascii log/21/trace899 --trace-time http://first:secret@127.0.0.1:39881/899 -L > log/21/stdout899 2> log/21/stderr89CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind895 ../src/curl -q --output log/17/curl895.out --include --trace-ascii log/17/trace895 --trace-time 'imap://127.0.0.1:39883/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/17/stdout895 2> log/17/stderr895 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind897 ../src/curl -q --output log/10/curl897.out --include --trace-ascii log/10/trace897 --trace-time 'imap://127.0.0.1:43825/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/10/head-897 > log/10/stdout897 2> log/10/stderr897 9 === End of file commands.log === Start of file http_server.log 19:27:42.191572 ====> Client connect 19:27:42.191625 accept_connection 3 returned 4 19:27:42.191654 Read 93 bytes 19:27:42.191666 Process 93 bytes request 19:27:42.191680 Got request: GET /verifiedserver HTTP/1.1 19:27:42.191689 Are-we-friendly question received 19:27:42.191721 Wrote request (93 bytes) input to log/21/server.input 19:27:42.191740 Identifying ourselves as friends 19:27:42.198240 Response sent (56 bytes) and written to log/21/server.response 19:27:42.198258 special request received, no persistency 19:27:42.198267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 41696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 899 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind899 ==127499== ==127499== Process terminating with default action of signal 4 (SIGILL) ==127499== Illegal opcode at address 0x492B75F ==127499== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127499== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127499== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127499== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127499== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127499== by 0x49908EB: curl_version_info (version.c:600) ==127499== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127499== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127499== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127499== by 0x4003269: main (tool_main.c:195) === End of file valgrind899 test 0895 [IMAP with --login-options 'AUTH=*'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind895 ../src/curl -q --output log/17/curl895.out --include --trace-ascii log/17/trace895 --trace-time 'imap://127.0.0.1:39883/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/17/stdout895 2> log/17/stderr895 895: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 895 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind895 ../src/curl -q --output log/17/curl895.out --include --trace-ascii log/17/trace895 --trace-time 'imap://127.0.0.1:39883/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/17/stdout895 2> log/17/stderr895 === End of file commands.log === Start of file imap_server.log 19:27:42.318343 ====> Client connect 19:27:42.318502 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:42.318795 < "A001 CAPABILITY" 19:27:42.318839 > "A001 BAD Command[CR][LF]" 19:27:42.319017 < "A002 LIST "verifiedserver" *" 19:27:42.319047 LIST_imap got "verifiedserver" * 19:27:42.319074 > "* LIST () "/" "WE ROOLZ: 122784"[CR][LF]" 19:27:42.319092 > "A002 OK LIST Completed[CR][LF]" 19:27:42.319105 return proof we are we 19:27:42.363582 < "A003 LOGOUT" 19:27:42.363621 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:42.363635 > "A003 OK LOGOUT completed[CR][LF]" 19:27:42.364490 MAIN sockfilt said DISC 19:27:42.364522 ====> Client disconnected 19:27:42.364572 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:41.924443 ====> Client connect 19:27:41.924709 Received DATA (on stdin) 19:27:41.924724 > 164 bytes data, server => client 19:27:41.924733 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:41.924742 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:41.924750 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:41.924845 < 17 bytes data, client => server 19:27:41.924857 'A001 CAPABILITY\r\n' 19:27:41.925034 Received DATA (on stdin) 19:27:41.925045 > 18 bytes data, server => client 19:27:41.925054 'A001 BAD Command\r\n' 19:27:41.925110 < 30 bytes data, client => server 19:27:41.925121 'A002 LIST "verifiedserver" *\r\n' 19:27:41.925298 Received DATA (on stdin) 19:27:41.925308 > 34 bytes data, server => client 19:27:41.925317 '* LIST () "/" "WE ROOLZ: 122784"\r\n' 19:27:41.925338 Received DATA (on stdin) 19:27:41.925347 > 24 bytes data, server => client 19:27:41.925355 'A002 OK LIST Completed\r\n' 19:27:41.969645 < 13 bytes data, client => server 19:27:41.969658 'A003 LOGOUT\r\n' 19:27:41.969819 Received DATA (on stdin) 19:27:41.969827 > 36 bytes data, server => client 19:27:41.969834 '* BYE curl IMAP server signing off\r\n' 19:27:41.969850 Received DATA (on stdin) 19:27:41.969856 > 26 bytes data, server => client 19:27:41.969863 'A003 OK LOGOUT completed\r\n' 19:27:41.970629 ====> Client disconnect 19:27:41.970754 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 895 === End of file server.cmd === Start of file valgrind895 ==127290== ==127290== Process terminating with default action of signal 4 (SIGILL) ==127290== Illegal opcode at address 0x492B75F ==127290== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127290== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127290== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127290== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127290== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127290== by 0x49908EB: curl_version_info (version.c:600) ==127290== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127290== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127290== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127290== by 0x4003269: main (tool_main.c:195) === End of file valgrind895 test 0897 [IMAP and envelope meta data after body transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind897 ../src/curl -q --output log/10/curl897.out --include --trace-ascii log/10/trace897 --trace-time 'imap://127.0.0.1:43825/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/10/head-897 > log/10/stdout897 2> log/10/stderr897 897: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 897 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind897 ../src/curl -q --output log/10/curl897.out --include --trace-ascii log/10/trace897 --trace-time 'imap://127.0.0.1:43825/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/10/head-897 > log/10/stdout897 2> log/10/stderr897 === End of file commands.log === Start of file imap_server.log 19:27:42.321928 ====> Client connect 19:27:42.322251 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:42.322602 < "A001 CAPABILITY" 19:27:42.322641 > "A001 BAD Command[CR][CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind900 ../src/curl -q --output log/4/curl900.out --include --trace-ascii log/4/trace900 --trace-time smtp://127.0.0.1:32885/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/mail900 > log/4/stdout900 2> log/4/stderr900 LF]" 19:27:42.323114 < "A002 LIST "verifiedserver" *" 19:27:42.323146 LIST_imap got "verifiedserver" * 19:27:42.323173 > "* LIST () "/" "WE ROOLZ: 121977"[CR][LF]" 19:27:42.323195 > "A002 OK LIST Completed[CR][LF]" 19:27:42.323210 return proof we are we 19:27:42.372943 < "A003 LOGOUT" 19:27:42.373008 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:42.373030 > "A003 OK LOGOUT completed[CR][LF]" 19:27:42.374423 MAIN sockfilt said DISC 19:27:42.374465 ====> Client disconnected 19:27:42.374556 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:42.927995 ====> Client connect 19:27:42.928466 Received DATA (on stdin) 19:27:42.928482 > 164 bytes data, server => client 19:27:42.928493 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:42.928503 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:42.928513 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:42.928619 < 17 bytes data, client => server 19:27:42.928636 'A001 CAPABILITY\r\n' 19:27:42.928835 Received DATA (on stdin) 19:27:42.928846 > 18 bytes data, server => client 19:27:42.928856 'A001 BAD Command\r\n' 19:27:42.929201 < 30 bytes data, client => server 19:27:42.929217 'A002 LIST "verifiedserver" *\r\n' 19:27:42.929405 Received DATA (on stdin) 19:27:42.929418 > 34 bytes data, server => client 19:27:42.929429 '* LIST () "/" "WE ROOLZ: 121977"\r\n' 19:27:42.929453 Received DATA (on stdin) 19:27:42.929463 > 24 bytes data, server => client 19:27:42.929473 'A002 OK LIST Completed\r\n' 19:27:42.978608 < 13 bytes data, client => server 19:27:42.978643 'A003 LOGOUT\r\n' 19:27:42.979225 Received DATA (on stdin) 19:27:42.979242 > 36 bytes data, server => client 19:27:42.979253 '* BYE curl IMAP server signing off\r\n' 19:27:42.979284 Received DATA (on stdin) 19:27:42.979294 > 26 bytes data, server => client 19:27:42.979304 'A003 OK LOGOUT completed\r\n' 19:27:42.980548 ====> Client disconnect 19:27:42.980753 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd POSTFETCH extra stuff sent in the envelope after the body Testnum 897 === End of file server.cmd === Start of file valgrind897 ==127303== ==127303== Process terminating with default action of signal 4 (SIGILL) ==127303== Illegal opcode at address 0x492B75F ==127303== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127303== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127303== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127303== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127303== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127303== by 0x49908EB: curl_version_info (version.c:600) ==127303== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127303== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127303== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127303== by 0x4003269: main (tool_main.c:195) === End of file valgrind897 test 0900 [SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind900 ../src/curl -q --output log/4/curl900.out --include --trace-ascii log/4/trace900 --trace-time smtp://127.0.0.1:32885/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/mail900 > log/4/stdout900 2> log/4/stderr900 900: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind900 ../src/curl -q --output log/4/curl900.out --include --trace-ascii log/4/trace900 --trace-time smtp://127.0.0.1:32885/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/mail900 > log/4/stdout900 2> log/4/stderr900 === End of file commands.log === Start of file mail900 From: different To: another body 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind901 ../src/curl -q --output log/20/curl901.out --include --trace-ascii log/20/trace901 --trace-time smtp://127.0.0.1:44599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout901 2> log/20/stderr901 456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file mail900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 19:27:42.812126 ====> Client connect 19:27:42.812362 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:42.812738 < "EHLO verifiedserver" 19:27:42.812793 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:42.813006 < "HELP" 19:27:42.813043 > "214 WE ROOLZ: 113210[CR][LF]" 19:27:42.813059 return proof we are we 19:27:42.815472 < "QUIT" 19:27:42.815512 > "221 curl ESMTP server signing off[CR][LF]" 19:27:42.815790 MAIN sockfilt said DISC 19:27:42.815824 ====> Client disconnected 19:27:42.815899 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:42.418148 ====> Client connect 19:27:42.418526 Received DATA (on stdin) 19:27:42.418545 > 146 bytes data, server => client 19:27:42.418556 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:42.418574 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:42.418584 '220 \___|\___/|_| \_\_____|\r\n' 19:27:42.418679 < 21 bytes data, client => server 19:27:42.418696 'EHLO verifiedserver\r\n' 19:27:42.418945 Received DATA (on stdin) 19:27:42.418958 > 53 bytes data, server => client 19:27:42.418969 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:42.419037 < 6 bytes data, client => server 19:27:42.419051 'HELP\r\n' 19:27:42.419199 Received DATA (on stdin) 19:27:42.419210 > 22 bytes data, server => client 19:27:42.419219 '214 WE ROOLZ: 113210\r\n' 19:27:42.421493 < 6 bytes data, client => server 19:27:42.421513 'QUIT\r\n' 19:27:42.421660 Received DATA (on stdin) 19:27:42.421673 > 35 bytes data, server => client 19:27:42.421683 '221 curl ESMTP server signing off\r\n' 19:27:42.421867 ====> Client disconnect 19:27:42.422048 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind900 ==127577== ==127577== Process terminating with default action of signal 4 (SIGILL) ==127577== Illegal opcode at address 0x492B75F ==127577== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127577== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127577== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127577== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127577== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127577== by 0x49908EB: curl_version_info (version.c:600) ==127577== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127577== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127577== by 0x4003269: main (tool_main.c:195) === End of file valgrind900 test 0901 [SMTP with CRLF-dot-CRLF in data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind901 ../src/curl -q --output log/20/curl901.out --include --trace-ascii log/20/trace901 --trace-time smtp://127.0.0.1:44599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout901 2> log/20/stderr901 901: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind901 ../src/curl -q --output log/20/curl901.out --include --trace-ascii log/20/trace901 --trace-time smtp://127.0.0.1:44599/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout902 2> log/19/stderr902 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind904 ../src/curl -q --output log/6/curl904.out --include --trace-ascii log/6/trace904 --trace-time smtp://127.0.0.1:39499/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout904 2> log/6/stderr904 > log/20/stdout901 2> log/20/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 19:27:42.961188 ====> Client connect 19:27:42.961426 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:42.961783 < "EHLO verifiedserver" 19:27:42.961839 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:42.962048 < "HELP" 19:27:42.962091 > "214 WE ROOLZ: 113262[CR][LF]" 19:27:42.962108 return proof we are we 19:27:42.962373 < "QUIT" 19:27:42.962407 > "221 curl ESMTP server signing off[CR][LF]" 19:27:42.963554 MAIN sockfilt said DISC 19:27:42.963588 ====> Client disconnected 19:27:42.963667 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.567175 ====> Client connect 19:27:43.567571 Received DATA (on stdin) 19:27:43.567590 > 146 bytes data, server => client 19:27:43.567601 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:43.567611 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:43.567624 '220 \___|\___/|_| \_\_____|\r\n' 19:27:43.567715 < 21 bytes data, client => server 19:27:43.567727 'EHLO verifiedserver\r\n' 19:27:43.567968 Received DATA (on stdin) 19:27:43.567981 > 53 bytes data, server => client 19:27:43.567991 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:43.568053 < 6 bytes data, client => server 19:27:43.568064 'HELP\r\n' 19:27:43.568234 Received DATA (on stdin) 19:27:43.568246 > 22 bytes data, server => client 19:27:43.568257 '214 WE ROOLZ: 113262\r\n' 19:27:43.568367 < 6 bytes data, client => server 19:27:43.568383 'QUIT\r\n' 19:27:43.568535 Received DATA (on stdin) 19:27:43.568546 > 35 bytes data, server => client 19:27:43.568556 '221 curl ESMTP server signing off\r\n' 19:27:43.569617 ====> Client disconnect 19:27:43.569802 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-901 From: different To: another . . . body === End of file stdin-for-901 === Start of file valgrind901 ==127633== ==127633== Process terminating with default action of signal 4 (SIGILL) ==127633== Illegal opcode at address 0x492B75F ==127633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127633== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127633== by 0x49908EB: curl_version_info (version.c:600) ==127633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127633== by 0x4003269: main (tool_main.c:195) === End of file valgrind901 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/smtp_server.pid" --logfile "log/19/smtp_server.log" --logdir "log/19" --portfile "log/19/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33719 (log/19/server/smtp_server.port) RUN: SMTP server is PID 127656 port 33719 * pid smtp => 127656 127656 test 0902 [RFC821-only SMTP server (EHLO not supported)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind902 ../src/curl -q --output log/19/curl902.out --include --trace-ascii log/19/trace902 --trace-time smtp://127.0.0.1:33719/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout902 2> log/19/stderr902 902: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind902 ../src/curl -q --output log/19/curl902.out --include --trace-ascii log/19/trace902 --trace-time smtp://127.0.0.1:33719/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout902 2> log/19/stderr902 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 902 === End of file server.cmd === Start of file smtp_server.log 19:27:43.105713 SMTP server listens on port IPv4/33719 19:27:43.105811 logged pid 127656 in log/19/server/smtp_server.pid 19:27:43.105855 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.711181 Running IPv4 version 19:27:43.711608 Listening on port 33719 19:27:43.711661 Wrote pid 127692 to log/19/server/smtp_sockfilt.pid 19:27:43.711693 Wrote port 33719 to log/19/server/smtp_server.port 19:27:43.711715 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-902 From: different To: another body === End of file stdin-for-902 === Start of file valgrind902 ==127775== ==127775== Process terminating with default action of signal 4 (SIGILL) ==127775== Illegal opcode at address 0x492B75F ==127775== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127775== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127775== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127775== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127775== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127775== by 0x49908EB: curl_version_info (version.c:600) ==127775== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127775== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127775== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127775== by 0x4003269: main (tool_main.c:195) === End of file valgrind902 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/smtp_server.pid" --logfile "log/6/smtp_server.log" --logdir "log/6" --portfile "log/6/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 39499 (log/6/server/smtp_server.port) RUN: SMTP server is PID 127735 port 39499 * pid smtp => 127735 127735 test 0904 [SMTP login authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind904 ../src/curl -q --output log/6/curl904.out --include --trace-ascii log/6/trace904 --trace-time smtp://127.0.0.1:39499/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout904 2> log/6/stderr904 904: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind904 ../src/curl -q --output log/6/curl904.out --include --trace-ascii log/6/trace904 --trace-time smtp://127.0.0.1:39499/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/6/stdout904 2> log/6/stderr904 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 VXNlcm5hbWU6 REPLY dXNlcg== 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 904 === End of file server.cmd === Start of file smtp_server.log 19:27:43.592168 SMTP server listens on port IPv4/39499 19:27:43.592298 logged pid 127735 in log/6/seCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind919 ../src/curl -q --output log/14/curl919.out --include --trace-ascii log/14/trace919 --trace-time smtp://127.0.0.1:44025/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/14/stdout919 2> log/14/stderr919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind903 ../src/curl -q --output log/3/curl903.out --include --trace-ascii log/3/trace903 --trace-time smtp://127.0.0.1:38593/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout903 2> log/3/stderr903 rver/smtp_server.pid 19:27:43.592347 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.192082 Running IPv4 version 19:27:43.192172 Listening on port 39499 19:27:43.192211 Wrote pid 127745 to log/6/server/smtp_sockfilt.pid 19:27:43.192243 Wrote port 39499 to log/6/server/smtp_server.port 19:27:43.198047 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-904 mail body === End of file stdin-for-904 === Start of file valgrind904 ==127874== ==127874== Process terminating with default action of signal 4 (SIGILL) ==127874== Illegal opcode at address 0x492B75F ==127874== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127874== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127874== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127874== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127874== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127874== by 0x49908EB: curl_version_info (version.c:600) ==127874== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127874== by 0x4003269: main (tool_main.c:195) === End of file valgrind904 test 0919 [SMTP plain authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind919 ../src/curl -q --output log/14/curl919.out --include --trace-ascii log/14/trace919 --trace-time smtp://127.0.0.1:44025/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/14/stdout919 2> log/14/stderr919 919: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind919 ../src/curl -q --output log/14/curl919.out --include --trace-ascii log/14/trace919 --trace-time smtp://127.0.0.1:44025/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/14/stdout919 2> log/14/stderr919 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 235 Authenticated Testnum 919 === End of file server.cmd === Start of file smtp_server.log 19:27:44.522135 ====> Client connect 19:27:44.522369 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:44.525753 < "EHLO verifiedserver" 19:27:44.525828 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:44.526076 < "HELP" 19:27:44.526125 > "214 WE ROOLZ: 113204[CR][LF]" 19:27:44.526148 return proof we are we 19:27:44.526384 < "QUIT" 19:27:44.526423 > "221 curl ESMTP server signing off[CR][LF]" 19:27:44.527661 MAIN sockfilt said DISC 19:27:44.527694 ====> Client disconnected 19:27:44.527769 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.127970 ====> Client connect 19:27:44.128347 Received DATA (on stdin) 19:27:44.128366 > 146 bytes data, server => client 19:27:44.128383 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:44.128394 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:44.128403 '220 \___|\___/|_| \_\_____|\r\n' 19:27:44.131431 < 21 bytes data, client => server 19:27:44.131466 'EHLO verifiedserver\r\n' 19:27:44.131802 Received DATA (on stdin) 19:27:44.131818 > 53 bytes data, server => client 19:27:44.131829 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:44.131898 < 6 bytes data, client => server 19:27:44.131912 'HELP\r\n' 19:27:44.132106 Received DATA (on stdin) 19:27:44.132119 > 22 bytes data, server => client 19:27:44.132128 '214 WE ROOLZ: 113204\r\n' 19:27:44.132237 < 6 bytes data, client => server 19:27:44.132252 'QUIT\r\n' 19:27:44.132383 Received DATA (on stdin) 19:27:44.132395 > 35 bytes data, server => client 19:27:44.132405 '221 curl ESMTP server signing off\r\n' 19:27:44.133559 ====> Client disconnect 19:27:44.133732 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-919 mail body === End of file stdin-for-919 === Start of file valgrind919 ==127886== ==127886== Process terminating with default action of signal 4 (SIGILL) ==127886== Illegal opcode at address 0x492B75F ==127886== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127886== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127886== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127886== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127886== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127886== by 0x49908EB: curl_version_info (version.c:600) ==127886== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127886== by 0x4003269: main (tool_main.c:195) === End of file valgrind919 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/3/server/smtp_server.pid" --logfile "log/3/smtp_server.log" --logdir "log/3" --portfile "log/3/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38593 (log/3/server/smtp_server.port) RUN: SMTP server is PID 127734 port 38593 * pid smtp => 127734 127734 test 0903 [SMTP plain authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind903 ../src/curl -q --output log/3/curl903.out --include --trace-ascii log/3/trace903 --trace-time smtp://127.0.0.1:38593/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout903 2> log/3/stderr903 903: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 903 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind903 ../src/curl -q --output log/3/curl903.out --include --trace-ascii log/3/trace903 --trace-time smtp://127.0.0.1:38593/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/3/stdout903 2> log/3/stderr903 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 903 === End of file server.cmd === Start of file smtp_server.log 19:27:43.535512 SMTP server listens on port IPv4/38593 19:27:43.535673 logged pid 127734 in log/3/server/smtp_server.pid 19:27:43.535737 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.135571 Running IPv4 version 19:27:43.135688 Listening on port 38593 19:27:43.135733 Wrote pid 127741 to log/3/server/smtp_sockfilt.pid 19:27:43.135765 Wrote port 38593 to log/3/server/smtp_server.port 19:27:43.141392 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-903 mail body === End of file stdin-for-903 === Start of file valgrind903 ==127867== ==127867== Process terminating with default action of signal 4 (SIGILL) ==127867== Illegal opcode at address 0x492B75F ==127867== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127867== by 0x492C53A: cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind908 ../src/curl -q --output log/5/curl908.out --include --trace-ascii log/5/trace908 --trace-time smtp://127.0.0.1:44397/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout908 2> log/5/stderr908 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind909 ../src/curl -q --output log/2/curl909.out --include --trace-ascii log/2/trace909 --trace-time smtp://127.0.0.1:33505/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/test909.eml > log/2/stdout909 2> log/2/stderr909 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind905 ../src/curl -q --output log/22/curl905.out --include --trace-ascii log/22/trace905 --trace-time smtp://127.0.0.1:43827/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout905 2> log/22/stderr905 rl_mvsnprintf (mprintf.c:1257) ==127867== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127867== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127867== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127867== by 0x49908EB: curl_version_info (version.c:600) ==127867== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127867== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127867== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127867== by 0x4003269: main (tool_main.c:195) === End of file valgrind903 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/5/server/smtp_server.pid" --logfile "log/5/smtp_server.log" --logdir "log/5" --portfile "log/5/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44397 (log/5/server/smtp_server.port) RUN: SMTP server is PID 127748 port 44397 * pid smtp => 127748 127748 test 0908 [SMTP OAuth 2.0 (XOAUTH2) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind908 ../src/curl -q --output log/5/curl908.out --include --trace-ascii log/5/trace908 --trace-time smtp://127.0.0.1:44397/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout908 2> log/5/stderr908 908: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 908 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind908 ../src/curl -q --output log/5/curl908.out --include --trace-ascii log/5/trace908 --trace-time smtp://127.0.0.1:44397/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/5/stdout908 2> log/5/stderr908 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 908 === End of file server.cmd === Start of file smtp_server.log 19:27:43.779168 SMTP server listens on port IPv4/44397 19:27:43.779290 logged pid 127748 in log/5/server/smtp_server.pid 19:27:43.779329 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.384903 Running IPv4 version 19:27:43.385017 Listening on port 44397 19:27:43.385057 Wrote pid 127757 to log/5/server/smtp_sockfilt.pid 19:27:43.385088 Wrote port 44397 to log/5/server/smtp_server.port 19:27:43.385108 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-908 mail body === End of file stdin-for-908 === Start of file valgrind908 ==128030== ==128030== Process terminating with default action of signal 4 (SIGILL) ==128030== Illegal opcode at address 0x492B75F ==128030== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128030== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128030== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128030== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128030== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128030== by 0x49908EB: curl_version_info (version.c:600) ==128030== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128030== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128030== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128030== by 0x4003269: main (tool_main.c:195) === End of file valgrind908 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/2/server/smtp_server.pid" --logfile "log/2/smtp_server.log" --logdir "log/2" --portfile "log/2/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33505 (log/2/server/smtp_server.port) RUN: SMTP server is PID 127750 port 33505 * pid smtp => 127750 127750 test 0909 [SMTP without SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind909 ../src/curl -q --output log/2/curl909.out --include --trace-ascii log/2/trace909 --trace-time smtp://127.0.0.1:33505/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/test909.eml > log/2/stdout909 2> log/2/stderr909 909: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind909 ../src/curl -q --output log/2/curl909.out --include --trace-ascii log/2/trace909 --trace-time smtp://127.0.0.1:33505/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/2/test909.eml > log/2/stdout909 2> log/2/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 19:27:43.772265 SMTP server listens on port IPv4/33505 19:27:43.772381 logged pid 127750 in log/2/server/smtp_server.pid 19:27:43.772429 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.375756 Running IPv4 version 19:27:43.375853 Listening on port 33505 19:27:43.375892 Wrote pid 127754 to log/2/server/smtp_sockfilt.pid 19:27:43.375920 Wrote port 33505 to log/2/server/smtp_server.port 19:27:43.378184 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test909.eml From: different To: another body === End of file test909.eml === Start of file valgrind909 ==128029== ==128029== Process terminating with default action of signal 4 (SIGILL) ==128029== Illegal opcode at address 0x492B75F ==128029== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128029== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128029== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128029== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128029== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128029== by 0x49908EB: curl_version_info (version.c:600) ==128029== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128029== by 0x4003269: main (tool_main.c:195) === End of file valgrind909 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/22/server/smtp_server.pid" --logfile "log/22/smtp_server.log" --logdir "log/22" --portfile "log/22/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43827 (log/22/server/smtp_server.port) RUN: SMTP server is PID 127746 port 43827 * pid smtp => 127746 127746 test 0905 [SMTP CRAM-MD5 authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind905 ../src/curl -q --output log/22/curl905.out --include --trace-ascii log/22/trace905 --trace-time smtp://127.0.0.1:43827/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout905 2> log/22/stderr905 905: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 905 === Start of fileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44021/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:40147/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind905 ../src/curl -q --output log/22/curl905.out --include --trace-ascii log/22/trace905 --trace-time smtp://127.0.0.1:43827/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/22/stdout905 2> log/22/stderr905 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 PDE5NzIuOTg3NjU0MzIxQGN1cmw+ REPLY dXNlciA3MDMxNzI1NTk5ZmRiYjVkNDEyNjg5YWEzMjNlM2UwYg== 235 Authenticated Testnum 905 === End of file server.cmd === Start of file smtp_server.log 19:27:43.689321 SMTP server listens on port IPv4/43827 19:27:43.689454 logged pid 127746 in log/22/server/smtp_server.pid 19:27:43.689510 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:43.289279 Running IPv4 version 19:27:43.289389 Listening on port 43827 19:27:43.289435 Wrote pid 127747 to log/22/server/smtp_sockfilt.pid 19:27:43.289471 Wrote port 43827 to log/22/server/smtp_server.port 19:27:43.295222 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-905 mail body === End of file stdin-for-905 === Start of file valgrind905 ==127985== ==127985== Process terminating with default action of signal 4 (SIGILL) ==127985== Illegal opcode at address 0x492B75F ==127985== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==127985== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==127985== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==127985== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==127985== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==127985== by 0x49908EB: curl_version_info (version.c:600) ==127985== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==127985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==127985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==127985== by 0x4003269: main (tool_main.c:195) === End of file valgrind905 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/15/server/smtp_server.pid" --logfile "log/15/smtp_server.log" --logdir "log/15" --portfile "log/15/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44021 (log/15/server/smtp_server.port) RUN: SMTP server is PID 127773 port 44021 * pid smtp => 127773 127773 test 0910 [SMTP without terminating CRLF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44021/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 910: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind910 ../src/curl -q --output log/15/curl910.out --include --trace-ascii log/15/trace910 --trace-time smtp://127.0.0.1:44021/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/15/stdout910 2> log/15/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 19:27:44.068986 SMTP server listens on port IPv4/44021 19:27:44.069123 logged pid 127773 in log/15/server/smtp_server.pid 19:27:44.069179 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.672292 Running IPv4 version 19:27:44.672406 Listening on port 44021 19:27:44.672458 Wrote pid 127777 to log/15/server/smtp_sockfilt.pid 19:27:44.672499 Wrote port 44021 to log/15/server/smtp_server.port 19:27:44.674846 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-910 From: different To: another body === End of file stdin-for-910 === Start of file valgrind910 ==128218== ==128218== Process terminating with default action of signal 4 (SIGILL) ==128218== Illegal opcode at address 0x492B75F ==128218== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128218== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128218== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128218== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128218== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128218== by 0x49908EB: curl_version_info (version.c:600) ==128218== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128218== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128218== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128218== by 0x4003269: main (tool_main.c:195) === End of file valgrind910 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/smtp_server.pid" --logfile "log/24/smtp_server.log" --logdir "log/24" --portfile "log/24/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 40147 (log/24/server/smtp_server.port) RUN: SMTP server is PID 127811 port 40147 * pid smtp => 127811 127811 test 0912 [SMTP with SIZE support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:40147/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 912: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 912 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind912 ../src/curl -q --output log/24/curl912.out --include --trace-ascii log/24/trace912 --trace-time smtp://127.0.0.1:40147/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/test912.eml > log/24/stdout912 2> log/24/stderr912 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 912 === End of file server.cmd === Start of file smtp_server.log 19:27:44.273954 SMTP server listens on port IPv4/40147 19:27:44.274066 logged pid 127811 in log/24/server/smtp_server.pid 19:27:44.275852 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.879369 Running IPv4 version 19:27:44.879452 Listening on port 40147 19:27:44.879496 Wrote pid 127835 to log/24/server/smtp_sockfilt.pid 19:27:44.879527 Wrote port 40147 to log/24/server/smtp_server.port 19:27:44.879827 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test912.eml From: different To: another body === End of file test912.eml === Start of file valgrind912 ==128324== ==128324== Process terminating with default action of signal 4 (SIGILL) ==128324== Illegal opcode at address 0x492B75F ==128324== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128324== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128324== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128324== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128324== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128324== by 0x49908EB: curl_version_info (versCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:44813/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/stderr914 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind917 ../src/curl -q --output log/13/curl917.out --include --trace-ascii log/13/trace917 --trace-time smtp://127.0.0.1:45003/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/13/stdout917 2> log/13/stderr917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind924 ../src/curl -q --output log/4/curl924.out --include --trace-ascii log/4/trace924 --trace-time smtp://127.0.0.1:32885/924 --mail-rcpt smith > log/4/stdout924 2> log/4/stderr924 ion.c:600) ==128324== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128324== by 0x4003269: main (tool_main.c:195) === End of file valgrind912 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/9/server/smtp_server.pid" --logfile "log/9/smtp_server.log" --logdir "log/9" --portfile "log/9/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 44813 (log/9/server/smtp_server.port) RUN: SMTP server is PID 127818 port 44813 * pid smtp => 127818 127818 test 0914 [SMTP invalid --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:44813/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/stderr914 914: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind914 ../src/curl -q --output log/9/curl914.out --include --trace-ascii log/9/trace914 --trace-time smtp://127.0.0.1:44813/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/9/test914.eml > log/9/stdout914 2> log/9/stderr914 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 914 === End of file server.cmd === Start of file smtp_server.log 19:27:44.293506 SMTP server listens on port IPv4/44813 19:27:44.293623 logged pid 127818 in log/9/server/smtp_server.pid 19:27:44.293679 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.898908 Running IPv4 version 19:27:44.899092 Listening on port 44813 19:27:44.899140 Wrote pid 127839 to log/9/server/smtp_sockfilt.pid 19:27:44.899177 Wrote port 44813 to log/9/server/smtp_server.port 19:27:44.899372 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test914.eml From: different To: another body === End of file test914.eml === Start of file valgrind914 ==128355== ==128355== Process terminating with default action of signal 4 (SIGILL) ==128355== Illegal opcode at address 0x492B75F ==128355== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128355== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128355== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128355== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128355== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128355== by 0x49908EB: curl_version_info (version.c:600) ==128355== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128355== by 0x4003269: main (tool_main.c:195) === End of file valgrind914 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/smtp_server.pid" --logfile "log/13/smtp_server.log" --logdir "log/13" --portfile "log/13/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45003 (log/13/server/smtp_server.port) RUN: SMTP server is PID 127845 port 45003 * pid smtp => 127845 127845 test 0917 [SMTP with multiple --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind917 ../src/curl -q --output log/13/curl917.out --include --trace-ascii log/13/trace917 --trace-time smtp://127.0.0.1:45003/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/13/stdout917 2> log/13/stderr917 917: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind917 ../src/curl -q --output log/13/curl917.out --include --trace-ascii log/13/trace917 --trace-time smtp://127.0.0.1:45003/917 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/13/stdout917 2> log/13/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 19:27:44.409916 SMTP server listens on port IPv4/45003 19:27:44.410028 logged pid 127845 in log/13/server/smtp_server.pid 19:27:44.410076 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.012516 Running IPv4 version 19:27:44.012611 Listening on port 45003 19:27:44.012655 Wrote pid 127848 to log/13/server/smtp_sockfilt.pid 19:27:44.012688 Wrote port 45003 to log/13/server/smtp_server.port 19:27:44.012709 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-917 From: different To: another body === End of file stdin-for-917 === Start of file valgrind917 ==128559== ==128559== Process terminating with default action of signal 4 (SIGILL) ==128559== Illegal opcode at address 0x492B75F ==128559== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128559== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128559== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128559== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128559== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128559== by 0x49908EB: curl_version_info (version.c:600) ==128559== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128559== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128559== by 0x4003269: main (tool_main.c:195) === End of file valgrind917 test 0924 [SMTP ambiguous VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind924 ../src/curl -q --output log/4/curl924.out --include --trace-ascii log/4/trace924 --trace-time smtp://127.0.0.1:32885/924 --mail-rcpt smith > log/4/stdout924 2> log/4/stderr924 924: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 924 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind924 ../src/curl -q --output log/4/curl924.out --include --trace-ascii log/4/trace924 --trace-time smtp://127.0.0.1:32885/924 --mail-rcpt smith > log/4/stdout924 2> log/4/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 19:27:44.925471 ====> Client connect 19:27:44.925672 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind918 ../src/curl -q --output log/18/curl918.out --include --trace-ascii log/18/trace918 --trace-time smtp://127.0.0.1:33075/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/18/stdout918 2> log/18/stderr918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind925 ../src/curl -q --output log/20/curl925.out --include --trace-ascii log/20/trace925 --trace-time smtp://127.0.0.1:44599/925 --mail-rcpt user@example.net > log/20/stdout925 2> log/20/stderr925 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind911 ../src/curl -q --output log/16/curl911.out --include --trace-ascii log/16/trace911 --trace-time smtp://127.0.0.1:33205/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout911 2> log/16/stderr911 |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:44.932266 < "EHLO verifiedserver" 19:27:44.932334 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:44.938877 < "HELP" 19:27:44.938938 > "214 WE ROOLZ: 113210[CR][LF]" 19:27:44.938960 return proof we are we 19:27:44.942799 < "QUIT" 19:27:44.942899 > "221 curl ESMTP server signing off[CR][LF]" 19:27:44.944335 MAIN sockfilt said DISC 19:27:44.944375 ====> Client disconnected 19:27:44.944454 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.531251 ====> Client connect 19:27:44.531615 Received DATA (on stdin) 19:27:44.531632 > 146 bytes data, server => client 19:27:44.531644 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:44.531654 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:44.531663 '220 \___|\___/|_| \_\_____|\r\n' 19:27:44.537920 < 21 bytes data, client => server 19:27:44.537957 'EHLO verifiedserver\r\n' 19:27:44.538263 Received DATA (on stdin) 19:27:44.538279 > 53 bytes data, server => client 19:27:44.538290 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:44.544585 < 6 bytes data, client => server 19:27:44.544620 'HELP\r\n' 19:27:44.544879 Received DATA (on stdin) 19:27:44.544893 > 22 bytes data, server => client 19:27:44.544904 '214 WE ROOLZ: 113210\r\n' 19:27:44.548522 < 6 bytes data, client => server 19:27:44.548549 'QUIT\r\n' 19:27:44.548747 Received DATA (on stdin) 19:27:44.548761 > 35 bytes data, server => client 19:27:44.548818 '221 curl ESMTP server signing off\r\n' 19:27:44.550188 ====> Client disconnect 19:27:44.550368 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==128188== ==128188== Process terminating with default action of signal 4 (SIGILL) ==128188== Illegal opcode at address 0x492B75F ==128188== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128188== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128188== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128188== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128188== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128188== by 0x49908EB: curl_version_info (version.c:600) ==128188== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128188== by 0x4003269: main (tool_main.c:195) === End of file valgrind924 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/18/server/smtp_server.pid" --logfile "log/18/smtp_server.log" --logdir "log/18" --portfile "log/18/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33075 (log/18/server/smtp_server.port) RUN: SMTP server is PID 127847 port 33075 * pid smtp => 127847 127847 test 0918 [SMTP with multiple and invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind918 ../src/curl -q --output log/18/curl918.out --include --trace-ascii log/18/trace918 --trace-time smtp://127.0.0.1:33075/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/18/stdout918 2> log/18/stderr918 918: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind918 ../src/curl -q --output log/18/curl918.out --include --trace-ascii log/18/trace918 --trace-time smtp://127.0.0.1:33075/918 --mail-rcpt recipient.one@example.com --mail-rcpt invalid --mail-rcpt recipient.three@example.com --mail-rcpt sTrAnGe --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/18/stdout918 2> log/18/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 19:27:44.463753 SMTP server listens on port IPv4/33075 19:27:44.463867 logged pid 127847 in log/18/server/smtp_server.pid 19:27:44.463916 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.069247 Running IPv4 version 19:27:44.069358 Listening on port 33075 19:27:44.069401 Wrote pid 127856 to log/18/server/smtp_sockfilt.pid 19:27:44.069431 Wrote port 33075 to log/18/server/smtp_server.port 19:27:44.069602 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-918 From: different To: another body === End of file stdin-for-918 === Start of file valgrind918 ==128579== ==128579== Process terminating with default action of signal 4 (SIGILL) ==128579== Illegal opcode at address 0x492B75F ==128579== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128579== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128579== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128579== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128579== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128579== by 0x49908EB: curl_version_info (version.c:600) ==128579== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128579== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128579== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128579== by 0x4003269: main (tool_main.c:195) === End of file valgrind918 test 0925 [SMTP external VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind925 ../src/curl -q --output log/20/curl925.out --include --trace-ascii log/20/trace925 --trace-time smtp://127.0.0.1:44599/925 --mail-rcpt user@example.net > log/20/stdout925 2> log/20/stderr925 925: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 925 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind925 ../src/curl -q --output log/20/curl925.out --include --trace-ascii log/20/trace925 --trace-time smtp://127.0.0.1:44599/925 --mail-rcpt user@example.net > log/20/stdout925 2> log/20/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 19:27:45.170150 ====> Client connect 19:27:45.170333 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:45.170612 < "EHLO verifiedserver" 19:27:45.170650 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:45.170813 < "HELP" 19:27:45.170842 > "214 WE ROOLZ: 113262[CR][LF]" 19:27:45.170856 return proof we are we 19:27:45.171059 < "QUIT" 19:27:45.171085 > "221 curl ESMTP server signing off[CR][LF]" 19:27:45.172152 MAIN sockfilt said DISC 19:27:45.172181 ====> Client disconnected 19:27:45.172247 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:45.775903 ====> Client connect 19:27:45.776235 Received DATA (on stdin) 19:27:45.776249 > 146 bytes data, server => client 19:27:45.776260 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:45.776270 '0- / __| | | | |_) | |\r\n220- | (__| |_|CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind916 ../src/curl -q --output log/7/curl916.out --include --trace-ascii log/7/trace916 --trace-time smtp://127.0.0.1:33449/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/7/stdout916 2> log/7/stderr916 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind913 ../src/curl -q --output log/1/curl913.out --include --trace-ascii log/1/trace913 --trace-time smtp://127.0.0.1:42673/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/1/test913.eml > log/1/stdout913 2> log/1/stderr913 | _ {| |___\r\n' 19:27:45.776279 '220 \___|\___/|_| \_\_____|\r\n' 19:27:45.776351 < 21 bytes data, client => server 19:27:45.776361 'EHLO verifiedserver\r\n' 19:27:45.776540 Received DATA (on stdin) 19:27:45.776550 > 53 bytes data, server => client 19:27:45.776561 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:45.776616 < 6 bytes data, client => server 19:27:45.776625 'HELP\r\n' 19:27:45.776740 Received DATA (on stdin) 19:27:45.776750 > 22 bytes data, server => client 19:27:45.776759 '214 WE ROOLZ: 113262\r\n' 19:27:45.776866 < 6 bytes data, client => server 19:27:45.776876 'QUIT\r\n' 19:27:45.776970 Received DATA (on stdin) 19:27:45.776979 > 35 bytes data, server => client 19:27:45.776989 '221 curl ESMTP server signing off\r\n' 19:27:45.777992 ====> Client disconnect 19:27:45.778133 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==128302== ==128302== Process terminating with default action of signal 4 (SIGILL) ==128302== Illegal opcode at address 0x492B75F ==128302== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128302== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128302== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128302== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128302== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128302== by 0x49908EB: curl_version_info (version.c:600) ==128302== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128302== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128302== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128302== by 0x4003269: main (tool_main.c:195) === End of file valgrind925 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/16/server/smtp_server.pid" --logfile "log/16/smtp_server.log" --logdir "log/16" --portfile "log/16/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33205 (log/16/server/smtp_server.port) RUN: SMTP server is PID 127808 port 33205 * pid smtp => 127808 127808 test 0911 [SMTP with no mail data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind911 ../src/curl -q --output log/16/curl911.out --include --trace-ascii log/16/trace911 --trace-time smtp://127.0.0.1:33205/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout911 2> log/16/stderr911 911: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind911 ../src/curl -q --output log/16/curl911.out --include --trace-ascii log/16/trace911 --trace-time smtp://127.0.0.1:33205/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/16/stdout911 2> log/16/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 19:27:44.245093 SMTP server listens on port IPv4/33205 19:27:44.245216 logged pid 127808 in log/16/server/smtp_server.pid 19:27:44.245263 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.839160 Running IPv4 version 19:27:44.839366 Listening on port 33205 19:27:44.839412 Wrote pid 127824 to log/16/server/smtp_sockfilt.pid 19:27:44.839445 Wrote port 33205 to log/16/server/smtp_server.port 19:27:44.840556 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==128313== ==128313== Process terminating with default action of signal 4 (SIGILL) ==128313== Illegal opcode at address 0x492B75F ==128313== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128313== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128313== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128313== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128313== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128313== by 0x49908EB: curl_version_info (version.c:600) ==128313== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128313== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128313== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128313== by 0x4003269: main (tool_main.c:195) === End of file valgrind911 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/1/server/smtp_server.pid" --logfile "log/1/smtp_server.log" --logdir "log/1" --portfile "log/1/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42673 (log/1/server/smtp_server.port) RUN: SMTP server is PID 127810 port 42673 * pid smtp => 127810 127810 test 0913 [SMTP with large message SIZE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind913 ../src/curl -q --output log/1/curl913.out --include --trace-ascii log/1/trace913 --trace-time smtp://127.0.0.1:42673/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/1/test913.eml > log/1/stdout913 2> log/1/stderr913 913: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind913 ../src/curl -q --output log/1/curl913.out --include --trace-ascii log/1/trace913 --trace-time smtp://127.0.0.1:42673/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/1/test913.eml > log/1/stdout913 2> log/1/stderr913 === End of file commands.log === Start of file server.cmd CAPA "SIZE 32" Testnum 913 === End of file server.cmd === Start of file smtp_server.log 19:27:44.273800 SMTP server listens on port IPv4/42673 19:27:44.273945 logged pid 127810 in log/1/server/smtp_server.pid 19:27:44.274017 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.877825 Running IPv4 version 19:27:44.877928 Listening on port 42673 19:27:44.879579 Wrote pid 127834 to log/1/server/smtp_sockfilt.pid 19:27:44.879614 Wrote port 42673 to log/1/server/smtp_server.port 19:27:44.879638 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file test913.eml From: different To: another body === End of file test913.eml === Start of file valgrind913 ==128322== ==128322== Process terminating with default action of signal 4 (SIGILL) ==128322== Illegal opcode at address 0x492B75F ==128322== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128322== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128322== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128322== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128322== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128322== by 0x49908EB: curl_version_info (version.c:600) ==128322== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128322== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128322== by 0x4003269: main (tool_main.c:195) === End of file valgrind913 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/smtp_server.pid" --logfile "log/7/smtp_server.log" --logdir "log/7" --portfile "log/7/server/smtp_server.port" --srcdir "/startdir/src/curlCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind922 ../src/curl -q --output log/17/curl922.out --include --trace-ascii log/17/trace922 --trace-time smtp://127.0.0.1:43791/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/17/stdout922 2> log/17/stderr922 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind915 ../src/curl -q --output log/23/curl915.out --include --trace-ascii log/23/trace915 --trace-time smtp://127.0.0.1:38615/915 --mail-rcpt recipient@example.com -T - log/23/stdout915 2> log/23/stderr915 /tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 33449 (log/7/server/smtp_server.port) RUN: SMTP server is PID 127841 port 33449 * pid smtp => 127841 127841 test 0916 [SMTP with invalid --mail-rcpt] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind916 ../src/curl -q --output log/7/curl916.out --include --trace-ascii log/7/trace916 --trace-time smtp://127.0.0.1:33449/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/7/stdout916 2> log/7/stderr916 916: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind916 ../src/curl -q --output log/7/curl916.out --include --trace-ascii log/7/trace916 --trace-time smtp://127.0.0.1:33449/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/7/stdout916 2> log/7/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 19:27:44.377196 SMTP server listens on port IPv4/33449 19:27:44.377302 logged pid 127841 in log/7/server/smtp_server.pid 19:27:44.377352 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.982689 Running IPv4 version 19:27:44.982792 Listening on port 33449 19:27:44.982834 Wrote pid 127846 to log/7/server/smtp_sockfilt.pid 19:27:44.982874 Wrote port 33449 to log/7/server/smtp_server.port 19:27:44.983056 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-916 From: different To: another body === End of file stdin-for-916 === Start of file valgrind916 ==128472== ==128472== Process terminating with default action of signal 4 (SIGILL) ==128472== Illegal opcode at address 0x492B75F ==128472== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128472== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128472== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128472== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128472== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128472== by 0x49908EB: curl_version_info (version.c:600) ==128472== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128472== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128472== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128472== by 0x4003269: main (tool_main.c:195) === End of file valgrind916 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/17/server/smtp_server.pid" --logfile "log/17/smtp_server.log" --logdir "log/17" --portfile "log/17/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 43791 (log/17/server/smtp_server.port) RUN: SMTP server is PID 127892 port 43791 * pid smtp => 127892 127892 test 0922 [SMTP OAuth 2.0 (XOAUTH2) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind922 ../src/curl -q --output log/17/curl922.out --include --trace-ascii log/17/trace922 --trace-time smtp://127.0.0.1:43791/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/17/stdout922 2> log/17/stderr922 922: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 922 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind922 ../src/curl -q --output log/17/curl922.out --include --trace-ascii log/17/trace922 --trace-time smtp://127.0.0.1:43791/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/17/stdout922 2> log/17/stderr922 === End of file commands.log === Start of file server.cmd AUTH XOAUTH2 REPLY AUTH 235 Authenticated Testnum 922 === End of file server.cmd === Start of file smtp_server.log 19:27:44.622307 SMTP server listens on port IPv4/43791 19:27:44.622425 logged pid 127892 in log/17/server/smtp_server.pid 19:27:44.622469 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.224036 Running IPv4 version 19:27:44.224142 Listening on port 43791 19:27:44.224189 Wrote pid 127949 to log/17/server/smtp_sockfilt.pid 19:27:44.224222 Wrote port 43791 to log/17/server/smtp_server.port 19:27:44.228105 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-922 mail body === End of file stdin-for-922 === Start of file valgrind922 ==128783== ==128783== Process terminating with default action of signal 4 (SIGILL) ==128783== Illegal opcode at address 0x492B75F ==128783== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128783== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128783== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128783== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128783== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128783== by 0x49908EB: curl_version_info (version.c:600) ==128783== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128783== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128783== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128783== by 0x4003269: main (tool_main.c:195) === End of file valgrind922 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/23/server/smtp_server.pid" --logfile "log/23/smtp_server.log" --logdir "log/23" --portfile "log/23/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 38615 (log/23/server/smtp_server.port) RUN: SMTP server is PID 127840 port 38615 * pid smtp => 127840 127840 test 0915 [SMTP without --mail-from] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind915 ../src/curl -q --output log/23/curl915.out --include --trace-ascii log/23/trace915 --trace-time smtp://127.0.0.1:38615/915 --mail-rcpt recipient@example.com -T - log/23/stdout915 2> log/23/stderr915 915: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 915 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind915 ../src/curl -q --output log/23/curl915.out --include --trace-ascii log/23/trace915 --trace-time smtp://127.0.0.1:38615/915 --mail-rcpt recipient@example.com -T - log/23/stdout915 2> log/23/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 19:27:44.356404 SMTP server listens on port IPv4/38615 19:27:44.356490 logged pid 127840 in log/23/server/smtp_server.pid 19:27:44.356529 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.962110 Running IPv4 version 19:27:44.962200 Listening on port 38615 19:27:44.962233 Wrote pid 127843 to CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind923 ../src/curl -q --output log/10/curl923.out --include --trace-ascii log/10/trace923 --trace-time smtp://127.0.0.1:45391/923 --mail-rcpt recipient > log/10/stdout923 2> log/10/stderr923 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind920 ../src/curl -q --output log/21/curl920.out --include --trace-ascii log/21/trace920 --trace-time smtp://127.0.0.1:36859/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/21/stdout920 2> log/21/stderr920 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind926 ../src/curl -q --output log/19/curl926.out --include --trace-ascii log/19/trace926 --trace-time smtp://127.0.0.1:33719/926 --mail-rcpt recipient > log/19/stdout926 2> log/19/stderr926 log/23/server/smtp_sockfilt.pid 19:27:44.962259 Wrote port 38615 to log/23/server/smtp_server.port 19:27:44.962278 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-915 From: different To: another body === End of file stdin-for-915 === Start of file valgrind915 ==128451== ==128451== Process terminating with default action of signal 4 (SIGILL) ==128451== Illegal opcode at address 0x492B75F ==128451== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128451== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128451== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128451== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128451== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128451== by 0x49908EB: curl_version_info (version.c:600) ==128451== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128451== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128451== by 0x4003269: main (tool_main.c:195) === End of file valgrind915 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/10/server/smtp_server.pid" --logfile "log/10/smtp_server.log" --logdir "log/10" --portfile "log/10/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45391 (log/10/server/smtp_server.port) RUN: SMTP server is PID 127917 port 45391 * pid smtp => 127917 127917 test 0923 [SMTP VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind923 ../src/curl -q --output log/10/curl923.out --include --trace-ascii log/10/trace923 --trace-time smtp://127.0.0.1:45391/923 --mail-rcpt recipient > log/10/stdout923 2> log/10/stderr923 923: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 923 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind923 ../src/curl -q --output log/10/curl923.out --include --trace-ascii log/10/trace923 --trace-time smtp://127.0.0.1:45391/923 --mail-rcpt recipient > log/10/stdout923 2> log/10/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 19:27:44.639739 SMTP server listens on port IPv4/45391 19:27:44.639853 logged pid 127917 in log/10/server/smtp_server.pid 19:27:44.639903 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.245365 Running IPv4 version 19:27:44.245463 Listening on port 45391 19:27:44.245511 Wrote pid 127962 to log/10/server/smtp_sockfilt.pid 19:27:44.245546 Wrote port 45391 to log/10/server/smtp_server.port 19:27:44.245567 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==128794== ==128794== Process terminating with default action of signal 4 (SIGILL) ==128794== Illegal opcode at address 0x492B75F ==128794== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128794== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128794== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128794== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128794== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128794== by 0x49908EB: curl_version_info (version.c:600) ==128794== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128794== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128794== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128794== by 0x4003269: main (tool_main.c:195) === End of file valgrind923 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/21/server/smtp_server.pid" --logfile "log/21/smtp_server.log" --logdir "log/21" --portfile "log/21/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36859 (log/21/server/smtp_server.port) RUN: SMTP server is PID 127888 port 36859 * pid smtp => 127888 127888 test 0920 [SMTP login authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind920 ../src/curl -q --output log/21/curl920.out --include --trace-ascii log/21/trace920 --trace-time smtp://127.0.0.1:36859/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/21/stdout920 2> log/21/stderr920 920: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 920 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind920 ../src/curl -q --output log/21/curl920.out --include --trace-ascii log/21/trace920 --trace-time smtp://127.0.0.1:36859/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/21/stdout920 2> log/21/stderr920 === End of file commands.log === Start of file server.cmd AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY c2VjcmV0 235 Authenticated Testnum 920 === End of file server.cmd === Start of file smtp_server.log 19:27:44.601937 SMTP server listens on port IPv4/36859 19:27:44.602052 logged pid 127888 in log/21/server/smtp_server.pid 19:27:44.602099 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:44.207420 Running IPv4 version 19:27:44.207531 Listening on port 36859 19:27:44.207578 Wrote pid 127928 to log/21/server/smtp_sockfilt.pid 19:27:44.207613 Wrote port 36859 to log/21/server/smtp_server.port 19:27:44.207784 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-920 mail body === End of file stdin-for-920 === Start of file valgrind920 ==128763== ==128763== Process terminating with default action of signal 4 (SIGILL) ==128763== Illegal opcode at address 0x492B75F ==128763== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128763== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128763== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128763== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128763== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128763== by 0x49908EB: curl_version_info (version.c:600) ==128763== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128763== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128763== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128763== by 0x4003269: main (tool_main.c:195) === End of file valgrind920 test 0926 [SMTP unknown user VRFY] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind926 ../src/curl -q --output log/19/curl926.out --include --trace-ascii log/19/trace926 --trace-time smtp://127.0.0.1:33719/926 --mail-rcpt recipient > log/19/stdout926 2> log/19/stderr926 926: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 926 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind926 ../src/curl -q --output log/19/curl926.out --include --trace-ascii loCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind928 ../src/curl -q --output log/14/curl928.out --include --trace-ascii log/14/trace928 --trace-time smtp://127.0.0.1:44025/928 > log/14/stdout928 2> log/14/stderr928 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind927 ../src/curl -q --output log/6/curl927.out --include --trace-ascii log/6/trace927 --trace-time smtp://127.0.0.1:39499/927 --mail-rcpt Friends -X EXPN > log/6/stdout927 2> log/6/stderr927 g/19/trace926 --trace-time smtp://127.0.0.1:33719/926 --mail-rcpt recipient > log/19/stdout926 2> log/19/stderr926 === End of file commands.log === Start of file server.cmd REPLY VRFY 550 Unknown user Testnum 926 === End of file server.cmd === Start of file smtp_server.log 19:27:45.908702 ====> Client connect 19:27:45.908985 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:45.909438 < "EHLO verifiedserver" 19:27:45.909478 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:45.909631 < "HELP" 19:27:45.909658 > "214 WE ROOLZ: 127656[CR][LF]" 19:27:45.909670 return proof we are we 19:27:45.909865 < "QUIT" 19:27:45.909891 > "221 curl ESMTP server signing off[CR][LF]" 19:27:45.911070 MAIN sockfilt said DISC 19:27:45.911099 ====> Client disconnected 19:27:45.911169 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:46.506365 ====> Client connect 19:27:46.514889 Received DATA (on stdin) 19:27:46.514916 > 146 bytes data, server => client 19:27:46.514931 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:46.514940 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:46.514948 '220 \___|\___/|_| \_\_____|\r\n' 19:27:46.515087 < 21 bytes data, client => server 19:27:46.515097 'EHLO verifiedserver\r\n' 19:27:46.515291 Received DATA (on stdin) 19:27:46.515301 > 53 bytes data, server => client 19:27:46.515310 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:46.515363 < 6 bytes data, client => server 19:27:46.515372 'HELP\r\n' 19:27:46.515477 Received DATA (on stdin) 19:27:46.515486 > 22 bytes data, server => client 19:27:46.515494 '214 WE ROOLZ: 127656\r\n' 19:27:46.515594 < 6 bytes data, client => server 19:27:46.515604 'QUIT\r\n' 19:27:46.515699 Received DATA (on stdin) 19:27:46.515707 > 35 bytes data, server => client 19:27:46.515716 '221 curl ESMTP server signing off\r\n' 19:27:46.516827 ====> Client disconnect 19:27:46.516980 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==128971== ==128971== Process terminating with default action of signal 4 (SIGILL) ==128971== Illegal opcode at address 0x492B75F ==128971== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==128971== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==128971== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==128971== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==128971== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==128971== by 0x49908EB: curl_version_info (version.c:600) ==128971== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==128971== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==128971== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==128971== by 0x4003269: main (tool_main.c:195) === End of file valgrind926 test 0927 [SMTP mailing list EXPN (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind927 ../src/curl -q --output log/6/curl927.out --include --trace-ascii log/6/trace927 --trace-time smtp://127.0.0.1:39499/927 --mail-rcpt Friends -X EXPN > log/6/stdout927 2> log/6/stderr927 927: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 927 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind927 ../src/curl -q --output log/6/curl927.out --include --trace-ascii log/6/trace927 --trace-time smtp://127.0.0.1:39499/927 --mail-rcpt Friends -X EXPN > log/6/stdout927 2> log/6/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 19:27:46.301600 ====> Client connect 19:27:46.301820 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.305631 < "EHLO verifiedserver" 19:27:46.305696 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.305905 < "HELP" 19:27:46.305948 > "214 WE ROOLZ: 127735[CR][LF]" 19:27:46.305963 return proof we are we 19:27:46.306200 < "QUIT" 19:27:46.306231 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.307265 MAIN sockfilt said DISC 19:27:46.307293 ====> Client disconnected 19:27:46.307364 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:45.907241 ====> Client connect 19:27:45.907604 Received DATA (on stdin) 19:27:45.907619 > 146 bytes data, server => client 19:27:45.907630 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:45.907641 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:45.907649 '220 \___|\___/|_| \_\_____|\r\n' 19:27:45.911173 < 21 bytes data, client => server 19:27:45.911195 'EHLO verifiedserver\r\n' 19:27:45.911479 Received DATA (on stdin) 19:27:45.911493 > 53 bytes data, server => client 19:27:45.911504 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:45.911571 < 6 bytes data, client => server 19:27:45.911583 'HELP\r\n' 19:27:45.911732 Received DATA (on stdin) 19:27:45.911742 > 22 bytes data, server => client 19:27:45.911753 '214 WE ROOLZ: 127735\r\n' 19:27:45.911851 < 6 bytes data, client => server 19:27:45.911863 'QUIT\r\n' 19:27:45.912001 Received DATA (on stdin) 19:27:45.912011 > 35 bytes data, server => client 19:27:45.912021 '221 curl ESMTP server signing off\r\n' 19:27:45.912980 ====> Client disconnect 19:27:45.913131 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==129067== ==129067== Process terminating with default action of signal 4 (SIGILL) ==129067== Illegal opcode at address 0x492B75F ==129067== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129067== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129067== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129067== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129067== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129067== by 0x49908EB: curl_version_info (version.c:600) ==129067== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129067== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129067== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129067== by 0x4003269: main (tool_main.c:195) === End of file valgrind927 test 0928 [SMTP HELP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind928 ../src/curl -q --output log/14/curl928.out --include --trace-ascii log/14/trace928 --trace-time smtp://127.0.0.1:44025/928 > log/14/stdout928 2> log/14/stderr928 928: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 928 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind928 ../src/curl -q --output log/14/curl928.out --include --trace-ascii log/14/trace928 --trace-time smtp://127.0.0.1:44025/928 > log/14/stdout928 2> log/14/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 19:27:46.342031 ====> Client connect 19:27:46.342237 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind929 ../src/curl -q --output log/3/curl929.out --include --trace-ascii log/3/trace929 --trace-time smtp://127.0.0.1:38593/929 -X NOOP -I > log/3/stdout929 2> log/3/stderr929 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind930 ../src/curl -q --output log/5/curl930.out --include --trace-ascii log/5/trace930 --trace-time smtp://127.0.0.1:44397/930 -X RSET -I > log/5/stdout930 2> log/5/stderr930 20 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.348883 < "EHLO verifiedserver" 19:27:46.348952 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.349183 < "HELP" 19:27:46.349221 > "214 WE ROOLZ: 113204[CR][LF]" 19:27:46.349242 return proof we are we 19:27:46.349481 < "QUIT" 19:27:46.349509 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.351171 MAIN sockfilt said DISC 19:27:46.351199 ====> Client disconnected 19:27:46.351280 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:45.947591 ====> Client connect 19:27:45.951083 Received DATA (on stdin) 19:27:45.951110 > 146 bytes data, server => client 19:27:45.951122 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:45.951131 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:45.951140 '220 \___|\___/|_| \_\_____|\r\n' 19:27:45.951228 < 21 bytes data, client => server 19:27:45.951240 'EHLO verifiedserver\r\n' 19:27:45.954728 Received DATA (on stdin) 19:27:45.954745 > 53 bytes data, server => client 19:27:45.954756 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:45.954845 < 6 bytes data, client => server 19:27:45.954861 'HELP\r\n' 19:27:45.955011 Received DATA (on stdin) 19:27:45.955023 > 22 bytes data, server => client 19:27:45.955033 '214 WE ROOLZ: 113204\r\n' 19:27:45.955135 < 6 bytes data, client => server 19:27:45.955148 'QUIT\r\n' 19:27:45.955275 Received DATA (on stdin) 19:27:45.955287 > 35 bytes data, server => client 19:27:45.955297 '221 curl ESMTP server signing off\r\n' 19:27:45.956891 ====> Client disconnect 19:27:45.957055 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==129098== ==129098== Process terminating with default action of signal 4 (SIGILL) ==129098== Illegal opcode at address 0x492B75F ==129098== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129098== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129098== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129098== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129098== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129098== by 0x49908EB: curl_version_info (version.c:600) ==129098== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129098== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129098== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129098== by 0x4003269: main (tool_main.c:195) === End of file valgrind928 test 0929 [SMTP NOOP (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind929 ../src/curl -q --output log/3/curl929.out --include --trace-ascii log/3/trace929 --trace-time smtp://127.0.0.1:38593/929 -X NOOP -I > log/3/stdout929 2> log/3/stderr929 929: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 929 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind929 ../src/curl -q --output log/3/curl929.out --include --trace-ascii log/3/trace929 --trace-time smtp://127.0.0.1:38593/929 -X NOOP -I > log/3/stdout929 2> log/3/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 19:27:46.585475 ====> Client connect 19:27:46.585686 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.586015 < "EHLO verifiedserver" 19:27:46.586060 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.586229 < "HELP" 19:27:46.586264 > "214 WE ROOLZ: 127734[CR][LF]" 19:27:46.586278 return proof we are we 19:27:46.586513 < "QUIT" 19:27:46.586541 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.587774 MAIN sockfilt said DISC 19:27:46.587801 ====> Client disconnected 19:27:46.587879 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:46.191082 ====> Client connect 19:27:46.191444 Received DATA (on stdin) 19:27:46.191459 > 146 bytes data, server => client 19:27:46.191470 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:46.191479 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:46.191488 '220 \___|\___/|_| \_\_____|\r\n' 19:27:46.191592 < 21 bytes data, client => server 19:27:46.191602 'EHLO verifiedserver\r\n' 19:27:46.191803 Received DATA (on stdin) 19:27:46.191814 > 53 bytes data, server => client 19:27:46.191824 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:46.191882 < 6 bytes data, client => server 19:27:46.191891 'HELP\r\n' 19:27:46.192019 Received DATA (on stdin) 19:27:46.192030 > 22 bytes data, server => client 19:27:46.192039 '214 WE ROOLZ: 127734\r\n' 19:27:46.192167 < 6 bytes data, client => server 19:27:46.192178 'QUIT\r\n' 19:27:46.192281 Received DATA (on stdin) 19:27:46.192290 > 35 bytes data, server => client 19:27:46.192300 '221 curl ESMTP server signing off\r\n' 19:27:46.193458 ====> Client disconnect 19:27:46.193618 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==129197== ==129197== Process terminating with default action of signal 4 (SIGILL) ==129197== Illegal opcode at address 0x492B75F ==129197== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129197== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129197== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129197== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129197== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129197== by 0x49908EB: curl_version_info (version.c:600) ==129197== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129197== by 0x4003269: main (tool_main.c:195) === End of file valgrind929 test 0930 [SMTP RSET (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind930 ../src/curl -q --output log/5/curl930.out --include --trace-ascii log/5/trace930 --trace-time smtp://127.0.0.1:44397/930 -X RSET -I > log/5/stdout930 2> log/5/stderr930 930: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 930 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind930 ../src/curl -q --output log/5/curl930.out --include --trace-ascii log/5/trace930 --trace-time smtp://127.0.0.1:44397/930 -X RSET -I > log/5/stdout930 2> log/5/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 19:27:46.612721 ====> Client connect 19:27:46.612941 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.613293 < "EHLO verifiedserver" 19:27:46.613345 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.613545 < "HELP" 19:27:46.613585 > "214 WE ROOLZ: 127748[CR][LF]" 19:27:46.613601 return proof we are we 19:27:46.613836 < "QUIT" 19:27:46.613868 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.614939 MAIN sockfilt said DISC 19:27:46.614971 ====> Client disconnected 19:27:46.615046 Awaiting input === End of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind725 ../src/curl -q --output log/11/curl725.out --include --trace-ascii log/11/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout725 2> log/11/stderr725 ile smtp_server.log === Start of file smtp_sockfilt.log 19:27:46.218352 ====> Client connect 19:27:46.218702 Received DATA (on stdin) 19:27:46.218718 > 146 bytes data, server => client 19:27:46.218729 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:46.218740 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:46.218749 '220 \___|\___/|_| \_\_____|\r\n' 19:27:46.218837 < 21 bytes data, client => server 19:27:46.218851 'EHLO verifiedserver\r\n' 19:27:46.219090 Received DATA (on stdin) 19:27:46.219102 > 53 bytes data, server => client 19:27:46.219113 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:46.219177 < 6 bytes data, client => server 19:27:46.219190 'HELP\r\n' 19:27:46.219339 Received DATA (on stdin) 19:27:46.219350 > 22 bytes data, server => client 19:27:46.219360 '214 WE ROOLZ: 127748\r\n' 19:27:46.219478 < 6 bytes data, client => server 19:27:46.219491 'QUIT\r\n' 19:27:46.219607 Received DATA (on stdin) 19:27:46.219619 > 35 bytes data, server => client 19:27:46.219629 '221 curl ESMTP server signing off\r\n' 19:27:46.220616 ====> Client disconnect 19:27:46.220789 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==129219== ==129219== Process terminating with default action of signal 4 (SIGILL) ==129219== Illegal opcode at address 0x492B75F ==129219== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129219== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129219== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129219== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129219== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129219== by 0x49908EB: curl_version_info (version.c:600) ==129219== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129219== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129219== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129219== by 0x4003269: main (tool_main.c:195) === End of file valgrind930 setenv HOME = /startdir/src/build-curl/tests/log/12 test 0724 [IPFS with gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 724: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 724 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind724 ../src/curl -q --output log/12/curl724.out --include --trace-ascii log/12/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/12/stdout724 2> log/12/stderr724 === End of file commands.log === Start of file http_server.log 19:27:23.583936 ====> Client connect 19:27:23.583984 accept_connection 3 returned 4 19:27:23.584009 Read 93 bytes 19:27:23.584019 Process 93 bytes request 19:27:23.584033 Got request: GET /verifiedserver HTTP/1.1 19:27:23.584042 Are-we-friendly question received 19:27:23.584078 Wrote request (93 bytes) input to log/12/server.input 19:27:23.584096 Identifying ourselves as friends 19:27:23.584181 Response sent (56 bytes) and written to log/12/server.response 19:27:23.584193 special request received, no persistency 19:27:23.584202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 51180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 724 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind724 ==117388== ==117388== Process terminating with default action of signal 4 (SIGILL) ==117388== Illegal opcode at address 0x492B75F ==117388== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117388== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117388== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117388== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==117388== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117388== by 0x49908EB: curl_version_info (version.c:600) ==117388== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117388== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117388== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117388== by 0x4003269: main (tool_main.c:195) === End of file valgrind724 setenv HOME = /startdir/src/build-curl/tests/log/11 test 0725 [IPFS with malformed gateway URL from gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind725 ../src/curl -q --output log/11/curl725.out --include --trace-ascii log/11/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout725 2> log/11/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/11/ directory after test 725 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind725 ../src/curl -q --output log/11/curl725.out --include --trace-ascii log/11/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/11/stdout725 2> log/11/stderr725 === End of file commands.log === Start of file http_server.log 19:27:23.557248 ====> Client connect 19:27:23.557285 accept_connection 3 returned 4 19:27:23.557312 Read 93 bytes 19:27:23.557325 Process 93 bytes request 19:27:23.557338 Got request: GET /verifiedserver HTTP/1.1 19:27:23.557348 Are-we-friendly question received 19:27:23.557378 Wrote request (93 bytes) input to log/11/server.input 19:27:23.557396 Identifying ourselves as friends 19:27:23.557486 Response sent (56 bytes) and written to log/11/server.response 19:27:23.557499 special request received, no persistency 19:27:23.557508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 35356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 725 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind725 ==117347== ==117347== Process terminating with default action of signal 4 (SIGILL) ==117347== Illegal opcode at address 0x492B75F ==117347== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==117347== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==117347== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==117347== by 0x49A9BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind931 ../src/curl -q --output log/2/curl931.out --include --trace-ascii log/2/trace931 --trace-time smtp://127.0.0.1:33505/%0d%0a/931 > log/2/stdout931 2> log/2/stderr931 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind932 ../src/curl -q --output log/22/curl932.out --include --trace-ascii log/22/trace932 --trace-time smtp://127.0.0.1:43827/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/22/stdout932 2> log/22/stderr932 9E: Curl_ossl_version (openssl.c:5473) ==117347== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==117347== by 0x49908EB: curl_version_info (version.c:600) ==117347== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==117347== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==117347== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==117347== by 0x4003269: main (tool_main.c:195) === End of file valgrind725 test 0931 [SMTP with URL-encoded CR LF in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind931 ../src/curl -q --output log/2/curl931.out --include --trace-ascii log/2/trace931 --trace-time smtp://127.0.0.1:33505/%0d%0a/931 > log/2/stdout931 2> log/2/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/2/ directory after test 931 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind931 ../src/curl -q --output log/2/curl931.out --include --trace-ascii log/2/trace931 --trace-time smtp://127.0.0.1:33505/%0d%0a/931 > log/2/stdout931 2> log/2/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 19:27:46.838793 ====> Client connect 19:27:46.839116 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.839413 < "EHLO verifiedserver" 19:27:46.839455 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.839616 < "HELP" 19:27:46.839647 > "214 WE ROOLZ: 127750[CR][LF]" 19:27:46.839661 return proof we are we 19:27:46.839855 < "QUIT" 19:27:46.839882 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.840919 MAIN sockfilt said DISC 19:27:46.840948 ====> Client disconnected 19:27:46.841015 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:46.444378 ====> Client connect 19:27:46.444745 Received DATA (on stdin) 19:27:46.444763 > 146 bytes data, server => client 19:27:46.444847 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:46.444859 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:46.444868 '220 \___|\___/|_| \_\_____|\r\n' 19:27:46.444963 < 21 bytes data, client => server 19:27:46.444975 'EHLO verifiedserver\r\n' 19:27:46.445173 Received DATA (on stdin) 19:27:46.445184 > 53 bytes data, server => client 19:27:46.445194 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:46.445250 < 6 bytes data, client => server 19:27:46.445259 'HELP\r\n' 19:27:46.445377 Received DATA (on stdin) 19:27:46.445387 > 22 bytes data, server => client 19:27:46.445397 '214 WE ROOLZ: 127750\r\n' 19:27:46.445487 < 6 bytes data, client => server 19:27:46.445499 'QUIT\r\n' 19:27:46.445596 Received DATA (on stdin) 19:27:46.445605 > 35 bytes data, server => client 19:27:46.445615 '221 curl ESMTP server signing off\r\n' 19:27:46.446555 ====> Client disconnect 19:27:46.446731 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==129333== ==129333== Process terminating with default action of signal 4 (SIGILL) ==129333== Illegal opcode at address 0x492B75F ==129333== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129333== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129333== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129333== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129333== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129333== by 0x49908EB: curl_version_info (version.c:600) ==129333== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129333== by 0x4003269: main (tool_main.c:195) === End of file valgrind931 test 0932 [SMTP CRAM-MD5 graceful cancellation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind932 ../src/curl -q --output log/22/curl932.out --include --trace-ascii log/22/trace932 --trace-time smtp://127.0.0.1:43827/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/22/stdout932 2> log/22/stderr932 932: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 932 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind932 ../src/curl -q --output log/22/curl932.out --include --trace-ascii log/22/trace932 --trace-time smtp://127.0.0.1:43827/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/22/stdout932 2> log/22/stderr932 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 REPLY AUTH 334 Rubbish REPLY * 501 AUTH exchange cancelled by client Testnum 932 === End of file server.cmd === Start of file smtp_server.log 19:27:46.949159 ====> Client connect 19:27:46.949423 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:46.949784 < "EHLO verifiedserver" 19:27:46.949829 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:46.949990 < "HELP" 19:27:46.950020 > "214 WE ROOLZ: 127746[CR][LF]" 19:27:46.950035 return proof we are we 19:27:46.950226 < "QUIT" 19:27:46.950254 > "221 curl ESMTP server signing off[CR][LF]" 19:27:46.950360 MAIN sockfilt said DISC 19:27:46.950382 ====> Client disconnected 19:27:46.950448 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:46.544379 ====> Client connect 19:27:46.555149 Received DATA (on stdin) 19:27:46.555171 > 146 bytes data, server => client 19:27:46.555181 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:46.555191 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:46.555199 '220 \___|\___/|_| \_\_____|\r\n' 19:27:46.555327 < 21 bytes data, client => server 19:27:46.555339 'EHLO verifiedserver\r\n' 19:27:46.555538 Received DATA (on stdin) 19:27:46.555549 > 53 bytes data, server => client 19:27:46.555559 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:46.555613 < 6 bytes data, client => server 19:27:46.555623 'HELP\r\n' 19:27:46.555736 Received DATA (on stdin) 19:27:46.555746 > 22 bytes data, server => client 19:27:46.555756 '214 WE ROOLZ: 127746\r\n' 19:27:46.555850 < 6 bytes data, client => server 19:27:46.555861 'QUIT\r\n' 19:27:46.555957 Received DATA (on stdin) 19:27:46.555967 > 35 bytes data, server => client 19:27:46.555977 '221 curl ESMTP server signing off\r\n' 19:27:46.556015 ====> Client disconnect 19:27:46.556151 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==129382== ==129382== Process terminating with default action of signal 4 (SIGILL) ==129382== Illegal opcode at address 0x492B75F ==129382== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129382== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129382== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129382== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129382== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129382== by 0x49908EB: curl_version_info (version.c:600) ==129382== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129382== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129382== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind935 ../src/curl -q --output log/15/curl935.out --include --trace-ascii log/15/trace935 --trace-time smtp://127.0.0.1:44021/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout935 2> log/15/stderr935 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind940 ../src/curl -q --output log/9/curl940.out --include --trace-ascii log/9/trace940 --trace-time smtp://127.0.0.1:44813/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/9/stdout940 2> log/9/stderr940 by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129382== by 0x4003269: main (tool_main.c:195) === End of file valgrind932 test 0935 [SMTP CRAM-MD5 authentication with SASL downgrade] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind935 ../src/curl -q --output log/15/curl935.out --include --trace-ascii log/15/trace935 --trace-time smtp://127.0.0.1:44021/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout935 2> log/15/stderr935 935: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 935 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind935 ../src/curl -q --output log/15/curl935.out --include --trace-ascii log/15/trace935 --trace-time smtp://127.0.0.1:44021/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/15/stdout935 2> log/15/stderr935 === End of file commands.log === Start of file server.cmd AUTH CRAM-MD5 PLAIN REPLY "AUTH CRAM-MD5" 334 Rubbish REPLY * 501 AUTH exchange cancelled by client REPLY "AUTH PLAIN" 334 PLAIN supported REPLY AHVzZXIAc2VjcmV0 235 Authenticated Testnum 935 === End of file server.cmd === Start of file smtp_server.log 19:27:47.137399 ====> Client connect 19:27:47.137625 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.137958 < "EHLO verifiedserver" 19:27:47.138011 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.138207 < "HELP" 19:27:47.138249 > "214 WE ROOLZ: 127773[CR][LF]" 19:27:47.138264 return proof we are we 19:27:47.138497 < "QUIT" 19:27:47.138531 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.139960 MAIN sockfilt said DISC 19:27:47.139995 ====> Client disconnected 19:27:47.140066 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.742954 ====> Client connect 19:27:47.743328 Received DATA (on stdin) 19:27:47.743345 > 146 bytes data, server => client 19:27:47.743355 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.743367 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.743376 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.743467 < 21 bytes data, client => server 19:27:47.743478 'EHLO verifiedserver\r\n' 19:27:47.743701 Received DATA (on stdin) 19:27:47.743712 > 53 bytes data, server => client 19:27:47.743723 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.743784 < 6 bytes data, client => server 19:27:47.743796 'HELP\r\n' 19:27:47.743949 Received DATA (on stdin) 19:27:47.743961 > 22 bytes data, server => client 19:27:47.743971 '214 WE ROOLZ: 127773\r\n' 19:27:47.744089 < 6 bytes data, client => server 19:27:47.744101 'QUIT\r\n' 19:27:47.744215 Received DATA (on stdin) 19:27:47.744225 > 35 bytes data, server => client 19:27:47.744235 '221 curl ESMTP server signing off\r\n' 19:27:47.745130 ====> Client disconnect 19:27:47.745752 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-935 mail body === End of file stdin-for-935 === Start of file valgrind935 ==129483== ==129483== Process terminating with default action of signal 4 (SIGILL) ==129483== Illegal opcode at address 0x492B75F ==129483== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129483== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129483== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129483== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129483== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129483== by 0x49908EB: curl_version_info (version.c:600) ==129483== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129483== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129483== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129483== by 0x4003269: main (tool_main.c:195) === End of file valgrind935 test 0940 [SMTP with username and password but no AUTH capability] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind940 ../src/curl -q --output log/9/curl940.out --include --trace-ascii log/9/trace940 --trace-time smtp://127.0.0.1:44813/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/9/stdout940 2> log/9/stderr940 940: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 940 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind940 ../src/curl -q --output log/9/curl940.out --include --trace-ascii log/9/trace940 --trace-time smtp://127.0.0.1:44813/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/9/stdout940 2> log/9/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 19:27:47.515369 ====> Client connect 19:27:47.515670 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.517526 < "EHLO verifiedserver" 19:27:47.517597 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.517869 < "HELP" 19:27:47.517916 > "214 WE ROOLZ: 127818[CR][LF]" 19:27:47.517937 return proof we are we 19:27:47.518190 < "QUIT" 19:27:47.518229 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.519512 MAIN sockfilt said DISC 19:27:47.519547 ====> Client disconnected 19:27:47.519633 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.114326 ====> Client connect 19:27:48.121353 Received DATA (on stdin) 19:27:48.121377 > 146 bytes data, server => client 19:27:48.121388 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.121398 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.121407 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.123257 < 21 bytes data, client => server 19:27:48.123275 'EHLO verifiedserver\r\n' 19:27:48.123290 Received DATA (on stdin) 19:27:48.123300 > 53 bytes data, server => client 19:27:48.123311 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.123394 < 6 bytes data, client => server 19:27:48.123410 'HELP\r\n' 19:27:48.123586 Received DATA (on stdin) 19:27:48.123600 > 22 bytes data, server => client 19:27:48.123610 '214 WE ROOLZ: 127818\r\n' 19:27:48.123729 < 6 bytes data, client => server 19:27:48.123745 'QUIT\r\n' 19:27:48.123879 Received DATA (on stdin) 19:27:48.123892 > 35 bytes data, server => client 19:27:48.123903 '221 curl ESMTP server signing off\r\n' 19:27:48.125094 ====> Client disconnect 19:27:48.125291 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-940 mail body === End of file stdin-for-940 === Start of file valgrind940 ==129652== ==129652== Process terminating with default action of signal 4 (SIGILL) ==129652== Illegal opcode at address 0x492B75F ==129652== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129652== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129652== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129652== by 0x49A9B9E: Curl_ossl_version (opensslCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind946 ../src/curl -q --output log/7/curl946.out --include --trace-ascii log/7/trace946 --trace-time smtp://127.0.0.1:33449/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/7/stdout946 2> log/7/stderr946 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind939 ../src/curl -q --output log/24/curl939.out --include --trace-ascii log/24/trace939 --trace-time smtp://127.0.0.1:40147/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/24/stdout939 2> log/24/stderr939 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind740 ../src/curl -q --output log/8/curl740.out --include --trace-ascii log/8/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout740 2> log/8/stderr740 .c:5473) ==129652== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129652== by 0x49908EB: curl_version_info (version.c:600) ==129652== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129652== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129652== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129652== by 0x4003269: main (tool_main.c:195) === End of file valgrind940 test 0946 [SMTP OAuth 2.0 (OAUTHBEARER) authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind946 ../src/curl -q --output log/7/curl946.out --include --trace-ascii log/7/trace946 --trace-time smtp://127.0.0.1:33449/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/7/stdout946 2> log/7/stderr946 946: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 946 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind946 ../src/curl -q --output log/7/curl946.out --include --trace-ascii log/7/trace946 --trace-time smtp://127.0.0.1:33449/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/7/stdout946 2> log/7/stderr946 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM0NDkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 19:27:47.746875 ====> Client connect 19:27:47.747119 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.747485 < "EHLO verifiedserver" 19:27:47.747548 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.747763 < "HELP" 19:27:47.747800 > "214 WE ROOLZ: 127841[CR][LF]" 19:27:47.747820 return proof we are we 19:27:47.748075 < "QUIT" 19:27:47.748112 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.748709 MAIN sockfilt said DISC 19:27:47.748796 ====> Client disconnected 19:27:47.748878 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.352384 ====> Client connect 19:27:48.352770 Received DATA (on stdin) 19:27:48.352788 > 146 bytes data, server => client 19:27:48.352800 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.352810 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.352819 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.352914 < 21 bytes data, client => server 19:27:48.352930 'EHLO verifiedserver\r\n' 19:27:48.353182 Received DATA (on stdin) 19:27:48.353195 > 53 bytes data, server => client 19:27:48.353206 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.353275 < 6 bytes data, client => server 19:27:48.353289 'HELP\r\n' 19:27:48.353446 Received DATA (on stdin) 19:27:48.353459 > 22 bytes data, server => client 19:27:48.353469 '214 WE ROOLZ: 127841\r\n' 19:27:48.353595 < 6 bytes data, client => server 19:27:48.353611 'QUIT\r\n' 19:27:48.353740 Received DATA (on stdin) 19:27:48.353753 > 35 bytes data, server => client 19:27:48.353763 '221 curl ESMTP server signing off\r\n' 19:27:48.354273 ====> Client disconnect 19:27:48.354347 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-946 mail body === End of file stdin-for-946 === Start of file valgrind946 ==129912== ==129912== Process terminating with default action of signal 4 (SIGILL) ==129912== Illegal opcode at address 0x492B75F ==129912== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129912== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129912== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129912== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129912== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129912== by 0x49908EB: curl_version_info (version.c:600) ==129912== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129912== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129912== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129912== by 0x4003269: main (tool_main.c:195) === End of file valgrind946 test 0939 [RFC821-only SMTP with username and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind939 ../src/curl -q --output log/24/curl939.out --include --trace-ascii log/24/trace939 --trace-time smtp://127.0.0.1:40147/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/24/stdout939 2> log/24/stderr939 939: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 939 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind939 ../src/curl -q --output log/24/curl939.out --include --trace-ascii log/24/trace939 --trace-time smtp://127.0.0.1:40147/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/24/stdout939 2> log/24/stderr939 === End of file commands.log === Start of file server.cmd REPLY EHLO 500 Command unrecognized Testnum 939 === End of file server.cmd === Start of file smtp_server.log 19:27:47.281272 ====> Client connect 19:27:47.281519 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.285747 < "EHLO verifiedserver" 19:27:47.285815 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.286037 < "HELP" 19:27:47.286085 > "214 WE ROOLZ: 127811[CR][LF]" 19:27:47.286105 return proof we are we 19:27:47.286349 < "QUIT" 19:27:47.286385 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.287826 MAIN sockfilt said DISC 19:27:47.287857 ====> Client disconnected 19:27:47.287929 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.886812 ====> Client connect 19:27:47.891012 Received DATA (on stdin) 19:27:47.891050 > 146 bytes data, server => client 19:27:47.891062 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.891073 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.891082 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.891194 < 21 bytes data, client => server 19:27:47.891212 'EHLO verifiedserver\r\n' 19:27:47.891503 Received DATA (on stdin) 19:27:47.891516 > 53 bytes data, server => client 19:27:47.891527 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.891595 < 6 bytes data, client => server 19:27:47.891609 'HELP\r\n' 19:27:47.891779 Received DATA (on stdin) 19:27:47.891791 > 22 bytes data, server => client 19:27:47.891801 '214 WE ROOLZ: 127811\r\n' 19:27:47.891913 < 6 bytes data, client => server 19:27:47.891929 'QUIT\r\n' 19:27:47.892061 Received DATA (on stdin) 19:27:47.892074 > 35 bytes data, server => client 19:27:47.892085 '221 curl ESMTP server signing off\r\n' 19:27:47.893435 ====> Client disconnect 19:27:47.893610 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-939 mail body === End of file stdin-for-939 === Start of file valgrind939 ==129527== ==129527== Process terminaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind943 ../src/curl -q --output log/18/curl943.out --include --trace-ascii log/18/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33075/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout943 2> log/18/stderr943 ting with default action of signal 4 (SIGILL) ==129527== Illegal opcode at address 0x492B75F ==129527== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129527== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129527== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129527== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129527== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129527== by 0x49908EB: curl_version_info (version.c:600) ==129527== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129527== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129527== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129527== by 0x4003269: main (tool_main.c:195) === End of file valgrind939 setenv HOME = /startdir/src/build-curl/tests/log/8 test 0740 [IPFS with gateway URL from multiline gateway file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind740 ../src/curl -q --output log/8/curl740.out --include --trace-ascii log/8/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout740 2> log/8/stderr740 740: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 740 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind740 ../src/curl -q --output log/8/curl740.out --include --trace-ascii log/8/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/8/stdout740 2> log/8/stderr740 === End of file commands.log === Start of file http_server.log 19:27:25.980841 ====> Client connect 19:27:25.980890 accept_connection 3 returned 4 19:27:25.986855 Read 93 bytes 19:27:25.986882 Process 93 bytes request 19:27:25.986896 Got request: GET /verifiedserver HTTP/1.1 19:27:25.986905 Are-we-friendly question received 19:27:25.986946 Wrote request (93 bytes) input to log/8/server.input 19:27:25.986967 Identifying ourselves as friends 19:27:25.987049 Response sent (56 bytes) and written to log/8/server.response 19:27:25.987062 special request received, no persistency 19:27:25.987071 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 49472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 740 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind740 ==118879== ==118879== Process terminating with default action of signal 4 (SIGILL) ==118879== Illegal opcode at address 0x492B75F ==118879== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==118879== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==118879== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==118879== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==118879== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==118879== by 0x49908EB: curl_version_info (version.c:600) ==118879== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==118879== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==118879== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==118879== by 0x4003269: main (tool_main.c:195) === End of file valgrind740 test 0943 [SMTP external authentication without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind943 ../src/curl -q --output log/18/curl943.out --include --trace-ascii log/18/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33075/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout943 2> log/18/stderr943 943: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 943 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind943 ../src/curl -q --output log/18/curl943.out --include --trace-ascii log/18/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33075/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/18/stdout943 2> log/18/stderr943 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY 235 Authenticated Testnum 943 === End of file server.cmd === Start of file smtp_server.log 19:27:47.699056 ====> Client connect 19:27:47.699301 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.705653 < "EHLO verifiedserver" 19:27:47.705711 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.705870 < "HELP" 19:27:47.705899 > "214 WE ROOLZ: 127847[CR][LF]" 19:27:47.705912 return proof we are we 19:27:47.706094 < "QUIT" 19:27:47.706120 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.707222 MAIN sockfilt said DISC 19:27:47.707249 ====> Client disconnected 19:27:47.707312 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.300965 ====> Client connect 19:27:47.307629 Received DATA (on stdin) 19:27:47.307661 > 146 bytes data, server => client 19:27:47.307673 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.307683 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.307692 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.311062 < 21 bytes data, client => server 19:27:47.311085 'EHLO verifiedserver\r\n' 19:27:47.311343 Received DATA (on stdin) 19:27:47.311354 > 53 bytes data, server => client 19:27:47.311364 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.311417 < 6 bytes data, client => server 19:27:47.311427 'HELP\r\n' 19:27:47.311536 Received DATA (on stdin) 19:27:47.311546 > 22 bytes data, server => client 19:27:47.311554 '214 WE ROOLZ: 127847\r\n' 19:27:47.311642 < 6 bytes data, client => server 19:27:47.311653 'QUIT\r\n' 19:27:47.311746 Received DATA (on stdin) 19:27:47.311754 > 35 bytes data, server => client 19:27:47.311763 '221 curl ESMTP server signing off\r\n' 19:27:47.312796 ====> Client disconnect 19:27:47.312940 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-943 mail body === End of file stdin-for-943 === Start of file valgrind943 ==129857== ==129857== Process terminating with default action of signal 4 (SIGILL) ==129857== Illegal opcode at address 0x492B75F ==129857== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129857== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129857== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129857== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129857== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129857== by 0x49908EB: curl_version_info (version.c:600) ==129857== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129857== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129857== by 0x4003269: UnkCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind948 ../src/curl -q --output log/17/curl948.out --include --trace-ascii log/17/trace948 --trace-time smtp://127.0.0.1:43791/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout948 2> log/17/stderr948 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind941 ../src/curl -q --output log/13/curl941.out --include --trace-ascii log/13/trace941 --trace-time smtp://127.0.0.1:45003/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/upload941 --crlf > log/13/stdout941 2> log/13/stderr941 nownInlinedFun (tool_cfgable.c:310) ==129857== by 0x4003269: main (tool_main.c:195) === End of file valgrind943 test 0948 [SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind948 ../src/curl -q --output log/17/curl948.out --include --trace-ascii log/17/trace948 --trace-time smtp://127.0.0.1:43791/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout948 2> log/17/stderr948 948: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind948 ../src/curl -q --output log/17/curl948.out --include --trace-ascii log/17/trace948 --trace-time smtp://127.0.0.1:43791/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/17/stdout948 2> log/17/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDM3OTEBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 948 === End of file server.cmd === Start of file smtp_server.log 19:27:47.791065 ====> Client connect 19:27:47.795681 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.799176 < "EHLO verifiedserver" 19:27:47.799237 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.799419 < "HELP" 19:27:47.799454 > "214 WE ROOLZ: 127892[CR][LF]" 19:27:47.799470 return proof we are we 19:27:47.799707 < "QUIT" 19:27:47.799736 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.800972 MAIN sockfilt said DISC 19:27:47.801001 ====> Client disconnected 19:27:47.801073 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.396561 ====> Client connect 19:27:47.401344 Received DATA (on stdin) 19:27:47.401362 > 146 bytes data, server => client 19:27:47.401373 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.401383 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.401392 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.404582 < 21 bytes data, client => server 19:27:47.404606 'EHLO verifiedserver\r\n' 19:27:47.404864 Received DATA (on stdin) 19:27:47.404876 > 53 bytes data, server => client 19:27:47.404888 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.404948 < 6 bytes data, client => server 19:27:47.404960 'HELP\r\n' 19:27:47.405088 Received DATA (on stdin) 19:27:47.405099 > 22 bytes data, server => client 19:27:47.405109 '214 WE ROOLZ: 127892\r\n' 19:27:47.405209 < 6 bytes data, client => server 19:27:47.405222 'QUIT\r\n' 19:27:47.405354 Received DATA (on stdin) 19:27:47.405364 > 35 bytes data, server => client 19:27:47.405374 '221 curl ESMTP server signing off\r\n' 19:27:47.406533 ====> Client disconnect 19:27:47.406691 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-948 mail body === End of file stdin-for-948 === Start of file valgrind948 ==129994== ==129994== Process terminating with default action of signal 4 (SIGILL) ==129994== Illegal opcode at address 0x492B75F ==129994== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129994== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129994== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129994== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129994== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129994== by 0x49908EB: curl_version_info (version.c:600) ==129994== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129994== by 0x4003269: main (tool_main.c:195) === End of file valgrind948 test 0941 [SMTP with --crlf] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind941 ../src/curl -q --output log/13/curl941.out --include --trace-ascii log/13/trace941 --trace-time smtp://127.0.0.1:45003/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/upload941 --crlf > log/13/stdout941 2> log/13/stderr941 941: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 941 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind941 ../src/curl -q --output log/13/curl941.out --include --trace-ascii log/13/trace941 --trace-time smtp://127.0.0.1:45003/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/upload941 --crlf > log/13/stdout941 2> log/13/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 19:27:47.527877 ====> Client connect 19:27:47.528096 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.528432 < "EHLO verifiedserver" 19:27:47.528486 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.528738 < "HELP" 19:27:47.528777 > "214 WE ROOLZ: 127845[CR][LF]" 19:27:47.528792 return proof we are we 19:27:47.528974 < "QUIT" 19:27:47.529001 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.529935 MAIN sockfilt said DISC 19:27:47.529964 ====> Client disconnected 19:27:47.530042 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.133403 ====> Client connect 19:27:47.133774 Received DATA (on stdin) 19:27:47.133792 > 146 bytes data, server => client 19:27:47.133803 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.133813 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.133822 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.134140 < 21 bytes data, client => server 19:27:47.134156 'EHLO verifiedserver\r\n' 19:27:47.134169 Received DATA (on stdin) 19:27:47.134178 > 53 bytes data, server => client 19:27:47.134189 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.134297 < 6 bytes data, client => server 19:27:47.134312 'HELP\r\n' 19:27:47.134437 Received DATA (on stdin) 19:27:47.134448 > 22 bytes data, server => client 19:27:47.134458 '214 WE ROOLZ: 127845\r\n' 19:27:47.134643 < 6 bytes data, client => server 19:27:47.134654 'QUIT\r\n' 19:27:47.134665 Received DATA (on stdin) 19:27:47.134675 > 35 bytes data, server => client 19:27:47.134684 '221 curl ESMTP server signing off\r\n' 19:27:47.135531 ====> Client disconnect 19:27:47.135717 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file upload941 From: different To: another email headers and body with Unix newlines meant to be converted with the --crlf option 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/17/stdout971 2> log/17/stderr971 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind950 ../src/curl -q --output log/10/curl950.out --include --trace-ascii log/10/trace950 --trace-time smtp://127.0.0.1:45391/950 --mail-rcpt recipient --request "vrfy" > log/10/stdout950 2> log/10/stderr950 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind944 ../src/curl -q --output log/20/curl944.out --include --trace-ascii log/20/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44599/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/20/stdout944 2> log/20/stderr944 012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file upload941 === Start of file valgrind941 ==129666== ==129666== Process terminating with default action of signal 4 (SIGILL) ==129666== Illegal opcode at address 0x492B75F ==129666== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129666== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129666== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129666== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129666== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129666== by 0x49908EB: curl_version_info (version.c:600) ==129666== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129666== by 0x4003269: main (tool_main.c:195) === End of file valgrind941 test 0971 [Verify that options-in-versions and docs/cmdline-opts are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test971.pl /startdir/src/curl/tests/../docs/options-in-versions /startdir/src/curl/tests/../docs/cmdline-opts /startdir/src/curl/tests/../docs/VERSIONS.md > log/17/stdout971 2> log/17/stderr971 valgrind SKIPPED -r-----e--- OK (878 out of 1890, remaining: 02:10, took 0.073s, duration: 01:53) test 0950 [SMTP VRFY with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind950 ../src/curl -q --output log/10/curl950.out --include --trace-ascii log/10/trace950 --trace-time smtp://127.0.0.1:45391/950 --mail-rcpt recipient --request "vrfy" > log/10/stdout950 2> log/10/stderr950 950: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 950 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind950 ../src/curl -q --output log/10/curl950.out --include --trace-ascii log/10/trace950 --trace-time smtp://127.0.0.1:45391/950 --mail-rcpt recipient --request "vrfy" > log/10/stdout950 2> log/10/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 19:27:47.948691 ====> Client connect 19:27:47.948963 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.955524 < "EHLO verifiedserver" 19:27:47.955604 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.955858 < "HELP" 19:27:47.955908 > "214 WE ROOLZ: 127917[CR][LF]" 19:27:47.955929 return proof we are we 19:27:47.956211 < "QUIT" 19:27:47.956250 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.957960 MAIN sockfilt said DISC 19:27:47.957998 ====> Client disconnected 19:27:47.958074 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.550932 ====> Client connect 19:27:47.557589 Received DATA (on stdin) 19:27:47.557633 > 146 bytes data, server => client 19:27:47.557645 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.557655 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.557664 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.557977 < 21 bytes data, client => server 19:27:47.557996 'EHLO verifiedserver\r\n' 19:27:47.561226 Received DATA (on stdin) 19:27:47.561243 > 53 bytes data, server => client 19:27:47.561254 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.561339 < 6 bytes data, client => server 19:27:47.561355 'HELP\r\n' 19:27:47.561534 Received DATA (on stdin) 19:27:47.561547 > 22 bytes data, server => client 19:27:47.561558 '214 WE ROOLZ: 127917\r\n' 19:27:47.561680 < 6 bytes data, client => server 19:27:47.561697 'QUIT\r\n' 19:27:47.561861 Received DATA (on stdin) 19:27:47.561874 > 35 bytes data, server => client 19:27:47.561885 '221 curl ESMTP server signing off\r\n' 19:27:47.563001 ====> Client disconnect 19:27:47.563688 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==130276== ==130276== Process terminating with default action of signal 4 (SIGILL) ==130276== Illegal opcode at address 0x492B75F ==130276== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130276== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130276== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130276== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130276== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130276== by 0x49908EB: curl_version_info (version.c:600) ==130276== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130276== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130276== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130276== by 0x4003269: main (tool_main.c:195) === End of file valgrind950 test 0944 [SMTP external authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind944 ../src/curl -q --output log/20/curl944.out --include --trace-ascii log/20/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44599/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/20/stdout944 2> log/20/stderr944 944: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 944 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind944 ../src/curl -q --output log/20/curl944.out --include --trace-ascii log/20/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:44599/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/20/stdout944 2> log/20/stderr944 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 944 === End of file server.cmd === Start of file smtp_server.log 19:27:47.733538 ====> Client connect 19:27:47.733704 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.733993 < "EHLO verifiedserver" 19:27:47.734033 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.734207 < "HELP" 19:27:47.734238 > "214 WE ROOLZ: 113262[CR][LF]" 19:27:47.734255 return proof we are we 19:27:47.734480 < "QUIT" 19:27:47.734509 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.735343 MAIN sockfilt said DISC 19:27:47.735374 ====> Client disconnected 19:27:47.735436 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.339041 ====> Client connect 19:27:48.339343 Received DATA (on stdin) 19:27:48.339357 > 146 bytes data, server => client 19:27:48.3393CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind942 ../src/curl -q --output log/4/curl942.out --include --trace-ascii log/4/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:32885/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout942 2> log/4/stderr942 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind949 ../src/curl -q --output log/23/curl949.out --include --trace-ascii log/23/trace949 --trace-time smtp://127.0.0.1:38615/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/23/stdout949 2> log/23/stderr949 68 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.339378 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.339387 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.339464 < 21 bytes data, client => server 19:27:48.339477 'EHLO verifiedserver\r\n' 19:27:48.339661 Received DATA (on stdin) 19:27:48.339673 > 53 bytes data, server => client 19:27:48.339684 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.339739 < 6 bytes data, client => server 19:27:48.339750 'HELP\r\n' 19:27:48.339879 Received DATA (on stdin) 19:27:48.339890 > 22 bytes data, server => client 19:27:48.339900 '214 WE ROOLZ: 113262\r\n' 19:27:48.339993 < 6 bytes data, client => server 19:27:48.340006 'QUIT\r\n' 19:27:48.340136 Received DATA (on stdin) 19:27:48.340147 > 35 bytes data, server => client 19:27:48.340157 '221 curl ESMTP server signing off\r\n' 19:27:48.340541 ====> Client disconnect 19:27:48.341060 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-944 mail body === End of file stdin-for-944 === Start of file valgrind944 ==129874== ==129874== Process terminating with default action of signal 4 (SIGILL) ==129874== Illegal opcode at address 0x492B75F ==129874== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129874== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129874== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129874== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129874== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129874== by 0x49908EB: curl_version_info (version.c:600) ==129874== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129874== by 0x4003269: main (tool_main.c:195) === End of file valgrind944 test 0942 [SMTP external authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind942 ../src/curl -q --output log/4/curl942.out --include --trace-ascii log/4/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:32885/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout942 2> log/4/stderr942 942: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 942 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind942 ../src/curl -q --output log/4/curl942.out --include --trace-ascii log/4/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:32885/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout942 2> log/4/stderr942 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 334 EXTERNAL supported REPLY dXNlcg== 235 Authenticated Testnum 942 === End of file server.cmd === Start of file smtp_server.log 19:27:47.558776 ====> Client connect 19:27:47.558924 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.562202 < "EHLO verifiedserver" 19:27:47.562244 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.565767 < "HELP" 19:27:47.565821 > "214 WE ROOLZ: 113210[CR][LF]" 19:27:47.565838 return proof we are we 19:27:47.566121 < "QUIT" 19:27:47.566160 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.567316 MAIN sockfilt said DISC 19:27:47.567346 ====> Client disconnected 19:27:47.567419 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.164314 ====> Client connect 19:27:47.164580 Received DATA (on stdin) 19:27:47.164594 > 146 bytes data, server => client 19:27:47.164605 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.164615 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.164624 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.167676 < 21 bytes data, client => server 19:27:47.167695 'EHLO verifiedserver\r\n' 19:27:47.167890 Received DATA (on stdin) 19:27:47.167902 > 53 bytes data, server => client 19:27:47.167913 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.171226 < 6 bytes data, client => server 19:27:47.171255 'HELP\r\n' 19:27:47.171486 Received DATA (on stdin) 19:27:47.171500 > 22 bytes data, server => client 19:27:47.171510 '214 WE ROOLZ: 113210\r\n' 19:27:47.171629 < 6 bytes data, client => server 19:27:47.171642 'QUIT\r\n' 19:27:47.171803 Received DATA (on stdin) 19:27:47.171814 > 35 bytes data, server => client 19:27:47.171824 '221 curl ESMTP server signing off\r\n' 19:27:47.172909 ====> Client disconnect 19:27:47.173061 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-942 mail body === End of file stdin-for-942 === Start of file valgrind942 ==129675== ==129675== Process terminating with default action of signal 4 (SIGILL) ==129675== Illegal opcode at address 0x492B75F ==129675== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129675== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129675== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129675== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129675== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129675== by 0x49908EB: curl_version_info (version.c:600) ==129675== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129675== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129675== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129675== by 0x4003269: main (tool_main.c:195) === End of file valgrind942 test 0949 [SMTP OAuth failure as continuation with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind949 ../src/curl -q --output log/23/curl949.out --include --trace-ascii log/23/trace949 --trace-time smtp://127.0.0.1:38615/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/23/stdout949 2> log/23/stderr949 949: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 949 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind949 ../src/curl -q --output log/23/curl949.out --include --trace-ascii log/23/trace949 --trace-time smtp://127.0.0.1:38615/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/23/stdout949 2> log/23/stderr949 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth Testnum 949 === End of file server.cmd === Start of file smtp_server.log 19:27:47.852028 ====> Client connect 19:27:47.852252 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.862484 < "EHLO verifiedserver" 19:27:47.862549 > "250 ESMTP pingpong test server HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind945 ../src/curl -q --output log/16/curl945.out --include --trace-ascii log/16/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33205/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/16/stdout945 2> log/16/stderr945 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind947 ../src/curl -q --output log/1/curl947.out --include --trace-ascii log/1/trace947 --trace-time smtp://127.0.0.1:42673/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/1/stdout947 2> log/1/stderr947 ello verifiedserver[CR][LF]" 19:27:47.866399 < "HELP" 19:27:47.866446 > "214 WE ROOLZ: 127840[CR][LF]" 19:27:47.866462 return proof we are we 19:27:47.866703 < "QUIT" 19:27:47.866740 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.873107 MAIN sockfilt said DISC 19:27:47.873159 ====> Client disconnected 19:27:47.873246 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.456560 ====> Client connect 19:27:48.464267 Received DATA (on stdin) 19:27:48.464306 > 146 bytes data, server => client 19:27:48.464318 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.464332 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.464340 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.464460 < 21 bytes data, client => server 19:27:48.464472 'EHLO verifiedserver\r\n' 19:27:48.470933 Received DATA (on stdin) 19:27:48.470960 > 53 bytes data, server => client 19:27:48.470972 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.471877 < 6 bytes data, client => server 19:27:48.471895 'HELP\r\n' 19:27:48.472073 Received DATA (on stdin) 19:27:48.472084 > 22 bytes data, server => client 19:27:48.472094 '214 WE ROOLZ: 127840\r\n' 19:27:48.472199 < 6 bytes data, client => server 19:27:48.472211 'QUIT\r\n' 19:27:48.472357 Received DATA (on stdin) 19:27:48.472367 > 35 bytes data, server => client 19:27:48.472377 '221 curl ESMTP server signing off\r\n' 19:27:48.477603 ====> Client disconnect 19:27:48.478861 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-949 mail body === End of file stdin-for-949 === Start of file valgrind949 ==130111== ==130111== Process terminating with default action of signal 4 (SIGILL) ==130111== Illegal opcode at address 0x492B75F ==130111== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130111== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130111== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130111== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130111== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130111== by 0x49908EB: curl_version_info (version.c:600) ==130111== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130111== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130111== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130111== by 0x4003269: main (tool_main.c:195) === End of file valgrind949 test 0945 [SMTP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind945 ../src/curl -q --output log/16/curl945.out --include --trace-ascii log/16/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33205/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/16/stdout945 2> log/16/stderr945 945: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 945 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind945 ../src/curl -q --output log/16/curl945.out --include --trace-ascii log/16/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:33205/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/16/stdout945 2> log/16/stderr945 === End of file commands.log === Start of file server.cmd AUTH EXTERNAL REPLY AUTH 235 Authenticated Testnum 945 === End of file server.cmd === Start of file smtp_server.log 19:27:47.717509 ====> Client connect 19:27:47.717811 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.721243 < "EHLO verifiedserver" 19:27:47.721305 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.722198 < "HELP" 19:27:47.722255 > "214 WE ROOLZ: 127808[CR][LF]" 19:27:47.722277 return proof we are we 19:27:47.722521 < "QUIT" 19:27:47.722557 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.723852 MAIN sockfilt said DISC 19:27:47.723890 ====> Client disconnected 19:27:47.723967 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.320968 ====> Client connect 19:27:48.324520 Received DATA (on stdin) 19:27:48.324581 > 146 bytes data, server => client 19:27:48.324610 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.324627 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.324652 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.326599 < 21 bytes data, client => server 19:27:48.326654 'EHLO verifiedserver\r\n' 19:27:48.326936 Received DATA (on stdin) 19:27:48.326949 > 53 bytes data, server => client 19:27:48.326959 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.327682 < 6 bytes data, client => server 19:27:48.327703 'HELP\r\n' 19:27:48.327908 Received DATA (on stdin) 19:27:48.327921 > 22 bytes data, server => client 19:27:48.327932 '214 WE ROOLZ: 127808\r\n' 19:27:48.328047 < 6 bytes data, client => server 19:27:48.328063 'QUIT\r\n' 19:27:48.328189 Received DATA (on stdin) 19:27:48.328202 > 35 bytes data, server => client 19:27:48.328212 '221 curl ESMTP server signing off\r\n' 19:27:48.329410 ====> Client disconnect 19:27:48.329603 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-945 mail body === End of file stdin-for-945 === Start of file valgrind945 ==129870== ==129870== Process terminating with default action of signal 4 (SIGILL) ==129870== Illegal opcode at address 0x492B75F ==129870== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==129870== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==129870== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==129870== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==129870== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==129870== by 0x49908EB: curl_version_info (version.c:600) ==129870== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==129870== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==129870== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==129870== by 0x4003269: main (tool_main.c:195) === End of file valgrind945 test 0947 [SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind947 ../src/curl -q --output log/1/curl947.out --include --trace-ascii log/1/trace947 --trace-time smtp://127.0.0.1:42673/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/1/stdout947 2> log/1/stderr947 947: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 947 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind947 ../src/curl -q --output log/1/curl947.out --include --trace-ascii log/1/trace947 --trace-time smtp://127.0.0.1:42673/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/1/stdout947 2> log/1/stderr947 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 235 Authenticated Testnum 947 === End of file server.cmd === Start of file smtp_server.log 19:27:47.7CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind951 ../src/curl -q --output log/21/curl951.out --include --trace-ascii log/21/trace951 --trace-time smtp://127.0.0.1:36859/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/21/stdout951 2> log/21/stderr951 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind952 ../src/curl -q --output log/19/curl952.out --include --trace-ascii log/19/trace952 --trace-time smtp://127.0.0.1:33719/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout952 2> log/19/stderr952 95467 ====> Client connect 19:27:47.795690 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:47.796049 < "EHLO verifiedserver" 19:27:47.796102 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:47.796293 < "HELP" 19:27:47.796329 > "214 WE ROOLZ: 127810[CR][LF]" 19:27:47.796344 return proof we are we 19:27:47.805596 < "QUIT" 19:27:47.805661 > "221 curl ESMTP server signing off[CR][LF]" 19:27:47.806935 MAIN sockfilt said DISC 19:27:47.806976 ====> Client disconnected 19:27:47.807059 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.400952 ====> Client connect 19:27:48.401333 Received DATA (on stdin) 19:27:48.401350 > 146 bytes data, server => client 19:27:48.401361 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.401371 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.401379 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.401480 < 21 bytes data, client => server 19:27:48.401494 'EHLO verifiedserver\r\n' 19:27:48.401728 Received DATA (on stdin) 19:27:48.401739 > 53 bytes data, server => client 19:27:48.401750 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.401810 < 6 bytes data, client => server 19:27:48.401821 'HELP\r\n' 19:27:48.401963 Received DATA (on stdin) 19:27:48.401974 > 22 bytes data, server => client 19:27:48.401983 '214 WE ROOLZ: 127810\r\n' 19:27:48.411014 < 6 bytes data, client => server 19:27:48.411047 'QUIT\r\n' 19:27:48.411284 Received DATA (on stdin) 19:27:48.411296 > 35 bytes data, server => client 19:27:48.411307 '221 curl ESMTP server signing off\r\n' 19:27:48.412482 ====> Client disconnect 19:27:48.412682 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-947 mail body === End of file stdin-for-947 === Start of file valgrind947 ==130027== ==130027== Process terminating with default action of signal 4 (SIGILL) ==130027== Illegal opcode at address 0x492B75F ==130027== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130027== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130027== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130027== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130027== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130027== by 0x49908EB: curl_version_info (version.c:600) ==130027== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130027== by 0x4003269: main (tool_main.c:195) === End of file valgrind947 test 0951 [SMTP data with dot as first character] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind951 ../src/curl -q --output log/21/curl951.out --include --trace-ascii log/21/trace951 --trace-time smtp://127.0.0.1:36859/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/21/stdout951 2> log/21/stderr951 951: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 951 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind951 ../src/curl -q --output log/21/curl951.out --include --trace-ascii log/21/trace951 --trace-time smtp://127.0.0.1:36859/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/21/stdout951 2> log/21/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 19:27:48.168703 ====> Client connect 19:27:48.168976 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.172047 < "EHLO verifiedserver" 19:27:48.172114 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.172340 < "HELP" 19:27:48.172392 > "214 WE ROOLZ: 127888[CR][LF]" 19:27:48.172410 return proof we are we 19:27:48.172640 < "QUIT" 19:27:48.172677 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.173853 MAIN sockfilt said DISC 19:27:48.173885 ====> Client disconnected 19:27:48.173966 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:47.772174 ====> Client connect 19:27:47.777194 Received DATA (on stdin) 19:27:47.777231 > 146 bytes data, server => client 19:27:47.777245 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:47.777255 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:47.777264 '220 \___|\___/|_| \_\_____|\r\n' 19:27:47.777382 < 21 bytes data, client => server 19:27:47.777399 'EHLO verifiedserver\r\n' 19:27:47.777704 Received DATA (on stdin) 19:27:47.777718 > 53 bytes data, server => client 19:27:47.777729 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:47.777801 < 6 bytes data, client => server 19:27:47.777815 'HELP\r\n' 19:27:47.777993 Received DATA (on stdin) 19:27:47.778005 > 22 bytes data, server => client 19:27:47.778015 '214 WE ROOLZ: 127888\r\n' 19:27:47.778120 < 6 bytes data, client => server 19:27:47.778134 'QUIT\r\n' 19:27:47.778263 Received DATA (on stdin) 19:27:47.778275 > 35 bytes data, server => client 19:27:47.778285 '221 curl ESMTP server signing off\r\n' 19:27:47.779365 ====> Client disconnect 19:27:47.779562 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-951 .This first line starts with a dot === End of file stdin-for-951 === Start of file valgrind951 ==130358== ==130358== Process terminating with default action of signal 4 (SIGILL) ==130358== Illegal opcode at address 0x492B75F ==130358== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130358== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130358== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130358== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130358== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130358== by 0x49908EB: curl_version_info (version.c:600) ==130358== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130358== by 0x4003269: main (tool_main.c:195) === End of file valgrind951 test 0952 [SMTP data with single dot-only line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind952 ../src/curl -q --output log/19/curl952.out --include --trace-ascii log/19/trace952 --trace-time smtp://127.0.0.1:33719/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout952 2> log/19/stderr952 952: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 952 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind952 ../src/curl -q --output log/19/curl952.out --include --trace-ascii log/19/trace952 --trace-time smtp://127.0.0.1:33719/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout952 2> log/19/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind955 ../src/curl -q --output log/6/curl955.out --include --trace-ascii log/6/trace955 --trace-time smtp://127.0.0.1:39499/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/6/stdout955 2> log/6/stderr955 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind956 ../src/curl -q --output log/5/curl956.out --include --trace-ascii log/5/trace956 --trace-time smtp://127.0.0.1:44397/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/5/stdout956 2> log/5/stderr956 d === Start of file smtp_server.log 19:27:48.441572 ====> Client connect 19:27:48.441782 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.448844 < "EHLO verifiedserver" 19:27:48.448907 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.449141 < "HELP" 19:27:48.449183 > "214 WE ROOLZ: 127656[CR][LF]" 19:27:48.449200 return proof we are we 19:27:48.449434 < "QUIT" 19:27:48.449469 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.450606 MAIN sockfilt said DISC 19:27:48.450638 ====> Client disconnected 19:27:48.450712 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:49.046995 ====> Client connect 19:27:49.050893 Received DATA (on stdin) 19:27:49.050931 > 146 bytes data, server => client 19:27:49.050944 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:49.051000 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:49.051009 '220 \___|\___/|_| \_\_____|\r\n' 19:27:49.051118 < 21 bytes data, client => server 19:27:49.051131 'EHLO verifiedserver\r\n' 19:27:49.054472 Received DATA (on stdin) 19:27:49.054488 > 53 bytes data, server => client 19:27:49.054499 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:49.054577 < 6 bytes data, client => server 19:27:49.054592 'HELP\r\n' 19:27:49.054756 Received DATA (on stdin) 19:27:49.054768 > 22 bytes data, server => client 19:27:49.054777 '214 WE ROOLZ: 127656\r\n' 19:27:49.054883 < 6 bytes data, client => server 19:27:49.054899 'QUIT\r\n' 19:27:49.055028 Received DATA (on stdin) 19:27:49.055041 > 35 bytes data, server => client 19:27:49.055051 '221 curl ESMTP server signing off\r\n' 19:27:49.056109 ====> Client disconnect 19:27:49.056275 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-952 . === End of file stdin-for-952 === Start of file valgrind952 ==130447== ==130447== Process terminating with default action of signal 4 (SIGILL) ==130447== Illegal opcode at address 0x492B75F ==130447== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130447== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130447== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130447== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130447== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130447== by 0x49908EB: curl_version_info (version.c:600) ==130447== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130447== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130447== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130447== by 0x4003269: main (tool_main.c:195) === End of file valgrind952 setenv LC_ALL = C.UTF-8 test 0955 [SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind955 ../src/curl -q --output log/6/curl955.out --include --trace-ascii log/6/trace955 --trace-time smtp://127.0.0.1:39499/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/6/stdout955 2> log/6/stderr955 955: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 955 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind955 ../src/curl -q --output log/6/curl955.out --include --trace-ascii log/6/trace955 --trace-time smtp://127.0.0.1:39499/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/6/stdout955 2> log/6/stderr955 === End of file commands.log === Start of file server.cmd REPLY MAIL 501 not fine enough Testnum 955 === End of file server.cmd === Start of file smtp_server.log 19:27:48.826040 ====> Client connect 19:27:48.826218 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.826527 < "EHLO verifiedserver" 19:27:48.826573 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.826758 < "HELP" 19:27:48.826791 > "214 WE ROOLZ: 127735[CR][LF]" 19:27:48.826805 return proof we are we 19:27:48.827028 < "QUIT" 19:27:48.827058 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.828115 MAIN sockfilt said DISC 19:27:48.828144 ====> Client disconnected 19:27:48.828210 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.431427 ====> Client connect 19:27:48.431749 Received DATA (on stdin) 19:27:48.431766 > 146 bytes data, server => client 19:27:48.431777 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.431786 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.431795 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.431877 < 21 bytes data, client => server 19:27:48.431889 'EHLO verifiedserver\r\n' 19:27:48.432094 Received DATA (on stdin) 19:27:48.432106 > 53 bytes data, server => client 19:27:48.432116 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.432173 < 6 bytes data, client => server 19:27:48.432187 'HELP\r\n' 19:27:48.432321 Received DATA (on stdin) 19:27:48.432331 > 22 bytes data, server => client 19:27:48.432341 '214 WE ROOLZ: 127735\r\n' 19:27:48.432455 < 6 bytes data, client => server 19:27:48.432467 'QUIT\r\n' 19:27:48.432574 Received DATA (on stdin) 19:27:48.432585 > 35 bytes data, server => client 19:27:48.432594 '221 curl ESMTP server signing off\r\n' 19:27:48.433584 ====> Client disconnect 19:27:48.433725 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-955 From: different To: another body === End of file stdin-for-955 === Start of file valgrind955 ==130594== ==130594== Process terminating with default action of signal 4 (SIGILL) ==130594== Illegal opcode at address 0x492B75F ==130594== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130594== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130594== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130594== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130594== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130594== by 0x49908EB: curl_version_info (version.c:600) ==130594== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130594== by 0x4003269: main (tool_main.c:195) === End of file valgrind955 setenv LC_ALL = C.UTF-8 test 0956 [SMTP without SMTPUTF8 support - UTF-8 based recipient (local part)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind956 ../src/curl -q --output log/5/curl956.out --include --trace-ascii log/5/trace956 --trace-time smtp://127.0.0.1:44397/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/5/stdout956 2> log/5/stderr956 956: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 956 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind956 ../src/curl -q --output log/5/curl956.out --include --trace-ascii log/5/trace956 --trace-time smtp://127.0.0.1:44397/956 --mail-rcpt Stödmottagaren@example.com --mail-from senCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:38593/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind953 ../src/curl -q --output log/14/curl953.out --include --trace-ascii log/14/trace953 --trace-time smtp://127.0.0.1:44025/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/14/stdout953 2> log/14/stderr953 der@example.com -T - log/5/stdout956 2> log/5/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 19:27:48.927733 ====> Client connect 19:27:48.927914 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.928208 < "EHLO verifiedserver" 19:27:48.928311 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.928444 < "HELP" 19:27:48.928475 > "214 WE ROOLZ: 127748[CR][LF]" 19:27:48.928489 return proof we are we 19:27:48.928715 < "QUIT" 19:27:48.928749 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.929774 MAIN sockfilt said DISC 19:27:48.929806 ====> Client disconnected 19:27:48.930066 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.533117 ====> Client connect 19:27:48.533434 Received DATA (on stdin) 19:27:48.533449 > 146 bytes data, server => client 19:27:48.533461 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.533470 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.533479 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.533558 < 21 bytes data, client => server 19:27:48.533569 'EHLO verifiedserver\r\n' 19:27:48.533739 Received DATA (on stdin) 19:27:48.533750 > 53 bytes data, server => client 19:27:48.533768 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.533855 < 6 bytes data, client => server 19:27:48.533866 'HELP\r\n' 19:27:48.533994 Received DATA (on stdin) 19:27:48.534004 > 22 bytes data, server => client 19:27:48.534014 '214 WE ROOLZ: 127748\r\n' 19:27:48.534102 < 6 bytes data, client => server 19:27:48.534113 'QUIT\r\n' 19:27:48.534258 Received DATA (on stdin) 19:27:48.534270 > 35 bytes data, server => client 19:27:48.534280 '221 curl ESMTP server signing off\r\n' 19:27:48.535232 ====> Client disconnect 19:27:48.535582 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-956 From: different To: another body === End of file stdin-for-956 === Start of file valgrind956 ==130695== ==130695== Process terminating with default action of signal 4 (SIGILL) ==130695== Illegal opcode at address 0x492B75F ==130695== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130695== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130695== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130695== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130695== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130695== by 0x49908EB: curl_version_info (version.c:600) ==130695== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130695== by 0x4003269: main (tool_main.c:195) === End of file valgrind956 test 0954 [SMTP plain auth with alt authorization identity (Not authorized)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:38593/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 954: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 954 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind954 ../src/curl -q --output log/3/curl954.out --include --trace-ascii log/3/trace954 --trace-time smtp://127.0.0.1:38593/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/3/stdout954 2> log/3/stderr954 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 501 Not authorized Testnum 954 === End of file server.cmd === Start of file smtp_server.log 19:27:48.745477 ====> Client connect 19:27:48.745674 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.746094 < "EHLO verifiedserver" 19:27:48.746149 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.746372 < "HELP" 19:27:48.746412 > "214 WE ROOLZ: 127734[CR][LF]" 19:27:48.746431 return proof we are we 19:27:48.746707 < "QUIT" 19:27:48.746743 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.747960 MAIN sockfilt said DISC 19:27:48.747995 ====> Client disconnected 19:27:48.748064 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.350861 ====> Client connect 19:27:48.351272 Received DATA (on stdin) 19:27:48.351295 > 146 bytes data, server => client 19:27:48.351308 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.351318 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.351328 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.351428 < 21 bytes data, client => server 19:27:48.351445 'EHLO verifiedserver\r\n' 19:27:48.351689 Received DATA (on stdin) 19:27:48.351703 > 53 bytes data, server => client 19:27:48.351715 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.351783 < 6 bytes data, client => server 19:27:48.351799 'HELP\r\n' 19:27:48.351959 Received DATA (on stdin) 19:27:48.351972 > 22 bytes data, server => client 19:27:48.351982 '214 WE ROOLZ: 127734\r\n' 19:27:48.352122 < 6 bytes data, client => server 19:27:48.352139 'QUIT\r\n' 19:27:48.352276 Received DATA (on stdin) 19:27:48.352288 > 35 bytes data, server => client 19:27:48.352298 '221 curl ESMTP server signing off\r\n' 19:27:48.353433 ====> Client disconnect 19:27:48.353593 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-954 mail body === End of file stdin-for-954 === Start of file valgrind954 ==130545== ==130545== Process terminating with default action of signal 4 (SIGILL) ==130545== Illegal opcode at address 0x492B75F ==130545== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130545== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130545== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130545== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130545== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130545== by 0x49908EB: curl_version_info (version.c:600) ==130545== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130545== by 0x4003269: main (tool_main.c:195) === End of file valgrind954 test 0953 [SMTP plain authentication with alternative authorization identity] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind953 ../src/curl -q --output log/14/curl953.out --include --trace-ascii log/14/trace953 --trace-time smtp://127.0.0.1:44025/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/14/stdout953 2> log/14/stderr953 953: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 953 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memchCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind963 ../src/curl -q --output log/22/curl963.out --include --trace-ascii log/22/trace963 --trace-time smtp://127.0.0.1:43827/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/22/stdout963 2> log/22/stderr963 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind964 ../src/curl -q --output log/15/curl964.out --include --trace-ascii log/15/trace964 --trace-time smtp://127.0.0.1:44021/964 --mail-rcpt user@åäö.se > log/15/stdout964 2> log/15/stderr964 eck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind953 ../src/curl -q --output log/14/curl953.out --include --trace-ascii log/14/trace953 --trace-time smtp://127.0.0.1:44025/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/14/stdout953 2> log/14/stderr953 === End of file commands.log === Start of file server.cmd AUTH PLAIN REPLY AUTH 334 PLAIN supported REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 235 Authenticated Testnum 953 === End of file server.cmd === Start of file smtp_server.log 19:27:48.735355 ====> Client connect 19:27:48.735577 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:48.735971 < "EHLO verifiedserver" 19:27:48.736020 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:48.736218 < "HELP" 19:27:48.736252 > "214 WE ROOLZ: 113204[CR][LF]" 19:27:48.736268 return proof we are we 19:27:48.736529 < "QUIT" 19:27:48.736562 > "221 curl ESMTP server signing off[CR][LF]" 19:27:48.737776 MAIN sockfilt said DISC 19:27:48.737810 ====> Client disconnected 19:27:48.737880 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.327542 ====> Client connect 19:27:48.341136 Received DATA (on stdin) 19:27:48.341162 > 146 bytes data, server => client 19:27:48.341174 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.341184 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.341194 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.341323 < 21 bytes data, client => server 19:27:48.341340 'EHLO verifiedserver\r\n' 19:27:48.341556 Received DATA (on stdin) 19:27:48.341569 > 53 bytes data, server => client 19:27:48.341580 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.341644 < 6 bytes data, client => server 19:27:48.341659 'HELP\r\n' 19:27:48.341795 Received DATA (on stdin) 19:27:48.341806 > 22 bytes data, server => client 19:27:48.341817 '214 WE ROOLZ: 113204\r\n' 19:27:48.341955 < 6 bytes data, client => server 19:27:48.341971 'QUIT\r\n' 19:27:48.342094 Received DATA (on stdin) 19:27:48.342107 > 35 bytes data, server => client 19:27:48.342117 '221 curl ESMTP server signing off\r\n' 19:27:48.343250 ====> Client disconnect 19:27:48.343416 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-953 mail body === End of file stdin-for-953 === Start of file valgrind953 ==130539== ==130539== Process terminating with default action of signal 4 (SIGILL) ==130539== Illegal opcode at address 0x492B75F ==130539== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130539== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130539== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130539== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130539== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130539== by 0x49908EB: curl_version_info (version.c:600) ==130539== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130539== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130539== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130539== by 0x4003269: main (tool_main.c:195) === End of file valgrind953 setenv LC_ALL = C.UTF-8 test 0963 [SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind963 ../src/curl -q --output log/22/curl963.out --include --trace-ascii log/22/trace963 --trace-time smtp://127.0.0.1:43827/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/22/stdout963 2> log/22/stderr963 963: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 963 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind963 ../src/curl -q --output log/22/curl963.out --include --trace-ascii log/22/trace963 --trace-time smtp://127.0.0.1:43827/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/22/stdout963 2> log/22/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 19:27:49.391240 ====> Client connect 19:27:49.391423 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.391724 < "EHLO verifiedserver" 19:27:49.391770 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.391951 < "HELP" 19:27:49.391984 > "214 WE ROOLZ: 127746[CR][LF]" 19:27:49.392017 return proof we are we 19:27:49.395416 < "QUIT" 19:27:49.398746 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.405418 MAIN sockfilt said DISC 19:27:49.405474 ====> Client disconnected 19:27:49.405560 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.996559 ====> Client connect 19:27:48.996901 Received DATA (on stdin) 19:27:48.996915 > 146 bytes data, server => client 19:27:48.996927 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.996937 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.996946 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.997027 < 21 bytes data, client => server 19:27:48.997041 'EHLO verifiedserver\r\n' 19:27:48.997237 Received DATA (on stdin) 19:27:48.997248 > 53 bytes data, server => client 19:27:48.997259 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.997320 < 6 bytes data, client => server 19:27:48.997332 'HELP\r\n' 19:27:48.997477 Received DATA (on stdin) 19:27:48.997487 > 22 bytes data, server => client 19:27:48.997495 '214 WE ROOLZ: 127746\r\n' 19:27:48.997586 < 6 bytes data, client => server 19:27:48.997599 'QUIT\r\n' 19:27:49.004243 Received DATA (on stdin) 19:27:49.004266 > 35 bytes data, server => client 19:27:49.004277 '221 curl ESMTP server signing off\r\n' 19:27:49.010794 ====> Client disconnect 19:27:49.011026 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-963 From: different To: another body === End of file stdin-for-963 === Start of file valgrind963 ==130862== ==130862== Process terminating with default action of signal 4 (SIGILL) ==130862== Illegal opcode at address 0x492B75F ==130862== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130862== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130862== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130862== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130862== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130862== by 0x49908EB: curl_version_info (version.c:600) ==130862== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130862== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130862== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130862== by 0x4003269: main (tool_main.c:195) === End of file valgrind963 setenv LC_ALL = C.UTF-8 test 0964 [SMTP external VRFY w/o SMTPUTF8 (IDN) - UTF-8 recipient (host part)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind964 ../src/curl -q --output log/15/curl964.out --include --trace-ascii log/15/trace964 --trace-time smtp://127.0.0.1:44021/964 --mail-rcpt user@åäö.se > log/15/stdout964 2> log/15/stderr964 964: protocol FAILED! There was no content at all in tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:40147/967 --mail-rcpt Användaren@åäö.se > log/24/stdout967 2> log/24/stderr967 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind969 ../src/curl -q --output log/18/curl969.out --include --trace-ascii log/18/trace969 --trace-time smtp://127.0.0.1:33075/969 --mail-rcpt Friends -X EXPN > log/18/stdout969 2> log/18/stderr969 he file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind964 ../src/curl -q --output log/15/curl964.out --include --trace-ascii log/15/trace964 --trace-time smtp://127.0.0.1:44021/964 --mail-rcpt user@åäö.se > log/15/stdout964 2> log/15/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 19:27:49.643047 ====> Client connect 19:27:49.643234 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.643528 < "EHLO verifiedserver" 19:27:49.643568 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.643743 < "HELP" 19:27:49.643775 > "214 WE ROOLZ: 127773[CR][LF]" 19:27:49.643791 return proof we are we 19:27:49.644013 < "QUIT" 19:27:49.644040 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.645174 MAIN sockfilt said DISC 19:27:49.645203 ====> Client disconnected 19:27:49.645271 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:50.248347 ====> Client connect 19:27:50.248689 Received DATA (on stdin) 19:27:50.248704 > 146 bytes data, server => client 19:27:50.248715 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:50.248726 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:50.248735 '220 \___|\___/|_| \_\_____|\r\n' 19:27:50.248813 < 21 bytes data, client => server 19:27:50.248825 'EHLO verifiedserver\r\n' 19:27:50.249009 Received DATA (on stdin) 19:27:50.249020 > 53 bytes data, server => client 19:27:50.249031 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:50.249089 < 6 bytes data, client => server 19:27:50.249101 'HELP\r\n' 19:27:50.249228 Received DATA (on stdin) 19:27:50.249239 > 22 bytes data, server => client 19:27:50.249248 '214 WE ROOLZ: 127773\r\n' 19:27:50.249361 < 6 bytes data, client => server 19:27:50.249375 'QUIT\r\n' 19:27:50.249476 Received DATA (on stdin) 19:27:50.249486 > 35 bytes data, server => client 19:27:50.249496 '221 curl ESMTP server signing off\r\n' 19:27:50.250564 ====> Client disconnect 19:27:50.250710 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==130957== ==130957== Process terminating with default action of signal 4 (SIGILL) ==130957== Illegal opcode at address 0x492B75F ==130957== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130957== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130957== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130957== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130957== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130957== by 0x49908EB: curl_version_info (version.c:600) ==130957== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130957== by 0x4003269: main (tool_main.c:195) === End of file valgrind964 setenv LC_ALL = C.UTF-8 test 0967 [SMTP external VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:40147/967 --mail-rcpt Användaren@åäö.se > log/24/stdout967 2> log/24/stderr967 967: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 967 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind967 ../src/curl -q --output log/24/curl967.out --include --trace-ascii log/24/trace967 --trace-time smtp://127.0.0.1:40147/967 --mail-rcpt Användaren@åäö.se > log/24/stdout967 2> log/24/stderr967 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 967 === End of file server.cmd === Start of file smtp_server.log 19:27:49.846426 ====> Client connect 19:27:49.846607 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.846938 < "EHLO verifiedserver" 19:27:49.846987 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.847167 < "HELP" 19:27:49.847204 > "214 WE ROOLZ: 127811[CR][LF]" 19:27:49.847219 return proof we are we 19:27:49.847737 < "QUIT" 19:27:49.847776 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.847901 MAIN sockfilt said DISC 19:27:49.847935 ====> Client disconnected 19:27:49.848014 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:50.451725 ====> Client connect 19:27:50.452042 Received DATA (on stdin) 19:27:50.452058 > 146 bytes data, server => client 19:27:50.452070 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:50.452080 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:50.452089 '220 \___|\___/|_| \_\_____|\r\n' 19:27:50.452192 < 21 bytes data, client => server 19:27:50.452204 'EHLO verifiedserver\r\n' 19:27:50.452409 Received DATA (on stdin) 19:27:50.452421 > 53 bytes data, server => client 19:27:50.452432 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:50.452482 < 6 bytes data, client => server 19:27:50.452493 'HELP\r\n' 19:27:50.452635 Received DATA (on stdin) 19:27:50.452646 > 22 bytes data, server => client 19:27:50.452656 '214 WE ROOLZ: 127811\r\n' 19:27:50.453041 < 6 bytes data, client => server 19:27:50.453058 'QUIT\r\n' 19:27:50.453200 Received DATA (on stdin) 19:27:50.453214 > 35 bytes data, server => client 19:27:50.453224 '221 curl ESMTP server signing off\r\n' 19:27:50.453271 ====> Client disconnect 19:27:50.453443 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==131094== ==131094== Process terminating with default action of signal 4 (SIGILL) ==131094== Illegal opcode at address 0x492B75F ==131094== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131094== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131094== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131094== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131094== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131094== by 0x49908EB: curl_version_info (version.c:600) ==131094== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131094== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131094== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131094== by 0x4003269: main (tool_main.c:195) === End of file valgrind967 test 0969 [SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind969 ../src/curl -q --output log/18/curl969.out --include --trace-ascii log/18/trace969 --trace-time smtp://127.0.0.1:33075/969 --mail-rcpt Friends -X EXPN > log/18/stdout969 2> log/18/stderr969 969: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 969 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind962 ../src/curl -q --output log/2/curl962.out --include --trace-ascii log/2/trace962 --trace-time smtp://127.0.0.1:33505/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/2/stdout962 2> log/2/stderr962 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:34057/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 ind.supp --num-callers=16 --log-file=log/18/valgrind969 ../src/curl -q --output log/18/curl969.out --include --trace-ascii log/18/trace969 --trace-time smtp://127.0.0.1:33075/969 --mail-rcpt Friends -X EXPN > log/18/stdout969 2> log/18/stderr969 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 969 === End of file server.cmd === Start of file smtp_server.log 19:27:49.995748 ====> Client connect 19:27:49.995905 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.996796 < "EHLO verifiedserver" 19:27:49.996841 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.997017 < "HELP" 19:27:49.997049 > "214 WE ROOLZ: 127847[CR][LF]" 19:27:49.997064 return proof we are we 19:27:49.997276 < "QUIT" 19:27:49.997303 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.998247 MAIN sockfilt said DISC 19:27:49.998275 ====> Client disconnected 19:27:49.998341 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:49.601042 ====> Client connect 19:27:49.601918 Received DATA (on stdin) 19:27:49.601938 > 146 bytes data, server => client 19:27:49.601949 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:49.601958 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:49.601967 '220 \___|\___/|_| \_\_____|\r\n' 19:27:49.602047 < 21 bytes data, client => server 19:27:49.602057 'EHLO verifiedserver\r\n' 19:27:49.602249 Received DATA (on stdin) 19:27:49.602260 > 53 bytes data, server => client 19:27:49.602270 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:49.602329 < 6 bytes data, client => server 19:27:49.602341 'HELP\r\n' 19:27:49.602465 Received DATA (on stdin) 19:27:49.602475 > 22 bytes data, server => client 19:27:49.602484 '214 WE ROOLZ: 127847\r\n' 19:27:49.602595 < 6 bytes data, client => server 19:27:49.602607 'QUIT\r\n' 19:27:49.602703 Received DATA (on stdin) 19:27:49.602713 > 35 bytes data, server => client 19:27:49.602722 '221 curl ESMTP server signing off\r\n' 19:27:49.603602 ====> Client disconnect 19:27:49.603746 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==131242== ==131242== Process terminating with default action of signal 4 (SIGILL) ==131242== Illegal opcode at address 0x492B75F ==131242== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131242== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131242== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131242== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131242== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131242== by 0x49908EB: curl_version_info (version.c:600) ==131242== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131242== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131242== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131242== by 0x4003269: main (tool_main.c:195) === End of file valgrind969 setenv LC_ALL = C.UTF-8 test 0962 [SMTP without SMTPUTF8 support - UTF-8 based sender, with IDN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind962 ../src/curl -q --output log/2/curl962.out --include --trace-ascii log/2/trace962 --trace-time smtp://127.0.0.1:33505/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/2/stdout962 2> log/2/stderr962 962: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 962 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind962 ../src/curl -q --output log/2/curl962.out --include --trace-ascii log/2/trace962 --trace-time smtp://127.0.0.1:33505/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/2/stdout962 2> log/2/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 19:27:49.362026 ====> Client connect 19:27:49.362275 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.362662 < "EHLO verifiedserver" 19:27:49.362720 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.362950 < "HELP" 19:27:49.362992 > "214 WE ROOLZ: 127750[CR][LF]" 19:27:49.363012 return proof we are we 19:27:49.363261 < "QUIT" 19:27:49.363297 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.364570 MAIN sockfilt said DISC 19:27:49.364604 ====> Client disconnected 19:27:49.364677 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:48.964141 ====> Client connect 19:27:48.967774 Received DATA (on stdin) 19:27:48.967797 > 146 bytes data, server => client 19:27:48.967809 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:48.967820 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:48.967830 '220 \___|\___/|_| \_\_____|\r\n' 19:27:48.967943 < 21 bytes data, client => server 19:27:48.967962 'EHLO verifiedserver\r\n' 19:27:48.968198 Received DATA (on stdin) 19:27:48.968213 > 53 bytes data, server => client 19:27:48.968227 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:48.968299 < 6 bytes data, client => server 19:27:48.968315 'HELP\r\n' 19:27:48.968481 Received DATA (on stdin) 19:27:48.968494 > 22 bytes data, server => client 19:27:48.968505 '214 WE ROOLZ: 127750\r\n' 19:27:48.968620 < 6 bytes data, client => server 19:27:48.968637 'QUIT\r\n' 19:27:48.968768 Received DATA (on stdin) 19:27:48.968781 > 35 bytes data, server => client 19:27:48.968792 '221 curl ESMTP server signing off\r\n' 19:27:48.969982 ====> Client disconnect 19:27:48.970153 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-962 From: different To: another body === End of file stdin-for-962 === Start of file valgrind962 ==130836== ==130836== Process terminating with default action of signal 4 (SIGILL) ==130836== Illegal opcode at address 0x492B75F ==130836== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==130836== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==130836== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==130836== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==130836== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==130836== by 0x49908EB: curl_version_info (version.c:600) ==130836== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==130836== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==130836== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==130836== by 0x4003269: main (tool_main.c:195) === End of file valgrind962 setenv LC_ALL = C.UTF-8 test 0968 [SMTP VRFY with SMTPUTF8 support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --include --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:34057/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 968: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 968 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind968 ../src/curl -q --output log/8/curl968.out --iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind966 ../src/curl -q --output log/7/curl966.out --include --trace-ascii log/7/trace966 --trace-time smtp://127.0.0.1:33449/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/7/stdout966 2> log/7/stderr966 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind975 ../src/curl -q --output log/10/curl975.out --include --trace-ascii log/10/trace975 --trace-time http://127.0.0.1:40913/975 --location-trusted -u joe:secret > log/10/stdout975 2> log/10/stderr975 nclude --trace-ascii log/8/trace968 --trace-time smtp://127.0.0.1:34057/968 --mail-rcpt Användaren > log/8/stdout968 2> log/8/stderr968 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 968 === End of file server.cmd === Start of file smtp_server.log 19:27:49.865462 ====> Client connect 19:27:49.865663 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.865982 < "EHLO verifiedserver" 19:27:49.866029 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.866195 < "HELP" 19:27:49.866227 > "214 WE ROOLZ: 113206[CR][LF]" 19:27:49.866241 return proof we are we 19:27:49.866434 < "QUIT" 19:27:49.866461 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.868684 MAIN sockfilt said DISC 19:27:49.868719 ====> Client disconnected 19:27:49.868790 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:49.470771 ====> Client connect 19:27:49.471092 Received DATA (on stdin) 19:27:49.471105 > 146 bytes data, server => client 19:27:49.471116 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:49.471126 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:49.471135 '220 \___|\___/|_| \_\_____|\r\n' 19:27:49.471221 < 21 bytes data, client => server 19:27:49.471232 'EHLO verifiedserver\r\n' 19:27:49.471447 Received DATA (on stdin) 19:27:49.471458 > 53 bytes data, server => client 19:27:49.471469 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:49.471527 < 6 bytes data, client => server 19:27:49.471536 'HELP\r\n' 19:27:49.471655 Received DATA (on stdin) 19:27:49.471665 > 22 bytes data, server => client 19:27:49.471675 '214 WE ROOLZ: 113206\r\n' 19:27:49.471767 < 6 bytes data, client => server 19:27:49.471778 'QUIT\r\n' 19:27:49.471876 Received DATA (on stdin) 19:27:49.471886 > 35 bytes data, server => client 19:27:49.471896 '221 curl ESMTP server signing off\r\n' 19:27:49.472911 ====> Client disconnect 19:27:49.474509 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==131131== ==131131== Process terminating with default action of signal 4 (SIGILL) ==131131== Illegal opcode at address 0x492B75F ==131131== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131131== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131131== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131131== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131131== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131131== by 0x49908EB: curl_version_info (version.c:600) ==131131== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131131== by 0x4003269: main (tool_main.c:195) === End of file valgrind968 setenv LC_ALL = C.UTF-8 test 0966 [SMTP with SMTPUTF8 support - UTF-8 based recipient] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind966 ../src/curl -q --output log/7/curl966.out --include --trace-ascii log/7/trace966 --trace-time smtp://127.0.0.1:33449/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/7/stdout966 2> log/7/stderr966 966: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 966 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind966 ../src/curl -q --output log/7/curl966.out --include --trace-ascii log/7/trace966 --trace-time smtp://127.0.0.1:33449/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/7/stdout966 2> log/7/stderr966 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 966 === End of file server.cmd === Start of file smtp_server.log 19:27:49.792271 ====> Client connect 19:27:49.792597 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.792924 < "EHLO verifiedserver" 19:27:49.792973 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.793156 < "HELP" 19:27:49.793189 > "214 WE ROOLZ: 127841[CR][LF]" 19:27:49.793204 return proof we are we 19:27:49.793428 < "QUIT" 19:27:49.793459 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.794352 MAIN sockfilt said DISC 19:27:49.794386 ====> Client disconnected 19:27:49.794458 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:50.397576 ====> Client connect 19:27:50.398047 Received DATA (on stdin) 19:27:50.398064 > 146 bytes data, server => client 19:27:50.398075 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:50.398086 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:50.398095 '220 \___|\___/|_| \_\_____|\r\n' 19:27:50.398185 < 21 bytes data, client => server 19:27:50.398197 'EHLO verifiedserver\r\n' 19:27:50.398399 Received DATA (on stdin) 19:27:50.398410 > 53 bytes data, server => client 19:27:50.398421 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:50.398482 < 6 bytes data, client => server 19:27:50.398492 'HELP\r\n' 19:27:50.398625 Received DATA (on stdin) 19:27:50.398636 > 22 bytes data, server => client 19:27:50.398646 '214 WE ROOLZ: 127841\r\n' 19:27:50.398760 < 6 bytes data, client => server 19:27:50.398772 'QUIT\r\n' 19:27:50.398880 Received DATA (on stdin) 19:27:50.398890 > 35 bytes data, server => client 19:27:50.398900 '221 curl ESMTP server signing off\r\n' 19:27:50.399722 ====> Client disconnect 19:27:50.399884 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-966 From: different To: another body === End of file stdin-for-966 === Start of file valgrind966 ==131065== ==131065== Process terminating with default action of signal 4 (SIGILL) ==131065== Illegal opcode at address 0x492B75F ==131065== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131065== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131065== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131065== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131065== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131065== by 0x49908EB: curl_version_info (version.c:600) ==131065== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131065== by 0x4003269: main (tool_main.c:195) === End of file valgrind966 test 0975 [HTTP with auth redirected to FTP allowing auth to continue] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind975 ../src/curl -q --output log/10/curl975.out --include --trace-ascii log/10/trace975 --trace-time http://127.0.0.1:40913/975 --location-trusted -u joe:secret > log/10/stdout975 2> log/10/stderr975 975: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 975 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind975 ../src/curl -q --output log/10/curl975.out --include --trace-ascii log/10/trace975 --trace-time http://127.0.0.1:40913CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind976 ../src/curl -q --output log/20/curl976.out --include --trace-ascii log/20/trace976 --trace-time -x http://127.0.0.1:33897 http://firsthost.com --location-trusted -u joe:secret > log/20/stdout976 2> log/20/stderr976 /975 --location-trusted -u joe:secret > log/10/stdout975 2> log/10/stderr975 === End of file commands.log === Start of file ftp_server.log 19:27:50.228697 ====> Client connect 19:27:50.228900 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:50.229273 < "USER anonymous" 19:27:50.229309 > "331 We are happy you popped in![CR][LF]" 19:27:50.229459 < "PASS ftp@example.com" 19:27:50.229484 > "230 Welcome you silly person[CR][LF]" 19:27:50.229625 < "PWD" 19:27:50.229655 > "257 "/" is current directory[CR][LF]" 19:27:50.229806 < "EPSV" 19:27:50.229829 ====> Passive DATA channel requested by client 19:27:50.229842 DATA sockfilt for passive data channel starting... 19:27:50.234254 DATA sockfilt for passive data channel started (pid 131515) 19:27:50.234383 DATA sockfilt for passive data channel listens on port 36911 19:27:50.234437 > "229 Entering Passive Mode (|||36911|)[CR][LF]" 19:27:50.234457 Client has been notified that upcoming DATA connection is awaited on port 36911 19:27:50.234744 Client connects to port 36911 19:27:50.234776 ====> Client established passive DATA connection on port 36911 19:27:50.234877 < "TYPE I" 19:27:50.234918 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:50.235106 < "SIZE verifiedserver" 19:27:50.235154 > "213 17[CR][LF]" 19:27:50.235346 < "RETR verifiedserver" 19:27:50.235388 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:50.235493 =====> Closing passive DATA connection... 19:27:50.235516 Server disconnects passive DATA connection 19:27:50.235782 Server disconnected passive DATA connection 19:27:50.235814 DATA sockfilt for passive data channel quits (pid 131515) 19:27:50.236093 DATA sockfilt for passive data channel quit (pid 131515) 19:27:50.236123 =====> Closed passive DATA connection 19:27:50.236154 > "226 File transfer complete[CR][LF]" 19:27:50.283370 < "QUIT" 19:27:50.283431 > "221 bye bye baby[CR][LF]" 19:27:50.284492 MAIN sockfilt said DISC 19:27:50.284526 ====> Client disconnected 19:27:50.284608 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:50.829934 ====> Client connect 19:27:50.834369 Received DATA (on stdin) 19:27:50.834388 > 146 bytes data, server => client 19:27:50.834399 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:50.834409 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:50.834418 '220 \___|\___/|_| \_\_____|\r\n' 19:27:50.834531 < 16 bytes data, client => server 19:27:50.834541 'USER anonymous\r\n' 19:27:50.834691 Received DATA (on stdin) 19:27:50.834701 > 33 bytes data, server => client 19:27:50.834711 '331 We are happy you popped in!\r\n' 19:27:50.834761 < 22 bytes data, client => server 19:27:50.834770 'PASS ftp@example.com\r\n' 19:27:50.834863 Received DATA (on stdin) 19:27:50.834873 > 30 bytes data, server => client 19:27:50.834882 '230 Welcome you silly person\r\n' 19:27:50.834929 < 5 bytes data, client => server 19:27:50.834938 'PWD\r\n' 19:27:50.835034 Received DATA (on stdin) 19:27:50.835044 > 30 bytes data, server => client 19:27:50.835053 '257 "/" is current directory\r\n' 19:27:50.835110 < 6 bytes data, client => server 19:27:50.835120 'EPSV\r\n' 19:27:50.839848 Received DATA (on stdin) 19:27:50.839863 > 39 bytes data, server => client 19:27:50.839874 '229 Entering Passive Mode (|||36911|)\r\n' 19:27:50.840035 < 8 bytes data, client => server 19:27:50.840052 'TYPE I\r\n' 19:27:50.840306 Received DATA (on stdin) 19:27:50.840319 > 33 bytes data, server => client 19:27:50.840329 '200 I modify TYPE as you wanted\r\n' 19:27:50.840389 < 21 bytes data, client => server 19:27:50.840404 'SIZE verifiedserver\r\n' 19:27:50.840543 Received DATA (on stdin) 19:27:50.840555 > 8 bytes data, server => client 19:27:50.840565 '213 17\r\n' 19:27:50.840621 < 21 bytes data, client => server 19:27:50.840635 'RETR verifiedserver\r\n' 19:27:50.840905 Received DATA (on stdin) 19:27:50.840918 > 29 bytes data, server => client 19:27:50.840928 '150 Binary junk (17 bytes).\r\n' 19:27:50.841540 Received DATA (on stdin) 19:27:50.841553 > 28 bytes data, server => client 19:27:50.841564 '226 File transfer complete\r\n' 19:27:50.888550 < 6 bytes data, client => server 19:27:50.888580 'QUIT\r\n' 19:27:50.888812 Received DATA (on stdin) 19:27:50.888823 > 18 bytes data, server => client 19:27:50.888833 '221 bye bye baby\r\n' 19:27:50.889816 ====> Client disconnect 19:27:50.889983 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:50.838781 Running IPv4 version 19:27:50.838873 Listening on port 36911 19:27:50.838922 Wrote pid 131515 to log/10/server/ftp_sockdata.pid 19:27:50.839563 Received PING (on stdin) 19:27:50.839669 Received PORT (on stdin) 19:27:50.840074 ====> Client connect 19:27:50.840990 Received DATA (on stdin) 19:27:50.841006 > 17 bytes data, server => client 19:27:50.841017 'WE ROOLZ: 85153\r\n' 19:27:50.841048 Received DISC (on stdin) 19:27:50.841062 ====> Client forcibly disconnected 19:27:50.841207 Received QUIT (on stdin) 19:27:50.841220 quits 19:27:50.841288 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:27:49.770762 ====> Client connect 19:27:49.770804 accept_connection 3 returned 4 19:27:49.770833 Read 93 bytes 19:27:49.770845 Process 93 bytes request 19:27:49.770858 Got request: GET /verifiedserver HTTP/1.1 19:27:49.770866 Are-we-friendly question received 19:27:49.770896 Wrote request (93 bytes) input to log/10/server.input 19:27:49.770915 Identifying ourselves as friends 19:27:49.771013 Response sent (56 bytes) and written to log/10/server.response 19:27:49.771026 special request received, no persistency 19:27:49.771035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 45034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 975 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind975 ==131605== ==131605== Process terminating with default action of signal 4 (SIGILL) ==131605== Illegal opcode at address 0x492B75F ==131605== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131605== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131605== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131605== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131605== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131605== by 0x49908EB: curl_version_info (version.c:600) ==131605== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131605== by 0x4003269: main (tool_main.c:195) === End of file valgrind975 test 0976 [HTTP with auth redirected to HTTP on a diff port --location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind976 ../src/curl -q --output log/20/curl976.out --include --trace-ascii log/20/trace976 --trace-time -x http://127.0.0.1:33897 http://firsthost.com --location-trusted -u joe:secret > log/20/stdout976 2> log/20/stderr976 976: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 976 === StCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind965 ../src/curl -q --output log/9/curl965.out --include --trace-ascii log/9/trace965 --trace-time smtp://127.0.0.1:44813/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/9/stdout965 2> log/9/stderr965 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind973 ../src/curl -q --output log/13/curl973.out --include --trace-ascii log/13/trace973 --trace-time http://127.0.0.1:38821/973 -L -u joe:secret > log/13/stdout973 2> log/13/stderr973 art of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind976 ../src/curl -q --output log/20/curl976.out --include --trace-ascii log/20/trace976 --trace-time -x http://127.0.0.1:33897 http://firsthost.com --location-trusted -u joe:secret > log/20/stdout976 2> log/20/stderr976 === End of file commands.log === Start of file http_server.log 19:27:49.831418 ====> Client connect 19:27:49.831452 accept_connection 3 returned 4 19:27:49.837375 Read 93 bytes 19:27:49.837399 Process 93 bytes request 19:27:49.837415 Got request: GET /verifiedserver HTTP/1.1 19:27:49.837423 Are-we-friendly question received 19:27:49.837464 Wrote request (93 bytes) input to log/20/server.input 19:27:49.837483 Identifying ourselves as friends 19:27:49.837555 Response sent (56 bytes) and written to log/20/server.response 19:27:49.837566 special request received, no persistency 19:27:49.837574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 44136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 976 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind976 ==131544== ==131544== Process terminating with default action of signal 4 (SIGILL) ==131544== Illegal opcode at address 0x492B75F ==131544== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131544== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131544== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131544== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131544== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131544== by 0x49908EB: curl_version_info (version.c:600) ==131544== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131544== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131544== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131544== by 0x4003269: main (tool_main.c:195) === End of file valgrind976 setenv LC_ALL = C.UTF-8 test 0965 [SMTP with SMTPUTF8 support - UTF-8 based sender] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind965 ../src/curl -q --output log/9/curl965.out --include --trace-ascii log/9/trace965 --trace-time smtp://127.0.0.1:44813/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/9/stdout965 2> log/9/stderr965 965: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 965 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind965 ../src/curl -q --output log/9/curl965.out --include --trace-ascii log/9/trace965 --trace-time smtp://127.0.0.1:44813/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/9/stdout965 2> log/9/stderr965 === End of file commands.log === Start of file server.cmd CAPA SMTPUTF8 Testnum 965 === End of file server.cmd === Start of file smtp_server.log 19:27:49.802136 ====> Client connect 19:27:49.802316 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:49.802669 < "EHLO verifiedserver" 19:27:49.802717 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:49.802921 < "HELP" 19:27:49.802957 > "214 WE ROOLZ: 127818[CR][LF]" 19:27:49.802974 return proof we are we 19:27:49.803217 < "QUIT" 19:27:49.803245 > "221 curl ESMTP server signing off[CR][LF]" 19:27:49.804441 MAIN sockfilt said DISC 19:27:49.804471 ====> Client disconnected 19:27:49.804543 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:50.407424 ====> Client connect 19:27:50.407760 Received DATA (on stdin) 19:27:50.407778 > 146 bytes data, server => client 19:27:50.407789 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:50.407799 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:50.407808 '220 \___|\___/|_| \_\_____|\r\n' 19:27:50.407923 < 21 bytes data, client => server 19:27:50.407938 'EHLO verifiedserver\r\n' 19:27:50.408147 Received DATA (on stdin) 19:27:50.408159 > 53 bytes data, server => client 19:27:50.408170 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:50.408239 < 6 bytes data, client => server 19:27:50.408251 'HELP\r\n' 19:27:50.408397 Received DATA (on stdin) 19:27:50.408408 > 22 bytes data, server => client 19:27:50.408419 '214 WE ROOLZ: 127818\r\n' 19:27:50.408542 < 6 bytes data, client => server 19:27:50.408557 'QUIT\r\n' 19:27:50.408668 Received DATA (on stdin) 19:27:50.408679 > 35 bytes data, server => client 19:27:50.408689 '221 curl ESMTP server signing off\r\n' 19:27:50.409811 ====> Client disconnect 19:27:50.409972 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-965 From: different To: another body === End of file stdin-for-965 === Start of file valgrind965 ==131052== ==131052== Process terminating with default action of signal 4 (SIGILL) ==131052== Illegal opcode at address 0x492B75F ==131052== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131052== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131052== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131052== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131052== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131052== by 0x49908EB: curl_version_info (version.c:600) ==131052== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131052== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131052== by 0x4003269: main (tool_main.c:195) === End of file valgrind965 test 0973 [HTTP with auth redirected to FTP w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind973 ../src/curl -q --output log/13/curl973.out --include --trace-ascii log/13/trace973 --trace-time http://127.0.0.1:38821/973 -L -u joe:secret > log/13/stdout973 2> log/13/stderr973 973: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 973 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind973 ../src/curl -q --output log/13/curl973.out --include --trace-ascii log/13/trace973 --trace-time http://127.0.0.1:38821/973 -L -u joe:secret > log/13/stdout973 2> log/13/stderr973 === End of file commands.log === Start of file ftp_server.log 19:27:50.228500 ====> Client connect 19:27:50.228710 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:50.228953 < "USER anonymous" 19:27:50.228983 > "331CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind978 ../src/curl -q --output log/16/curl978.out --include --trace-ascii log/16/trace978 --trace-time http://127.0.0.1:35903/978 --stderr log/16/redir --silent -w '%{stderr}nonsense\n' > log/16/stdout978 2> log/16/stderr978 We are happy you popped in![CR][LF]" 19:27:50.230574 < "PASS ftp@example.com" 19:27:50.230602 > "230 Welcome you silly person[CR][LF]" 19:27:50.230740 < "PWD" 19:27:50.230770 > "257 "/" is current directory[CR][LF]" 19:27:50.230911 < "EPSV" 19:27:50.230935 ====> Passive DATA channel requested by client 19:27:50.230948 DATA sockfilt for passive data channel starting... 19:27:50.239890 DATA sockfilt for passive data channel started (pid 131517) 19:27:50.240070 DATA sockfilt for passive data channel listens on port 37517 19:27:50.240117 > "229 Entering Passive Mode (|||37517|)[CR][LF]" 19:27:50.240135 Client has been notified that upcoming DATA connection is awaited on port 37517 19:27:50.240412 Client connects to port 37517 19:27:50.240442 ====> Client established passive DATA connection on port 37517 19:27:50.240538 < "TYPE I" 19:27:50.240573 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:50.240730 < "SIZE verifiedserver" 19:27:50.240763 > "213 17[CR][LF]" 19:27:50.240908 < "RETR verifiedserver" 19:27:50.240943 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:50.241045 =====> Closing passive DATA connection... 19:27:50.241064 Server disconnects passive DATA connection 19:27:50.241302 Server disconnected passive DATA connection 19:27:50.241329 DATA sockfilt for passive data channel quits (pid 131517) 19:27:50.241629 DATA sockfilt for passive data channel quit (pid 131517) 19:27:50.241653 =====> Closed passive DATA connection 19:27:50.241684 > "226 File transfer complete[CR][LF]" 19:27:50.290789 < "QUIT" 19:27:50.290842 > "221 bye bye baby[CR][LF]" 19:27:50.293678 MAIN sockfilt said DISC 19:27:50.293721 ====> Client disconnected 19:27:50.293802 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:49.833788 ====> Client connect 19:27:49.834103 Received DATA (on stdin) 19:27:49.834117 > 146 bytes data, server => client 19:27:49.834128 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:49.834138 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:49.834148 '220 \___|\___/|_| \_\_____|\r\n' 19:27:49.834216 < 16 bytes data, client => server 19:27:49.834227 'USER anonymous\r\n' 19:27:49.834446 Received DATA (on stdin) 19:27:49.834457 > 33 bytes data, server => client 19:27:49.834467 '331 We are happy you popped in!\r\n' 19:27:49.835849 < 22 bytes data, client => server 19:27:49.835864 'PASS ftp@example.com\r\n' 19:27:49.835981 Received DATA (on stdin) 19:27:49.835991 > 30 bytes data, server => client 19:27:49.836000 '230 Welcome you silly person\r\n' 19:27:49.836046 < 5 bytes data, client => server 19:27:49.836055 'PWD\r\n' 19:27:49.836147 Received DATA (on stdin) 19:27:49.836157 > 30 bytes data, server => client 19:27:49.836166 '257 "/" is current directory\r\n' 19:27:49.836217 < 6 bytes data, client => server 19:27:49.836227 'EPSV\r\n' 19:27:49.845525 Received DATA (on stdin) 19:27:49.845541 > 39 bytes data, server => client 19:27:49.845551 '229 Entering Passive Mode (|||37517|)\r\n' 19:27:49.845712 < 8 bytes data, client => server 19:27:49.845725 'TYPE I\r\n' 19:27:49.845955 Received DATA (on stdin) 19:27:49.845966 > 33 bytes data, server => client 19:27:49.845976 '200 I modify TYPE as you wanted\r\n' 19:27:49.846030 < 21 bytes data, client => server 19:27:49.846040 'SIZE verifiedserver\r\n' 19:27:49.846142 Received DATA (on stdin) 19:27:49.846152 > 8 bytes data, server => client 19:27:49.846162 '213 17\r\n' 19:27:49.846209 < 21 bytes data, client => server 19:27:49.846220 'RETR verifiedserver\r\n' 19:27:49.846448 Received DATA (on stdin) 19:27:49.846460 > 29 bytes data, server => client 19:27:49.846470 '150 Binary junk (17 bytes).\r\n' 19:27:49.847066 Received DATA (on stdin) 19:27:49.847079 > 28 bytes data, server => client 19:27:49.847089 '226 File transfer complete\r\n' 19:27:49.895492 < 6 bytes data, client => server 19:27:49.895517 'QUIT\r\n' 19:27:49.896222 Received DATA (on stdin) 19:27:49.896235 > 18 bytes data, server => client 19:27:49.896246 '221 bye bye baby\r\n' 19:27:49.898480 ====> Client disconnect 19:27:49.899185 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:50.844785 Running IPv4 version 19:27:50.844858 Listening on port 37517 19:27:50.844900 Wrote pid 131517 to log/13/server/ftp_sockdata.pid 19:27:50.844920 Received PING (on stdin) 19:27:50.845329 Received PORT (on stdin) 19:27:50.845744 ====> Client connect 19:27:50.846499 Received DATA (on stdin) 19:27:50.846511 > 17 bytes data, server => client 19:27:50.846525 'WE ROOLZ: 93286\r\n' 19:27:50.846552 Received DISC (on stdin) 19:27:50.846563 ====> Client forcibly disconnected 19:27:50.846718 Received QUIT (on stdin) 19:27:50.846728 quits 19:27:50.846813 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:27:49.752321 ====> Client connect 19:27:49.752355 accept_connection 3 returned 4 19:27:49.752379 Read 93 bytes 19:27:49.752388 Process 93 bytes request 19:27:49.752401 Got request: GET /verifiedserver HTTP/1.1 19:27:49.752409 Are-we-friendly question received 19:27:49.752469 Wrote request (93 bytes) input to log/13/server.input 19:27:49.752486 Identifying ourselves as friends 19:27:49.752559 Response sent (56 bytes) and written to log/13/server.response 19:27:49.752570 special request received, no persistency 19:27:49.752578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 973 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind973 ==131734== ==131734== Process terminating with default action of signal 4 (SIGILL) ==131734== Illegal opcode at address 0x492B75F ==131734== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131734== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131734== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131734== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131734== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131734== by 0x49908EB: curl_version_info (version.c:600) ==131734== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131734== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131734== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131734== by 0x4003269: main (tool_main.c:195) === End of file valgrind973 test 0978 [verify that --stderr works for -w's stderr as well] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind978 ../src/curl -q --output log/16/curl978.out --include --trace-ascii log/16/trace978 --trace-time http://127.0.0.1:35903/978 --stderr log/16/redir --silent -w '%{stderr}nonsense\n' > log/16/stdout978 2> log/16/stderr978 978: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 978 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind978 ../src/curl -q --output log/16/curl978.out --include --trace-ascii log/16/trace978 --trace-time http://127.0.0.1:35903/978 --stderr log/16/redir --silent -w '%{stderr}nonsense\n' > log/16/stdout978 2> log/16/stderr978 === End of file cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind958 ../src/curl -q --output log/11/curl958.out --include --trace-ascii log/11/trace958 --trace-time smtp://127.0.0.1:41097/958 --mail-rcpt Användaren@example.com > log/11/stdout958 2> log/11/stderr958 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind979 ../src/curl -q --output log/4/curl979.out --include --trace-ascii log/4/trace979 --trace-time http://first:secret@127.0.0.1:35735/979 -L -u smith:doggie > log/4/stdout979 2> log/4/stderr979 ommands.log === Start of file http_server.log 19:27:50.914098 ====> Client connect 19:27:50.914142 accept_connection 3 returned 4 19:27:50.914168 Read 93 bytes 19:27:50.914179 Process 93 bytes request 19:27:50.914192 Got request: GET /verifiedserver HTTP/1.1 19:27:50.914201 Are-we-friendly question received 19:27:50.914232 Wrote request (93 bytes) input to log/16/server.input 19:27:50.914252 Identifying ourselves as friends 19:27:50.914346 Response sent (56 bytes) and written to log/16/server.response 19:27:50.914359 special request received, no persistency 19:27:50.914368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 45434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 978 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind978 ==131621== ==131621== Process terminating with default action of signal 4 (SIGILL) ==131621== Illegal opcode at address 0x492B75F ==131621== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131621== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131621== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131621== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131621== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131621== by 0x49908EB: curl_version_info (version.c:600) ==131621== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131621== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131621== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131621== by 0x4003269: main (tool_main.c:195) === End of file valgrind978 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/smtp_server.pid" --logfile "log/11/smtp_server.log" --logdir "log/11" --portfile "log/11/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41097 (log/11/server/smtp_server.port) RUN: SMTP server is PID 130773 port 41097 * pid smtp => 130773 130773 setenv LC_ALL = C.UTF-8 test 0958 [SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind958 ../src/curl -q --output log/11/curl958.out --include --trace-ascii log/11/trace958 --trace-time smtp://127.0.0.1:41097/958 --mail-rcpt Användaren@example.com > log/11/stdout958 2> log/11/stderr958 958: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 958 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind958 ../src/curl -q --output log/11/curl958.out --include --trace-ascii log/11/trace958 --trace-time smtp://127.0.0.1:41097/958 --mail-rcpt Användaren@example.com > log/11/stdout958 2> log/11/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 19:27:49.134821 SMTP server listens on port IPv4/41097 19:27:49.134916 logged pid 130773 in log/11/server/smtp_server.pid 19:27:49.134960 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:49.739891 Running IPv4 version 19:27:49.739994 Listening on port 41097 19:27:49.740036 Wrote pid 130788 to log/11/server/smtp_sockfilt.pid 19:27:49.740067 Wrote port 41097 to log/11/server/smtp_server.port 19:27:49.740212 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==131355== ==131355== Process terminating with default action of signal 4 (SIGILL) ==131355== Illegal opcode at address 0x492B75F ==131355== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131355== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131355== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131355== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131355== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131355== by 0x49908EB: curl_version_info (version.c:600) ==131355== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131355== by 0x4003269: main (tool_main.c:195) === End of file valgrind958 test 0979 [-u with redirect to absolute URL using same origin and auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind979 ../src/curl -q --output log/4/curl979.out --include --trace-ascii log/4/trace979 --trace-time http://first:secret@127.0.0.1:35735/979 -L -u smith:doggie > log/4/stdout979 2> log/4/stderr979 979: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 979 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind979 ../src/curl -q --output log/4/curl979.out --include --trace-ascii log/4/trace979 --trace-time http://first:secret@127.0.0.1:35735/979 -L -u smith:doggie > log/4/stdout979 2> log/4/stderr979 === End of file commands.log === Start of file http_server.log 19:27:50.916561 ====> Client connect 19:27:50.916601 accept_connection 3 returned 4 19:27:50.916623 Read 93 bytes 19:27:50.916633 Process 93 bytes request 19:27:50.916645 Got request: GET /verifiedserver HTTP/1.1 19:27:50.916654 Are-we-friendly question received 19:27:50.916686 Wrote request (93 bytes) input to log/4/server.input 19:27:50.916704 Identifying ourselves as friends 19:27:50.916773 Response sent (56 bytes) and written to log/4/server.response 19:27:50.916783 special request received, no persistency 19:27:50.916791 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 45768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 979 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind979 ==131629== ==131629== Process terminating with default action of signal 4 (SIGILL) ==131629== Illegal opcode at address 0x492B75F ==131629== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131629== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131629== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131629== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131629== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131629== by 0x49908EB: curl_version_info (vCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind977 ../src/curl -q --output log/23/curl977.out --include --trace-ascii log/23/trace977 --trace-time -x http://127.0.0.1:44711 http://firsthost.me. -c log/23/cookies977 > log/23/stdout977 2> log/23/stderr977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind974 ../src/curl -q --output log/17/curl974.out --include --trace-ascii log/17/trace974 --trace-time -x http://127.0.0.1:35993 http://firsthost.com -L -u joe:secret > log/17/stdout974 2> log/17/stderr974 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind957 ../src/curl -q --output log/12/curl957.out --include --trace-ascii log/12/trace957 --trace-time smtp://127.0.0.1:36039/957 --mail-rcpt Användaren > log/12/stdout957 2> log/12/stderr957 ersion.c:600) ==131629== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131629== by 0x4003269: main (tool_main.c:195) === End of file valgrind979 test 0977 [URL with trailing dot and receiving a cookie for the TLD with dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind977 ../src/curl -q --output log/23/curl977.out --include --trace-ascii log/23/trace977 --trace-time -x http://127.0.0.1:44711 http://firsthost.me. -c log/23/cookies977 > log/23/stdout977 2> log/23/stderr977 977: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 977 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind977 ../src/curl -q --output log/23/curl977.out --include --trace-ascii log/23/trace977 --trace-time -x http://127.0.0.1:44711 http://firsthost.me. -c log/23/cookies977 > log/23/stdout977 2> log/23/stderr977 === End of file commands.log === Start of file http_server.log 19:27:49.927438 ====> Client connect 19:27:49.927486 accept_connection 3 returned 4 19:27:49.927513 Read 93 bytes 19:27:49.927523 Process 93 bytes request 19:27:49.927536 Got request: GET /verifiedserver HTTP/1.1 19:27:49.927545 Are-we-friendly question received 19:27:49.927569 Wrote request (93 bytes) input to log/23/server.input 19:27:49.927585 Identifying ourselves as friends 19:27:49.927674 Response sent (56 bytes) and written to log/23/server.response 19:27:49.927683 special request received, no persistency 19:27:49.927691 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 56688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind977 ==131683== ==131683== Process terminating with default action of signal 4 (SIGILL) ==131683== Illegal opcode at address 0x492B75F ==131683== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131683== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131683== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131683== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131683== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131683== by 0x49908EB: curl_version_info (version.c:600) ==131683== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131683== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131683== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131683== by 0x4003269: main (tool_main.c:195) === End of file valgrind977 test 0974 [HTTP with auth redirected to HTTP on a diff port w/o auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind974 ../src/curl -q --output log/17/curl974.out --include --trace-ascii log/17/trace974 --trace-time -x http://127.0.0.1:35993 http://firsthost.com -L -u joe:secret > log/17/stdout974 2> log/17/stderr974 974: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 974 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind974 ../src/curl -q --output log/17/curl974.out --include --trace-ascii log/17/trace974 --trace-time -x http://127.0.0.1:35993 http://firsthost.com -L -u joe:secret > log/17/stdout974 2> log/17/stderr974 === End of file commands.log === Start of file http_server.log 19:27:50.787952 ====> Client connect 19:27:50.788009 accept_connection 3 returned 4 19:27:50.788039 Read 93 bytes 19:27:50.788049 Process 93 bytes request 19:27:50.788062 Got request: GET /verifiedserver HTTP/1.1 19:27:50.788071 Are-we-friendly question received 19:27:50.788102 Wrote request (93 bytes) input to log/17/server.input 19:27:50.788119 Identifying ourselves as friends 19:27:50.788205 Response sent (56 bytes) and written to log/17/server.response 19:27:50.788215 special request received, no persistency 19:27:50.788223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 57262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 974 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind974 ==131521== ==131521== Process terminating with default action of signal 4 (SIGILL) ==131521== Illegal opcode at address 0x492B75F ==131521== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131521== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131521== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131521== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131521== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131521== by 0x49908EB: curl_version_info (version.c:600) ==131521== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131521== by 0x4003269: main (tool_main.c:195) === End of file valgrind974 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/smtp_server.pid" --logfile "log/12/smtp_server.log" --logdir "log/12" --portfile "log/12/server/smtp_server.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36039 (log/12/server/smtp_server.port) RUN: SMTP server is PID 130713 port 36039 * pid smtp => 130713 130713 setenv LC_ALL = C.UTF-8 test 0957 [SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind957 ../src/curl -q --output log/12/curl957.out --include --trace-ascii log/12/trace957 --trace-time smtp://127.0.0.1:36039/957 --mail-rcpt Användaren > log/12/stdout957 2> log/12/stderr957 957: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 957 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --numCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind980 ../src/curl -q --output log/1/curl980.out --include --trace-ascii log/1/trace980 --trace-time smtp://127.0.0.1:42673/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/1/stdout980 2> log/1/stderr980 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:33989/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 -callers=16 --log-file=log/12/valgrind957 ../src/curl -q --output log/12/curl957.out --include --trace-ascii log/12/trace957 --trace-time smtp://127.0.0.1:36039/957 --mail-rcpt Användaren > log/12/stdout957 2> log/12/stderr957 === End of file commands.log === Start of file server.cmd Testnum 957 === End of file server.cmd === Start of file smtp_server.log 19:27:49.130305 SMTP server listens on port IPv4/36039 19:27:49.130444 logged pid 130713 in log/12/server/smtp_server.pid 19:27:49.130503 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:49.728421 Running IPv4 version 19:27:49.728531 Listening on port 36039 19:27:49.728576 Wrote pid 130785 to log/12/server/smtp_sockfilt.pid 19:27:49.728608 Wrote port 36039 to log/12/server/smtp_server.port 19:27:49.735635 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==131230== ==131230== Process terminating with default action of signal 4 (SIGILL) ==131230== Illegal opcode at address 0x492B75F ==131230== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131230== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131230== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131230== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131230== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131230== by 0x49908EB: curl_version_info (version.c:600) ==131230== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131230== by 0x4003269: main (tool_main.c:195) === End of file valgrind957 test 0980 [SMTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind980 ../src/curl -q --output log/1/curl980.out --include --trace-ascii log/1/trace980 --trace-time smtp://127.0.0.1:42673/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/1/stdout980 2> log/1/stderr980 980: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 980 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind980 ../src/curl -q --output log/1/curl980.out --include --trace-ascii log/1/trace980 --trace-time smtp://127.0.0.1:42673/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/1/stdout980 2> log/1/stderr980 === End of file commands.log === Start of file server.cmd CAPA starttls AUTH PLAIN REPLY STARTTLS 454 currently unavailable\r\n235 Authenticated\r\n250 2.1.0 Sender ok\r\n250 2.1.5 Recipient ok\r\n354 Enter mail\r\n250 2.0.0 Accepted REPLY AUTH 535 5.7.8 Authentication credentials invalid Testnum 980 === End of file server.cmd === Start of file smtp_server.log 19:27:50.515374 ====> Client connect 19:27:50.515570 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:50.518947 < "EHLO verifiedserver" 19:27:50.519006 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:50.519212 < "HELP" 19:27:50.519251 > "214 WE ROOLZ: 127810[CR][LF]" 19:27:50.519271 return proof we are we 19:27:50.519506 < "QUIT" 19:27:50.519535 > "221 curl ESMTP server signing off[CR][LF]" 19:27:50.520573 MAIN sockfilt said DISC 19:27:50.520607 ====> Client disconnected 19:27:50.520686 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:51.119521 ====> Client connect 19:27:51.120898 Received DATA (on stdin) 19:27:51.120919 > 146 bytes data, server => client 19:27:51.120930 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:51.120939 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:51.120948 '220 \___|\___/|_| \_\_____|\r\n' 19:27:51.124092 < 21 bytes data, client => server 19:27:51.124114 'EHLO verifiedserver\r\n' 19:27:51.124370 Received DATA (on stdin) 19:27:51.124384 > 53 bytes data, server => client 19:27:51.124395 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:51.124462 < 6 bytes data, client => server 19:27:51.124478 'HELP\r\n' 19:27:51.124629 Received DATA (on stdin) 19:27:51.124642 > 22 bytes data, server => client 19:27:51.124652 '214 WE ROOLZ: 127810\r\n' 19:27:51.124765 < 6 bytes data, client => server 19:27:51.124782 'QUIT\r\n' 19:27:51.124892 Received DATA (on stdin) 19:27:51.124905 > 35 bytes data, server => client 19:27:51.124916 '221 curl ESMTP server signing off\r\n' 19:27:51.125875 ====> Client disconnect 19:27:51.126051 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-980 mail body === End of file stdin-for-980 === Start of file valgrind980 ==131937== ==131937== Process terminating with default action of signal 4 (SIGILL) ==131937== Illegal opcode at address 0x492B75F ==131937== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==131937== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==131937== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==131937== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==131937== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==131937== by 0x49908EB: curl_version_info (version.c:600) ==131937== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==131937== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==131937== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==131937== by 0x4003269: main (tool_main.c:195) === End of file valgrind980 test 0983 [FTP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:33989/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 983: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 983 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:33989/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 === End of file commands.log === Start of file ftp_server.log 19:27:51.069719 ====> Client connect 19:27:51.069923 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:51.070179 < "USER anonymous" 19:27:51.070211 > "331 We are happy you popped in![CR][LF]" 19:27:51.070348 < "PASS ftp@example.com" 19:27:51.070372 > "230 Welcome you silly person[CR][LF]" 19:27:51.070496 < "PWD" 19:27:51.070522 > "257 "/" is current directory[CR][LF]" 19:27:51.070658 < "EPSV" 19:27:51.070679 ====> Passive DATA channel requested by client 19:27:51.070690 DATA sockfilt for passive data channel starting... 19:27:51.072945 DATA sockfilt for passive data channel started (pid 132109) 19:27:51.073056 DATA sockfilt for passive data channel listens on port 45373 19:27:51.073096 > "229 Entering Passive Mode (|||45373|)[CR][LF]" 19:27:51.073114 Client has CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind981 ../src/curl -q --output log/21/curl981.out --include --trace-ascii log/21/trace981 --trace-time imap://127.0.0.1:39665/981 -T log/21/upload981 -u user:secret --ssl > log/21/stdout981 2> log/21/stderr981 been notified that upcoming DATA connection is awaited on port 45373 19:27:51.073371 Client connects to port 45373 19:27:51.073402 ====> Client established passive DATA connection on port 45373 19:27:51.073473 < "TYPE I" 19:27:51.073503 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:51.073655 < "SIZE verifiedserver" 19:27:51.073696 > "213 17[CR][LF]" 19:27:51.073843 < "RETR verifiedserver" 19:27:51.073881 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:51.073987 =====> Closing passive DATA connection... 19:27:51.074004 Server disconnects passive DATA connection 19:27:51.074224 Server disconnected passive DATA connection 19:27:51.074249 DATA sockfilt for passive data channel quits (pid 132109) 19:27:51.074492 DATA sockfilt for passive data channel quit (pid 132109) 19:27:51.074515 =====> Closed passive DATA connection 19:27:51.074542 > "226 File transfer complete[CR][LF]" 19:27:51.119037 < "QUIT" 19:27:51.119096 > "221 bye bye baby[CR][LF]" 19:27:51.122176 MAIN sockfilt said DISC 19:27:51.122229 ====> Client disconnected 19:27:51.122336 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:51.674895 ====> Client connect 19:27:51.675233 Received DATA (on stdin) 19:27:51.675244 > 146 bytes data, server => client 19:27:51.675254 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:51.675263 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:51.675270 '220 \___|\___/|_| \_\_____|\r\n' 19:27:51.675339 < 16 bytes data, client => server 19:27:51.675349 'USER anonymous\r\n' 19:27:51.675512 Received DATA (on stdin) 19:27:51.675521 > 33 bytes data, server => client 19:27:51.675530 '331 We are happy you popped in!\r\n' 19:27:51.675575 < 22 bytes data, client => server 19:27:51.675583 'PASS ftp@example.com\r\n' 19:27:51.675669 Received DATA (on stdin) 19:27:51.675677 > 30 bytes data, server => client 19:27:51.675685 '230 Welcome you silly person\r\n' 19:27:51.675727 < 5 bytes data, client => server 19:27:51.675735 'PWD\r\n' 19:27:51.675818 Received DATA (on stdin) 19:27:51.675827 > 30 bytes data, server => client 19:27:51.675835 '257 "/" is current directory\r\n' 19:27:51.675888 < 6 bytes data, client => server 19:27:51.675896 'EPSV\r\n' 19:27:51.678423 Received DATA (on stdin) 19:27:51.678436 > 39 bytes data, server => client 19:27:51.678446 '229 Entering Passive Mode (|||45373|)\r\n' 19:27:51.678592 < 8 bytes data, client => server 19:27:51.678605 'TYPE I\r\n' 19:27:51.678803 Received DATA (on stdin) 19:27:51.678813 > 33 bytes data, server => client 19:27:51.678823 '200 I modify TYPE as you wanted\r\n' 19:27:51.678874 < 21 bytes data, client => server 19:27:51.678885 'SIZE verifiedserver\r\n' 19:27:51.678997 Received DATA (on stdin) 19:27:51.679007 > 8 bytes data, server => client 19:27:51.679015 '213 17\r\n' 19:27:51.679065 < 21 bytes data, client => server 19:27:51.679075 'RETR verifiedserver\r\n' 19:27:51.679306 Received DATA (on stdin) 19:27:51.679316 > 29 bytes data, server => client 19:27:51.679326 '150 Binary junk (17 bytes).\r\n' 19:27:51.679842 Received DATA (on stdin) 19:27:51.679853 > 28 bytes data, server => client 19:27:51.679863 '226 File transfer complete\r\n' 19:27:51.724135 < 6 bytes data, client => server 19:27:51.724170 'QUIT\r\n' 19:27:51.724395 Received DATA (on stdin) 19:27:51.724406 > 18 bytes data, server => client 19:27:51.724415 '221 bye bye baby\r\n' 19:27:51.727401 ====> Client disconnect 19:27:51.727632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:51.677943 Running IPv4 version 19:27:51.678007 Listening on port 45373 19:27:51.678044 Wrote pid 132109 to log/6/server/ftp_sockdata.pid 19:27:51.678189 Received PING (on stdin) 19:27:51.678274 Received PORT (on stdin) 19:27:51.678627 ====> Client connect 19:27:51.679351 Received DATA (on stdin) 19:27:51.679363 > 17 bytes data, server => client 19:27:51.679372 'WE ROOLZ: 85558\r\n' 19:27:51.679398 Received DISC (on stdin) 19:27:51.679409 ====> Client forcibly disconnected 19:27:51.679560 Received QUIT (on stdin) 19:27:51.679570 quits 19:27:51.679641 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY AUTH 500 unknown command\r\n500 unknown command\r\n331 give password\r\n230 Authenticated\r\n257 "/"\r\n200 OK\r\n200 OK\r\n200 OK\r\n226 Transfer complete REPLY PASS 530 Login incorrect Testnum 983 === End of file server.cmd === Start of file test983.txt data to see that FTPS works so does it? === End of file test983.txt === Start of file valgrind983 ==132126== ==132126== Process terminating with default action of signal 4 (SIGILL) ==132126== Illegal opcode at address 0x492B75F ==132126== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132126== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132126== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132126== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132126== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132126== by 0x49908EB: curl_version_info (version.c:600) ==132126== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132126== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132126== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132126== by 0x4003269: main (tool_main.c:195) === End of file valgrind983 test 0981 [IMAP STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind981 ../src/curl -q --output log/21/curl981.out --include --trace-ascii log/21/trace981 --trace-time imap://127.0.0.1:39665/981 -T log/21/upload981 -u user:secret --ssl > log/21/stdout981 2> log/21/stderr981 981: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 981 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind981 ../src/curl -q --output log/21/curl981.out --include --trace-ascii log/21/trace981 --trace-time imap://127.0.0.1:39665/981 -T log/21/upload981 -u user:secret --ssl > log/21/stdout981 2> log/21/stderr981 === End of file commands.log === Start of file imap_server.log 19:27:50.702147 ====> Client connect 19:27:50.702328 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:50.702693 < "A001 CAPABILITY" 19:27:50.702736 > "A001 BAD Command[CR][LF]" 19:27:50.702936 < "A002 LIST "verifiedserver" *" 19:27:50.702966 LIST_imap got "verifiedserver" * 19:27:50.702993 > "* LIST () "/" "WE ROOLZ: 122217"[CR][LF]" 19:27:50.703012 > "A002 OK LIST Completed[CR][LF]" 19:27:50.703026 return proof we are we 19:27:50.749062 < "A003 LOGOUT" 19:27:50.749127 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:50.749157 > "A003 OK LOGOUT completed[CR][LF]" 19:27:50.750333 MAIN sockfilt said DISC 19:27:50.750372 ====> Client disconnected 19:27:50.750458 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:50.307338 ====> Client connect 19:27:50.307683 Received DATA (on stdin) 19:27:50.307699 > 164 bytes data, server => client 19:27:50.307711 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:50.307721 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:50.307731 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:50.307854 < 17 bytes data, client => server 19:27:50.307868 'A001 CAPABILITY\r\n' 19:27:50.308077 Received DATA (on stdin) 19:27:50.308089 > 18 bytes data, server => client 19:27:50.308100 'A001 BAD Command\r\n' 19:27:50.308168 < 30 bytes data, client => server 19:27:50.308181 'A002 LIST "verifiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:37639/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind985 ../src/curl -q --output log/3/curl985.out --include --trace-ascii log/3/trace985 --trace-time pop3://127.0.0.1:35177/985 -u user:secret --ssl-reqd > log/3/stdout985 2> log/3/stderr985 edserver" *\r\n' 19:27:50.308362 Received DATA (on stdin) 19:27:50.308373 > 34 bytes data, server => client 19:27:50.308383 '* LIST () "/" "WE ROOLZ: 122217"\r\n' 19:27:50.308406 Received DATA (on stdin) 19:27:50.308416 > 24 bytes data, server => client 19:27:50.308425 'A002 OK LIST Completed\r\n' 19:27:50.354182 < 13 bytes data, client => server 19:27:50.354216 'A003 LOGOUT\r\n' 19:27:50.354497 Received DATA (on stdin) 19:27:50.354513 > 36 bytes data, server => client 19:27:50.354524 '* BYE curl IMAP server signing off\r\n' 19:27:50.354550 Received DATA (on stdin) 19:27:50.354562 > 26 bytes data, server => client 19:27:50.354572 'A003 OK LOGOUT completed\r\n' 19:27:50.355605 ====> Client disconnect 19:27:50.355801 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd CAPA STARTTLS REPLY STARTTLS A002 BAD currently unavailable\r\nA003 OK Authenticated\r\nA004 OK Accepted REPLY LOGIN A003 BAD Authentication credentials invalid Testnum 981 === End of file server.cmd === Start of file upload981 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload981 === Start of file valgrind981 ==132015== ==132015== Process terminating with default action of signal 4 (SIGILL) ==132015== Illegal opcode at address 0x492B75F ==132015== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132015== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132015== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132015== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132015== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132015== by 0x49908EB: curl_version_info (version.c:600) ==132015== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132015== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132015== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132015== by 0x4003269: main (tool_main.c:195) === End of file valgrind981 test 0984 [IMAP require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:37639/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 984: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 984 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind984 ../src/curl -q --output log/5/curl984.out --include --trace-ascii log/5/trace984 --trace-time imap://127.0.0.1:37639/984 -T log/5/upload984 -u user:secret --ssl-reqd > log/5/stdout984 2> log/5/stderr984 === End of file commands.log === Start of file imap_server.log 19:27:51.127174 ====> Client connect 19:27:51.127346 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:27:51.127644 < "A001 CAPABILITY" 19:27:51.127681 > "A001 BAD Command[CR][LF]" 19:27:51.127854 < "A002 LIST "verifiedserver" *" 19:27:51.127882 LIST_imap got "verifiedserver" * 19:27:51.127906 > "* LIST () "/" "WE ROOLZ: 122670"[CR][LF]" 19:27:51.127923 > "A002 OK LIST Completed[CR][LF]" 19:27:51.127935 return proof we are we 19:27:51.192161 < "A003 LOGOUT" 19:27:51.192228 > "* BYE curl IMAP server signing off[CR][LF]" 19:27:51.192252 > "A003 OK LOGOUT completed[CR][LF]" 19:27:51.212101 MAIN sockfilt said DISC 19:27:51.212170 ====> Client disconnected 19:27:51.212270 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:27:50.732354 ====> Client connect 19:27:50.732656 Received DATA (on stdin) 19:27:50.732670 > 164 bytes data, server => client 19:27:50.732681 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:50.732690 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:50.732698 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:27:50.732777 < 17 bytes data, client => server 19:27:50.732788 'A001 CAPABILITY\r\n' 19:27:50.732977 Received DATA (on stdin) 19:27:50.732987 > 18 bytes data, server => client 19:27:50.732997 'A001 BAD Command\r\n' 19:27:50.733053 < 30 bytes data, client => server 19:27:50.733063 'A002 LIST "verifiedserver" *\r\n' 19:27:50.733228 Received DATA (on stdin) 19:27:50.733237 > 34 bytes data, server => client 19:27:50.733247 '* LIST () "/" "WE ROOLZ: 122670"\r\n' 19:27:50.733267 Received DATA (on stdin) 19:27:50.733276 > 24 bytes data, server => client 19:27:50.733284 'A002 OK LIST Completed\r\n' 19:27:50.793996 < 13 bytes data, client => server 19:27:50.794033 'A003 LOGOUT\r\n' 19:27:50.807282 Received DATA (on stdin) 19:27:50.807326 > 36 bytes data, server => client 19:27:50.807338 '* BYE curl IMAP server signing off\r\n' 19:27:50.807388 Received DATA (on stdin) 19:27:50.807399 > 26 bytes data, server => client 19:27:50.807409 'A003 OK LOGOUT completed\r\n' 19:27:50.817290 ====> Client disconnect 19:27:50.817566 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY CAPABILITY A001 BAD Not implemented Testnum 984 === End of file server.cmd === Start of file upload984 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload984 === Start of file valgrind984 ==132161== ==132161== Process terminating with default action of signal 4 (SIGILL) ==132161== Illegal opcode at address 0x492B75F ==132161== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132161== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132161== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132161== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132161== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132161== by 0x49908EB: curl_version_info (version.c:600) ==132161== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132161== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132161== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132161== by 0x4003269: main (tool_main.c:195) === End of file valgrind984 test 0985 [POP3 require STARTTLS with failing capabilities] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind985 ../src/curl -q --output log/3/curl985.out --include --trace-ascii log/3/trace985 --trace-time pop3://127.0.0.1:35177/985 -u user:secret --ssl-reqd > log/3/stdout985 2> log/3/stderr985 985: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 985 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind985 ../src/curl -q --output log/3/curl985.out --include --trace-ascii log/3/trace985 --trace-time pop3://127.0.0.1:35177/985 -u user:secret --ssl-reqd > log/3/stdout985 2> log/3/stderr985 === End of file commands.log === Start of file pop3_server.log 19:27:51.217868 ====> Client connect 19:27:51.218042 > " _ _ ____CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind990 ../src/curl -q --output log/22/curl990.out --include --trace-ascii log/22/trace990 --trace-time http://127.0.0.1:35989/990 -w '%output{log/22/output}%{http_code}\n' > log/22/stdout990 2> log/22/stderr990 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind982 ../src/curl -q --output log/19/curl982.out --include --trace-ascii log/19/trace982 --trace-time pop3://127.0.0.1:45669/982 -u user:secret --ssl > log/19/stdout982 2> log/19/stderr982 _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:51.218332 < "CAPA" 19:27:51.218374 > "-ERR Unrecognized command[CR][LF]" 19:27:51.218555 < "RETR verifiedserver" 19:27:51.218580 return proof we are we 19:27:51.218601 > "+OK Mail transfer starts[CR][LF]" 19:27:51.218622 > "WE ROOLZ: 124988[CR][LF]" 19:27:51.218639 > ".[CR][LF]" 19:27:51.269799 < "QUIT" 19:27:51.269858 > "+OK curl POP3 server signing off[CR][LF]" 19:27:51.271198 MAIN sockfilt said DISC 19:27:51.271245 ====> Client disconnected 19:27:51.271343 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:51.823022 ====> Client connect 19:27:51.823344 Received DATA (on stdin) 19:27:51.823360 > 164 bytes data, server => client 19:27:51.823371 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:51.823381 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:51.823391 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:51.823478 < 6 bytes data, client => server 19:27:51.823489 'CAPA\r\n' 19:27:51.823663 Received DATA (on stdin) 19:27:51.823674 > 27 bytes data, server => client 19:27:51.823684 '-ERR Unrecognized command\r\n' 19:27:51.823742 < 21 bytes data, client => server 19:27:51.823753 'RETR verifiedserver\r\n' 19:27:51.823934 Received DATA (on stdin) 19:27:51.823963 > 26 bytes data, server => client 19:27:51.823973 '+OK Mail transfer starts\r\n' 19:27:51.823994 Received DATA (on stdin) 19:27:51.824002 > 18 bytes data, server => client 19:27:51.824012 'WE ROOLZ: 124988\r\n' 19:27:51.824024 Received DATA (on stdin) 19:27:51.824032 > 3 bytes data, server => client 19:27:51.824041 '.\r\n' 19:27:51.874881 < 6 bytes data, client => server 19:27:51.874915 'QUIT\r\n' 19:27:51.875148 Received DATA (on stdin) 19:27:51.875161 > 34 bytes data, server => client 19:27:51.875172 '+OK curl POP3 server signing off\r\n' 19:27:51.876215 ====> Client disconnect 19:27:51.876630 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY CAPA -ERR Not implemented Testnum 985 === End of file server.cmd === Start of file valgrind985 ==132199== ==132199== Process terminating with default action of signal 4 (SIGILL) ==132199== Illegal opcode at address 0x492B75F ==132199== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132199== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132199== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132199== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132199== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132199== by 0x49908EB: curl_version_info (version.c:600) ==132199== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132199== by 0x4003269: main (tool_main.c:195) === End of file valgrind985 test 0990 [use -w %output{}] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind990 ../src/curl -q --output log/22/curl990.out --include --trace-ascii log/22/trace990 --trace-time http://127.0.0.1:35989/990 -w '%output{log/22/output}%{http_code}\n' > log/22/stdout990 2> log/22/stderr990 990: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 990 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind990 ../src/curl -q --output log/22/curl990.out --include --trace-ascii log/22/trace990 --trace-time http://127.0.0.1:35989/990 -w '%output{log/22/output}%{http_code}\n' > log/22/stdout990 2> log/22/stderr990 === End of file commands.log === Start of file http_server.log 19:27:51.145542 ====> Client connect 19:27:51.145576 accept_connection 3 returned 4 19:27:51.145595 Read 93 bytes 19:27:51.145604 Process 93 bytes request 19:27:51.145614 Got request: GET /verifiedserver HTTP/1.1 19:27:51.145621 Are-we-friendly question received 19:27:51.145643 Wrote request (93 bytes) input to log/22/server.input 19:27:51.145657 Identifying ourselves as friends 19:27:51.145722 Response sent (56 bytes) and written to log/22/server.response 19:27:51.145730 special request received, no persistency 19:27:51.145737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 48502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 990 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind990 ==132358== ==132358== Process terminating with default action of signal 4 (SIGILL) ==132358== Illegal opcode at address 0x492B75F ==132358== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132358== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132358== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132358== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132358== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132358== by 0x49908EB: curl_version_info (version.c:600) ==132358== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132358== by 0x4003269: main (tool_main.c:195) === End of file valgrind990 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/19/server/pop3_server.pid" --logfile "log/19/pop3_server.log" --logdir "log/19" --portfile "log/19/server/pop3_server.port" --srcdir "/startdir/src/curl/tests" --proto pop3 --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45669 (log/19/server/pop3_server.port) RUN: POP3 server is PID 132050 port 45669 * pid pop3 => 132050 132050 test 0982 [POP3 STARTTLS pipelined server response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind982 ../src/curl -q --output log/19/curl982.out --include --trace-ascii log/19/trace982 --trace-time pop3://127.0.0.1:45669/982 -u user:secret --ssl > log/19/stdout982 2> log/19/stderr982 982: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 982 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind982 ../src/curl -q --output log/19/curl982.out --include --trace-ascii log/19/trace982 --trace-time pop3://127.0.0.1:45669/982 -u user:secret --ssl > log/19/stdout982 2> log/19/stderr982 === End of file commands.log === Start of file pop3_server.log 19:27:50.975653 POP3 server listens on port IPv4/45669 19:27:50.975780 logged pid 132050 in log/19/server/pop3_server.pid 19:27:50.975833 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:50.578074 Running IPv4 version 19:27:50.578179 Listening on port 45669 19:27:5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37411/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 0.578217 Wrote pid 132062 to log/19/server/pop3_sockfilt.pid 19:27:50.578244 Wrote port 45669 to log/19/server/pop3_server.port 19:27:50.580824 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA STLS USER REPLY STLS -ERR currently unavailable\r\n+OK user accepted\r\n+OK authenticated REPLY PASS -ERR Authentication credentials invalid Testnum 982 === End of file server.cmd === Start of file valgrind982 ==132464== ==132464== Process terminating with default action of signal 4 (SIGILL) ==132464== Illegal opcode at address 0x492B75F ==132464== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132464== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132464== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132464== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132464== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132464== by 0x49908EB: curl_version_info (version.c:600) ==132464== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132464== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132464== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132464== by 0x4003269: main (tool_main.c:195) === End of file valgrind982 test 0986 [FTP require STARTTLS while preauthenticated] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37411/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 986: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 986 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind986 ../src/curl -q --output log/14/curl986.out --include --trace-ascii log/14/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:37411/986 -T log/14/test986.txt -u user:secret > log/14/stdout986 2> log/14/stderr986 === End of file commands.log === Start of file ftp_server.log 19:27:51.467428 ====> Client connect 19:27:51.467630 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:51.472417 < "USER anonymous" 19:27:51.472470 > "331 We are happy you popped in![CR][LF]" 19:27:51.472620 < "PASS ftp@example.com" 19:27:51.472648 > "230 Welcome you silly person[CR][LF]" 19:27:51.472780 < "PWD" 19:27:51.472810 > "257 "/" is current directory[CR][LF]" 19:27:51.472952 < "EPSV" 19:27:51.472977 ====> Passive DATA channel requested by client 19:27:51.472989 DATA sockfilt for passive data channel starting... 19:27:51.479921 DATA sockfilt for passive data channel started (pid 132326) 19:27:51.480058 DATA sockfilt for passive data channel listens on port 39775 19:27:51.480102 > "229 Entering Passive Mode (|||39775|)[CR][LF]" 19:27:51.480118 Client has been notified that upcoming DATA connection is awaited on port 39775 19:27:51.480558 Client connects to port 39775 19:27:51.480586 ====> Client established passive DATA connection on port 39775 19:27:51.480672 < "TYPE I" 19:27:51.480702 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:51.480844 < "SIZE verifiedserver" 19:27:51.480875 > "213 17[CR][LF]" 19:27:51.481008 < "RETR verifiedserver" 19:27:51.481039 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:51.481126 =====> Closing passive DATA connection... 19:27:51.481140 Server disconnects passive DATA connection 19:27:51.481341 Server disconnected passive DATA connection 19:27:51.481366 DATA sockfilt for passive data channel quits (pid 132326) 19:27:51.481618 DATA sockfilt for passive data channel quit (pid 132326) 19:27:51.481642 =====> Closed passive DATA connection 19:27:51.481668 > "226 File transfer complete[CR][LF]" 19:27:51.525706 < "QUIT" 19:27:51.525766 > "221 bye bye baby[CR][LF]" 19:27:51.527051 MAIN sockfilt said DISC 19:27:51.527086 ====> Client disconnected 19:27:51.527180 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:52.072559 ====> Client connect 19:27:52.072903 Received DATA (on stdin) 19:27:52.072915 > 146 bytes data, server => client 19:27:52.072926 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:52.072935 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:52.072944 '220 \___|\___/|_| \_\_____|\r\n' 19:27:52.077428 < 16 bytes data, client => server 19:27:52.077470 'USER anonymous\r\n' 19:27:52.077735 Received DATA (on stdin) 19:27:52.077745 > 33 bytes data, server => client 19:27:52.077754 '331 We are happy you popped in!\r\n' 19:27:52.077804 < 22 bytes data, client => server 19:27:52.077813 'PASS ftp@example.com\r\n' 19:27:52.077908 Received DATA (on stdin) 19:27:52.077918 > 30 bytes data, server => client 19:27:52.077926 '230 Welcome you silly person\r\n' 19:27:52.077970 < 5 bytes data, client => server 19:27:52.077979 'PWD\r\n' 19:27:52.078070 Received DATA (on stdin) 19:27:52.078079 > 30 bytes data, server => client 19:27:52.078088 '257 "/" is current directory\r\n' 19:27:52.078143 < 6 bytes data, client => server 19:27:52.078151 'EPSV\r\n' 19:27:52.085389 Received DATA (on stdin) 19:27:52.085406 > 39 bytes data, server => client 19:27:52.085415 '229 Entering Passive Mode (|||39775|)\r\n' 19:27:52.085744 < 8 bytes data, client => server 19:27:52.085759 'TYPE I\r\n' 19:27:52.085964 Received DATA (on stdin) 19:27:52.085975 > 33 bytes data, server => client 19:27:52.085983 '200 I modify TYPE as you wanted\r\n' 19:27:52.086033 < 21 bytes data, client => server 19:27:52.086042 'SIZE verifiedserver\r\n' 19:27:52.086135 Received DATA (on stdin) 19:27:52.086144 > 8 bytes data, server => client 19:27:52.086152 '213 17\r\n' 19:27:52.086198 < 21 bytes data, client => server 19:27:52.086207 'RETR verifiedserver\r\n' 19:27:52.086479 Received DATA (on stdin) 19:27:52.086489 > 29 bytes data, server => client 19:27:52.086498 '150 Binary junk (17 bytes).\r\n' 19:27:52.086930 Received DATA (on stdin) 19:27:52.086940 > 28 bytes data, server => client 19:27:52.086949 '226 File transfer complete\r\n' 19:27:52.130758 < 6 bytes data, client => server 19:27:52.130796 'QUIT\r\n' 19:27:52.131028 Received DATA (on stdin) 19:27:52.131039 > 18 bytes data, server => client 19:27:52.131048 '221 bye bye baby\r\n' 19:27:52.132258 ====> Client disconnect 19:27:52.132438 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:51.084811 Running IPv4 version 19:27:51.084911 Listening on port 39775 19:27:51.084946 Wrote pid 132326 to log/14/server/ftp_sockdata.pid 19:27:51.085127 Received PING (on stdin) 19:27:51.085221 Received PORT (on stdin) 19:27:51.085777 ====> Client connect 19:27:51.086400 Received DATA (on stdin) 19:27:51.086411 > 17 bytes data, server => client 19:27:51.086419 'WE ROOLZ: 85053\r\n' 19:27:51.086445 Received DISC (on stdin) 19:27:51.086456 ====> Client forcibly disconnected 19:27:51.086635 Received QUIT (on stdin) 19:27:51.086645 quits 19:27:51.086710 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 Welcome REPLY AUTH 500 unknown command Testnum 986 === End of file server.cmd === Start of file test986.txt data to see that FTPS works so does it? === End of file test986.txt === Start of file valgrind986 ==132348== ==132348== Process terminating with default action of signal 4 (SIGILL) ==132348== Illegal opcode at address 0x492B75F ==132348== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132348== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132348== by 0x492B67B: curl_msnprintf (mprintf.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind991 ../src/curl -q --output log/15/curl991.out --include --trace-ascii log/15/trace991 --trace-time http://127.0.0.1:40321/991 -w '%output{>>log/15/output}%{http_code}' > log/15/stdout991 2> log/15/stderr991 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind995 ../src/curl -q --trace-ascii log/8/trace995 --trace-time -o log/8/there http://127.0.0.1:44467/995 --skip-existing > log/8/stdout995 2> log/8/stderr995 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind993 ../src/curl -q --output log/18/curl993.out --include --trace-ascii log/18/trace993 --trace-time pop3://127.0.0.1:41229/ -u user:secret > log/18/stdout993 2> log/18/stderr993 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind997 ../src/curl -q --output log/10/curl997.out --include --trace-ascii log/10/trace997 --trace-time pop3://127.0.0.1:33971 -u user:secret -X 'STAT' > log/10/stdout997 2> log/10/stderr997 c:1277) ==132348== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132348== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132348== by 0x49908EB: curl_version_info (version.c:600) ==132348== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132348== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132348== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132348== by 0x4003269: main (tool_main.c:195) === End of file valgrind986 test 0991 [use -w %output{} append] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind991 ../src/curl -q --output log/15/curl991.out --include --trace-ascii log/15/trace991 --trace-time http://127.0.0.1:40321/991 -w '%output{>>log/15/output}%{http_code}' > log/15/stdout991 2> log/15/stderr991 991: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 991 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind991 ../src/curl -q --output log/15/curl991.out --include --trace-ascii log/15/trace991 --trace-time http://127.0.0.1:40321/991 -w '%output{>>log/15/output}%{http_code}' > log/15/stdout991 2> log/15/stderr991 === End of file commands.log === Start of file http_server.log 19:27:52.706357 ====> Client connect 19:27:52.706395 accept_connection 3 returned 4 19:27:52.710686 Read 93 bytes 19:27:52.710709 Process 93 bytes request 19:27:52.710722 Got request: GET /verifiedserver HTTP/1.1 19:27:52.710730 Are-we-friendly question received 19:27:52.710768 Wrote request (93 bytes) input to log/15/server.input 19:27:52.710785 Identifying ourselves as friends 19:27:52.710841 Response sent (56 bytes) and written to log/15/server.response 19:27:52.710849 special request received, no persistency 19:27:52.710857 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 55982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file output line one === End of file output === Start of file server.cmd Testnum 991 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind991 ==132535== ==132535== Process terminating with default action of signal 4 (SIGILL) ==132535== Illegal opcode at address 0x492B75F ==132535== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132535== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132535== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132535== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132535== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132535== by 0x49908EB: curl_version_info (version.c:600) ==132535== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132535== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132535== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132535== by 0x4003269: main (tool_main.c:195) === End of file valgrind991 test 0995 [--skip-existing without file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind995 ../src/curl -q --trace-ascii log/8/trace995 --trace-time -o log/8/there http://127.0.0.1:44467/995 --skip-existing > log/8/stdout995 2> log/8/stderr995 995: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 995 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind995 ../src/curl -q --trace-ascii log/8/trace995 --trace-time -o log/8/there http://127.0.0.1:44467/995 --skip-existing > log/8/stdout995 2> log/8/stderr995 === End of file commands.log === Start of file http_server.log 19:27:52.004113 ====> Client connect 19:27:52.004151 accept_connection 3 returned 4 19:27:52.004177 Read 93 bytes 19:27:52.004188 Process 93 bytes request 19:27:52.004200 Got request: GET /verifiedserver HTTP/1.1 19:27:52.004209 Are-we-friendly question received 19:27:52.004247 Wrote request (93 bytes) input to log/8/server.input 19:27:52.004270 Identifying ourselves as friends 19:27:52.004350 Response sent (56 bytes) and written to log/8/server.response 19:27:52.004362 special request received, no persistency 19:27:52.004371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 59280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 995 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind995 ==132735== ==132735== Process terminating with default action of signal 4 (SIGILL) ==132735== Illegal opcode at address 0x492B75F ==132735== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132735== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132735== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132735== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132735== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132735== by 0x49908EB: curl_version_info (version.c:600) ==132735== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132735== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132735== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132735== by 0x4003269: main (tool_main.c:195) === End of file valgrind995 test 0997 [POP3 retrieve STAT (CUSTOMREQUEST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind997 ../src/curl -q --output log/10/curl997.out --include --trace-ascii log/10/trace997 --trace-time pop3://127.0.0.1:33971 -u user:secret -X 'STAT' > log/10/stdout997 2> log/10/stderr997 997: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 997 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind997 ../src/curl -q --output log/10/curl997.out --include --trace-ascii log/10/trace997 --trace-time pop3://127.0.0.1:33971 -u user:secret -X 'STAT' > log/10/stdout997 2> log/10/stderr997 === End of file commands.log === Start of file pop3_server.log 19:27:52.518527 ====> Client connect 19:27:52.518750 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind994 ../src/curl -q --include --trace-ascii log/2/trace994 --trace-time -o "log/2/#1" "http://127.0.0.1:34531/994/{hey,ho}" --skip-existing > log/2/stdout994 2> log/2/stderr994 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind992 ../src/curl -q --output log/24/curl992.out --include --trace-ascii log/24/trace992 --trace-time smtp://127.0.0.1:40147/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/24/stdout992 2> log/24/stderr992 F] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:52.520356 < "CAPA" 19:27:52.520415 > "-ERR Unrecognized command[CR][LF]" 19:27:52.521545 < "RETR verifiedserver" 19:27:52.521580 return proof we are we 19:27:52.521612 > "+OK Mail transfer starts[CR][LF]" 19:27:52.521636 > "WE ROOLZ: 124839[CR][LF]" 19:27:52.521654 > ".[CR][LF]" 19:27:52.565691 < "QUIT" 19:27:52.565791 > "+OK curl POP3 server signing off[CR][LF]" 19:27:52.565849 MAIN sockfilt said DISC 19:27:52.565867 ====> Client disconnected 19:27:52.565936 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:53.123573 ====> Client connect 19:27:53.124015 Received DATA (on stdin) 19:27:53.124038 > 164 bytes data, server => client 19:27:53.124051 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:53.124062 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:53.124073 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:53.125340 < 6 bytes data, client => server 19:27:53.125358 'CAPA\r\n' 19:27:53.125592 Received DATA (on stdin) 19:27:53.125606 > 27 bytes data, server => client 19:27:53.125616 '-ERR Unrecognized command\r\n' 19:27:53.126562 < 21 bytes data, client => server 19:27:53.126581 'RETR verifiedserver\r\n' 19:27:53.127149 Received DATA (on stdin) 19:27:53.127166 > 26 bytes data, server => client 19:27:53.127177 '+OK Mail transfer starts\r\n' 19:27:53.127202 Received DATA (on stdin) 19:27:53.127213 > 18 bytes data, server => client 19:27:53.127222 'WE ROOLZ: 124839\r\n' 19:27:53.127235 Received DATA (on stdin) 19:27:53.127243 > 3 bytes data, server => client 19:27:53.127252 '.\r\n' 19:27:53.170668 < 6 bytes data, client => server 19:27:53.170699 'QUIT\r\n' 19:27:53.170882 Received DATA (on stdin) 19:27:53.170891 > 34 bytes data, server => client 19:27:53.170905 '+OK curl POP3 server signing off\r\n' 19:27:53.170974 ====> Client disconnect 19:27:53.171107 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 997 === End of file server.cmd === Start of file valgrind997 ==132968== ==132968== Process terminating with default action of signal 4 (SIGILL) ==132968== Illegal opcode at address 0x492B75F ==132968== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132968== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132968== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132968== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132968== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132968== by 0x49908EB: curl_version_info (version.c:600) ==132968== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132968== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132968== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132968== by 0x4003269: main (tool_main.c:195) === End of file valgrind997 test 0993 [POP3 LIST 1000 messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind993 ../src/curl -q --output log/18/curl993.out --include --trace-ascii log/18/trace993 --trace-time pop3://127.0.0.1:41229/ -u user:secret > log/18/stdout993 2> log/18/stderr993 993: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 993 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind993 ../src/curl -q --output log/18/curl993.out --include --trace-ascii log/18/trace993 --trace-time pop3://127.0.0.1:41229/ -u user:secret > log/18/stdout993 2> log/18/stderr993 === End of file commands.log === Start of file pop3_server.log 19:27:52.217803 ====> Client connect 19:27:52.217981 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:27:52.218281 < "CAPA" 19:27:52.218322 > "-ERR Unrecognized command[CR][LF]" 19:27:52.218521 < "RETR verifiedserver" 19:27:52.218554 return proof we are we 19:27:52.218583 > "+OK Mail transfer starts[CR][LF]" 19:27:52.218612 > "WE ROOLZ: 125319[CR][LF]" 19:27:52.218634 > ".[CR][LF]" 19:27:52.265638 < "QUIT" 19:27:52.265696 > "+OK curl POP3 server signing off[CR][LF]" 19:27:52.266122 MAIN sockfilt said DISC 19:27:52.266159 ====> Client disconnected 19:27:52.266237 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:27:52.822871 ====> Client connect 19:27:52.823193 Received DATA (on stdin) 19:27:52.823211 > 164 bytes data, server => client 19:27:52.823223 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:27:52.823233 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:27:52.823242 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:27:52.823321 < 6 bytes data, client => server 19:27:52.823334 'CAPA\r\n' 19:27:52.823519 Received DATA (on stdin) 19:27:52.823531 > 27 bytes data, server => client 19:27:52.823541 '-ERR Unrecognized command\r\n' 19:27:52.823602 < 21 bytes data, client => server 19:27:52.823614 'RETR verifiedserver\r\n' 19:27:52.823843 Received DATA (on stdin) 19:27:52.823855 > 26 bytes data, server => client 19:27:52.823865 '+OK Mail transfer starts\r\n' 19:27:52.823890 Received DATA (on stdin) 19:27:52.823902 > 18 bytes data, server => client 19:27:52.823911 'WE ROOLZ: 125319\r\n' 19:27:52.823924 Received DATA (on stdin) 19:27:52.823934 > 3 bytes data, server => client 19:27:52.823943 '.\r\n' 19:27:52.870645 < 6 bytes data, client => server 19:27:52.870675 'QUIT\r\n' 19:27:52.870894 Received DATA (on stdin) 19:27:52.870908 > 34 bytes data, server => client 19:27:52.870918 '+OK curl POP3 server signing off\r\n' 19:27:52.871255 ====> Client disconnect 19:27:52.871427 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 993 === End of file server.cmd === Start of file valgrind993 ==132616== ==132616== Process terminating with default action of signal 4 (SIGILL) ==132616== Illegal opcode at address 0x492B75F ==132616== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132616== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132616== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132616== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132616== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132616== by 0x49908EB: curl_version_info (version.c:600) ==132616== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132616== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132616== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132616== by 0x4003269: main (tool_main.c:195) === End of file valgrind993 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:44711/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 test 0994 [--skip-existing with globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind994 ../src/curl -q --include --trace-ascii log/2/trace994 --trace-time -o "log/2/#1" "http://127.0.0.1:34531/994/{hey,ho}" --skip-existing > log/2/stdout994 2> log/2/stderr994 994: stderr FAILED: --- log/2/check-expected 2026-10-15 19:27:54.832799595 +0000 +++ log/2/check-generated 2026-10-15 19:27:54.829897026 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/2/hey" exists locally[CR][LF] -Note: skips transfer, "log/2/ho" exists locally[CR][LF] == Contents of files in the log/2/ directory after test 994 === Start of file check-expected Note: skips transfer, "log/2/hey" exists locally[CR][LF] Note: skips transfer, "log/2/ho" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind994 ../src/curl -q --include --trace-ascii log/2/trace994 --trace-time -o "log/2/#1" "http://127.0.0.1:34531/994/{hey,ho}" --skip-existing > log/2/stdout994 2> log/2/stderr994 === End of file commands.log === Start of file hey content === End of file hey === Start of file ho content === End of file ho === Start of file http_server.log 19:27:52.997482 ====> Client connect 19:27:52.997521 accept_connection 3 returned 4 19:27:53.000238 Read 93 bytes 19:27:53.000259 Process 93 bytes request 19:27:53.000274 Got request: GET /verifiedserver HTTP/1.1 19:27:53.000284 Are-we-friendly question received 19:27:53.000324 Wrote request (93 bytes) input to log/2/server.input 19:27:53.000343 Identifying ourselves as friends 19:27:53.000410 Response sent (56 bytes) and written to log/2/server.response 19:27:53.000420 special request received, no persistency 19:27:53.000429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 46708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 994 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind994 ==132718== ==132718== Process terminating with default action of signal 4 (SIGILL) ==132718== Illegal opcode at address 0x492B75F ==132718== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132718== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132718== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132718== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132718== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132718== by 0x49908EB: curl_version_info (version.c:600) ==132718== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132718== by 0x4003269: main (tool_main.c:195) === End of file valgrind994 test 0992 [SASL verify default mechanisms are reset by login options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind992 ../src/curl -q --output log/24/curl992.out --include --trace-ascii log/24/trace992 --trace-time smtp://127.0.0.1:40147/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/24/stdout992 2> log/24/stderr992 992: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 992 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind992 ../src/curl -q --output log/24/curl992.out --include --trace-ascii log/24/trace992 --trace-time smtp://127.0.0.1:40147/992 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --login-options "AUTH=XOAUTH2" -T - log/24/stdout992 2> log/24/stderr992 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER XOAUTH2 REPLY AUTH 334 XOAUTH2 supported REPLY dXNlcj11c2VyAWF1dGg9QmVhcmVyIG1GXzkuQjVmLTQuMUpxTQEB 235 Authenticated Testnum 992 === End of file server.cmd === Start of file smtp_server.log 19:27:52.215493 ====> Client connect 19:27:52.218745 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:52.232201 < "EHLO verifiedserver" 19:27:52.232276 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:27:52.235647 < "HELP" 19:27:52.235701 > "214 WE ROOLZ: 127811[CR][LF]" 19:27:52.235719 return proof we are we 19:27:52.235984 < "QUIT" 19:27:52.236027 > "221 curl ESMTP server signing off[CR][LF]" 19:27:52.238381 MAIN sockfilt said DISC 19:27:52.238421 ====> Client disconnected 19:27:52.238507 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:27:52.820536 ====> Client connect 19:27:52.823847 Received DATA (on stdin) 19:27:52.823878 > 146 bytes data, server => client 19:27:52.823966 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:52.823978 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:52.823988 '220 \___|\___/|_| \_\_____|\r\n' 19:27:52.830525 < 21 bytes data, client => server 19:27:52.830557 'EHLO verifiedserver\r\n' 19:27:52.840525 Received DATA (on stdin) 19:27:52.840558 > 53 bytes data, server => client 19:27:52.840571 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:27:52.840693 < 6 bytes data, client => server 19:27:52.840708 'HELP\r\n' 19:27:52.840914 Received DATA (on stdin) 19:27:52.840926 > 22 bytes data, server => client 19:27:52.840936 '214 WE ROOLZ: 127811\r\n' 19:27:52.841064 < 6 bytes data, client => server 19:27:52.841080 'QUIT\r\n' 19:27:52.841224 Received DATA (on stdin) 19:27:52.841236 > 35 bytes data, server => client 19:27:52.841246 '221 curl ESMTP server signing off\r\n' 19:27:52.843516 ====> Client disconnect 19:27:52.843710 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-992 mail body === End of file stdin-for-992 === Start of file valgrind992 ==132608== ==132608== Process terminating with default action of signal 4 (SIGILL) ==132608== Illegal opcode at address 0x492B75F ==132608== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132608== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132608== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132608== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132608== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132608== by 0x49908EB: curl_version_info (version.c:600) ==132608== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132608== by 0x4003269: main (tool_main.c:195) === End of file valgrind992 test 1004 [HTTP GET with empty proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/vaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind999 ../src/curl -q --output log/9/curl999.out --include --trace-ascii log/9/trace999 --trace-time -x 127.0.0.1:43733 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/9/stdout999 2> log/9/stderr999 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind998 ../src/curl -q --output log/20/curl998.out --include --trace-ascii log/20/trace998 --trace-time -x 127.0.0.1:33897 http://alberto:einstein@somewhere.example/998 --location-trusted > log/20/stdout998 2> log/20/stderr998 lgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:44711/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 1004: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1004 ../src/curl -q --output log/23/curl1004.out --include --trace-ascii log/23/trace1004 --trace-time http://127.0.0.1:44711/1004 --proxy "" > log/23/stdout1004 2> log/23/stderr1004 === End of file commands.log === Start of file http_server.log 19:27:52.383910 ====> Client connect 19:27:52.383961 accept_connection 3 returned 4 19:27:52.383992 Read 93 bytes 19:27:52.384003 Process 93 bytes request 19:27:52.384017 Got request: GET /verifiedserver HTTP/1.1 19:27:52.384026 Are-we-friendly question received 19:27:52.384055 Wrote request (93 bytes) input to log/23/server.input 19:27:52.384073 Identifying ourselves as friends 19:27:52.384161 Response sent (56 bytes) and written to log/23/server.response 19:27:52.384173 special request received, no persistency 19:27:52.384182 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 60900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1004 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1004 ==133230== ==133230== Process terminating with default action of signal 4 (SIGILL) ==133230== Illegal opcode at address 0x492B75F ==133230== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133230== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133230== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133230== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133230== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133230== by 0x49908EB: curl_version_info (version.c:600) ==133230== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133230== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133230== by 0x4003269: main (tool_main.c:195) === End of file valgrind1004 test 0999 [HTTP with auth in first URL but not second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind999 ../src/curl -q --output log/9/curl999.out --include --trace-ascii log/9/trace999 --trace-time -x 127.0.0.1:43733 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/9/stdout999 2> log/9/stderr999 999: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 999 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind999 ../src/curl -q --output log/9/curl999.out --include --trace-ascii log/9/trace999 --trace-time -x 127.0.0.1:43733 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/9/stdout999 2> log/9/stderr999 === End of file commands.log === Start of file http_server.log 19:27:52.123481 ====> Client connect 19:27:52.123521 accept_connection 3 returned 4 19:27:52.123701 Read 93 bytes 19:27:52.123718 Process 93 bytes request 19:27:52.123732 Got request: GET /verifiedserver HTTP/1.1 19:27:52.123742 Are-we-friendly question received 19:27:52.123779 Wrote request (93 bytes) input to log/9/server.input 19:27:52.123835 Identifying ourselves as friends 19:27:52.123913 Response sent (56 bytes) and written to log/9/server.response 19:27:52.123926 special request received, no persistency 19:27:52.123935 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 37418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 999 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind999 ==132930== ==132930== Process terminating with default action of signal 4 (SIGILL) ==132930== Illegal opcode at address 0x492B75F ==132930== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132930== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132930== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132930== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132930== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132930== by 0x49908EB: curl_version_info (version.c:600) ==132930== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132930== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132930== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132930== by 0x4003269: main (tool_main.c:195) === End of file valgrind999 test 0998 [HTTP with auth in URL redirected to another host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind998 ../src/curl -q --output log/20/curl998.out --include --trace-ascii log/20/trace998 --trace-time -x 127.0.0.1:33897 http://alberto:einstein@somewhere.example/998 --location-trusted > log/20/stdout998 2> log/20/stderr998 998: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 998 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind998 ../src/curl -q --output log/20/curl998.out --include --trace-ascii log/20/trace998 --trace-time -x 127.0.0.1:33897 http://alberto:einstein@somewhere.example/998 --location-trusted > log/20/stdout998 2> log/20/stderr998 === End of file commands.log === Start of file http_server.log 19:27:52.093488 ====> Client connect 19:27:52.093521 accept_connection 3 returned 4 19:27:52.093544 Read 93 bytes 19:27:52.093553 Process 93 bytes request 19:27:52.093564 Got request: GET /verifiedserver HTTP/1.1 19:27:52.093573 Are-we-friendly question received 19:27:52.093597 Wrote request (93 bytes) input to log/20/server.input 19:27:52.093614 Identifying ourselves as friends 19:27:52.093676 Response sent (56 bytes) and written to log/20/server.response 19:27:52.093685 special request received, no persistency 19:27:52.093693 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1000 ../src/curl -q --output log/13/curl1000.out --include --trace-ascii log/13/trace1000 --trace-time ftp://127.0.0.1:33695/1000/ -I > log/13/stdout1000 2> log/13/stderr1000 Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 998 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind998 ==132897== ==132897== Process terminating with default action of signal 4 (SIGILL) ==132897== Illegal opcode at address 0x492B75F ==132897== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132897== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132897== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132897== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132897== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132897== by 0x49908EB: curl_version_info (version.c:600) ==132897== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132897== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132897== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132897== by 0x4003269: main (tool_main.c:195) === End of file valgrind998 test 1000 [FTP dir list PASV with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1000 ../src/curl -q --output log/13/curl1000.out --include --trace-ascii log/13/trace1000 --trace-time ftp://127.0.0.1:33695/1000/ -I > log/13/stdout1000 2> log/13/stderr1000 1000: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1000 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1000 ../src/curl -q --output log/13/curl1000.out --include --trace-ascii log/13/trace1000 --trace-time ftp://127.0.0.1:33695/1000/ -I > log/13/stdout1000 2> log/13/stderr1000 === End of file commands.log === Start of file ftp_server.log 19:27:52.651943 ====> Client connect 19:27:52.652345 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:52.652684 < "USER anonymous" 19:27:52.652723 > "331 We are happy you popped in![CR][LF]" 19:27:52.652911 < "PASS ftp@example.com" 19:27:52.652943 > "230 Welcome you silly person[CR][LF]" 19:27:52.653124 < "PWD" 19:27:52.653164 > "257 "/" is current directory[CR][LF]" 19:27:52.653364 < "EPSV" 19:27:52.653398 ====> Passive DATA channel requested by client 19:27:52.653415 DATA sockfilt for passive data channel starting... 19:27:52.662034 DATA sockfilt for passive data channel started (pid 133026) 19:27:52.669252 DATA sockfilt for passive data channel listens on port 40157 19:27:52.669318 > "229 Entering Passive Mode (|||40157|)[CR][LF]" 19:27:52.669338 Client has been notified that upcoming DATA connection is awaited on port 40157 19:27:52.669632 Client connects to port 40157 19:27:52.669665 ====> Client established passive DATA connection on port 40157 19:27:52.669815 < "TYPE I" 19:27:52.669849 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:52.670023 < "SIZE verifiedserver" 19:27:52.670060 > "213 17[CR][LF]" 19:27:52.670213 < "RETR verifiedserver" 19:27:52.670247 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:52.670333 =====> Closing passive DATA connection... 19:27:52.670347 Server disconnects passive DATA connection 19:27:52.670458 Server disconnected passive DATA connection 19:27:52.670479 DATA sockfilt for passive data channel quits (pid 133026) 19:27:52.670752 DATA sockfilt for passive data channel quit (pid 133026) 19:27:52.670775 =====> Closed passive DATA connection 19:27:52.670803 > "226 File transfer complete[CR][LF]" 19:27:52.717322 < "QUIT" 19:27:52.717374 > "221 bye bye baby[CR][LF]" 19:27:52.718549 MAIN sockfilt said DISC 19:27:52.718589 ====> Client disconnected 19:27:52.718683 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:52.256943 ====> Client connect 19:27:52.257426 Received DATA (on stdin) 19:27:52.257449 > 146 bytes data, server => client 19:27:52.257520 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:52.257537 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:52.257546 '220 \___|\___/|_| \_\_____|\r\n' 19:27:52.257672 < 16 bytes data, client => server 19:27:52.257689 'USER anonymous\r\n' 19:27:52.257884 Received DATA (on stdin) 19:27:52.257896 > 33 bytes data, server => client 19:27:52.257907 '331 We are happy you popped in!\r\n' 19:27:52.257967 < 22 bytes data, client => server 19:27:52.257981 'PASS ftp@example.com\r\n' 19:27:52.258102 Received DATA (on stdin) 19:27:52.258114 > 30 bytes data, server => client 19:27:52.258124 '230 Welcome you silly person\r\n' 19:27:52.258184 < 5 bytes data, client => server 19:27:52.258198 'PWD\r\n' 19:27:52.258323 Received DATA (on stdin) 19:27:52.258336 > 30 bytes data, server => client 19:27:52.258346 '257 "/" is current directory\r\n' 19:27:52.258421 < 6 bytes data, client => server 19:27:52.258436 'EPSV\r\n' 19:27:52.274501 Received DATA (on stdin) 19:27:52.274517 > 39 bytes data, server => client 19:27:52.274527 '229 Entering Passive Mode (|||40157|)\r\n' 19:27:52.274840 < 8 bytes data, client => server 19:27:52.274853 'TYPE I\r\n' 19:27:52.275004 Received DATA (on stdin) 19:27:52.275015 > 33 bytes data, server => client 19:27:52.275025 '200 I modify TYPE as you wanted\r\n' 19:27:52.275085 < 21 bytes data, client => server 19:27:52.275095 'SIZE verifiedserver\r\n' 19:27:52.275212 Received DATA (on stdin) 19:27:52.275222 > 8 bytes data, server => client 19:27:52.275231 '213 17\r\n' 19:27:52.275282 < 21 bytes data, client => server 19:27:52.275292 'RETR verifiedserver\r\n' 19:27:52.275824 Received DATA (on stdin) 19:27:52.275839 > 29 bytes data, server => client 19:27:52.275849 '150 Binary junk (17 bytes).\r\n' 19:27:52.275955 Received DATA (on stdin) 19:27:52.275965 > 28 bytes data, server => client 19:27:52.275975 '226 File transfer complete\r\n' 19:27:52.322305 < 6 bytes data, client => server 19:27:52.322328 'QUIT\r\n' 19:27:52.322532 Received DATA (on stdin) 19:27:52.322546 > 18 bytes data, server => client 19:27:52.322555 '221 bye bye baby\r\n' 19:27:52.323638 ====> Client disconnect 19:27:52.327136 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:52.264626 Running IPv4 version 19:27:52.264710 Listening on port 40157 19:27:52.264752 Wrote pid 133026 to log/13/server/ftp_sockdata.pid 19:27:52.266124 Received PING (on stdin) 19:27:52.274260 Received PORT (on stdin) 19:27:52.274730 ====> Client connect 19:27:52.275502 Received DATA (on stdin) 19:27:52.275514 > 17 bytes data, server => client 19:27:52.275524 'WE ROOLZ: 93286\r\n' 19:27:52.275550 Received DISC (on stdin) 19:27:52.275561 ====> Client forcibly disconnected 19:27:52.275636 Received QUIT (on stdin) 19:27:52.275645 quits 19:27:52.275704 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==133133== ==133133== Process terminating with default action of signal 4 (SIGILL) ==133133== Illegal opcode at address 0x492B75F ==133133== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133133== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133133== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133133== by 0x49A9B9CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind996 ../src/curl -q --include --trace-ascii log/7/trace996 --trace-time -o log/7/there http://127.0.0.1:40859/996 --skip-existing > log/7/stdout996 2> log/7/stderr996 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:40989/1002.upload1 -T log/11/1002 http://127.0.0.1:40989/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:40989 -C 0 -X GET > log/11/stdout1002 2> log/11/stderr1002 E: Curl_ossl_version (openssl.c:5473) ==133133== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133133== by 0x49908EB: curl_version_info (version.c:600) ==133133== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133133== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133133== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133133== by 0x4003269: main (tool_main.c:195) === End of file valgrind1000 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1005 ../src/curl -q --output log/17/curl1005.out --include --trace-ascii log/17/trace1005 --trace-time ftp://127.0.0.1:46137/path/1005 > log/17/stdout1005 2> log/17/stderr1005 test 0996 [--skip-existing with file present] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind996 ../src/curl -q --include --trace-ascii log/7/trace996 --trace-time -o log/7/there http://127.0.0.1:40859/996 --skip-existing > log/7/stdout996 2> log/7/stderr996 996: stderr FAILED: --- log/7/check-expected 2026-10-15 19:27:55.229917362 +0000 +++ log/7/check-generated 2026-10-15 19:27:55.229455917 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/7/there" exists locally[CR][LF] == Contents of files in the log/7/ directory after test 996 === Start of file check-expected Note: skips transfer, "log/7/there" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind996 ../src/curl -q --include --trace-ascii log/7/trace996 --trace-time -o log/7/there http://127.0.0.1:40859/996 --skip-existing > log/7/stdout996 2> log/7/stderr996 === End of file commands.log === Start of file http_server.log 19:27:52.063064 ====> Client connect 19:27:52.063096 accept_connection 3 returned 4 19:27:52.063117 Read 93 bytes 19:27:52.063126 Process 93 bytes request 19:27:52.063139 Got request: GET /verifiedserver HTTP/1.1 19:27:52.063147 Are-we-friendly question received 19:27:52.063174 Wrote request (93 bytes) input to log/7/server.input 19:27:52.063191 Identifying ourselves as friends 19:27:52.063253 Response sent (56 bytes) and written to log/7/server.response 19:27:52.063263 special request received, no persistency 19:27:52.063271 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 58114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 996 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==132832== ==132832== Process terminating with default action of signal 4 (SIGILL) ==132832== Illegal opcode at address 0x492B75F ==132832== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==132832== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==132832== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==132832== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==132832== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==132832== by 0x49908EB: curl_version_info (version.c:600) ==132832== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==132832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==132832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==132832== by 0x4003269: main (tool_main.c:195) === End of file valgrind996 test 1002 [HTTP Digest uploads with zero resume offset and custom method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:40989/1002.upload1 -T log/11/1002 http://127.0.0.1:40989/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:40989 -C 0 -X GET > log/11/stdout1002 2> log/11/stderr1002 1002: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1002 === Start of file 1002 test === End of file 1002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:40989/1002.upload1 -T log/11/1002 http://127.0.0.1:40989/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:40989 -C 0 -X GET > log/11/stdout1002 2> log/11/stderr1002 === End of file commands.log === Start of file http_server.log 19:27:52.320646 ====> Client connect 19:27:52.320686 accept_connection 3 returned 4 19:27:52.320707 Read 93 bytes 19:27:52.320716 Process 93 bytes request 19:27:52.320727 Got request: GET /verifiedserver HTTP/1.1 19:27:52.320735 Are-we-friendly question received 19:27:52.320759 Wrote request (93 bytes) input to log/11/server.input 19:27:52.320774 Identifying ourselves as friends 19:27:52.320831 Response sent (56 bytes) and written to log/11/server.response 19:27:52.320839 special request received, no persistency 19:27:52.320846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 50586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1002 ==133165== ==133165== Process terminating with default action of signal 4 (SIGILL) ==133165== Illegal opcode at address 0x492B75F ==133165== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133165== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133165== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133165== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133165== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133165== by 0x49908EB: curl_version_info (version.c:600) ==133165== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133165== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133165== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133165== by 0x4003269: main (tool_main.c:195) === End of file valgrind1002 test 1005 [FTP with excessively large number of server command response lines] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1005 ../src/curl -q --output log/17/curl1005.out --include --trace-ascii log/17/trace1005 --trace-time ftp://127.0.0.1:46137/path/1005 > log/17/stdout1005 2> log/17/stderr1005 1005: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1005 ../src/curl -q --output log/17/curl1005.out --include --trace-ascii log/17/trace1005 --trace-time ftp://127.0.0.1:46137/path/1005 > log/17/stdout1005 2> log/17/stderr1005 === End of file commands.log === Start of file ftp_server.log 19:27:52.945474 ====> Client connect 19:27:52.945722 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:52.959004 < "USER anonymous" 19:27:52.959101 > "331 We are happy you popped in![CR][LF]" 19:27:52.968885 < "PASS ftp@example.com" 19:27:52.968945 > "230 Welcome you silly person[CR][LF]" 19:27:52.969155 < "PWD" 19:27:52.969186 > "257 "/" is current directory[CR][LF]" 19:27:52.969340 < "EPSV" 19:27:52.969366 ====> Passive DATA channel requested by client 19:27:52.969379 DATA sockfilt for passive data channel starting... 19:27:52.975543 DATA sockfilt for passive data channel started (pid 133427) 19:27:52.975668 DATA sockfilt for passive data channel listens on port 36127 19:27:52.975713 > "229 Entering Passive Mode (|||36127|)[CR][LF]" 19:27:52.975730 Client has been notified that upcoming DATA connection is awaited on port 36127 19:27:52.976020 Client connects to port 36127 19:27:52.976049 ====> Client established passive DATA connection on port 36127 19:27:52.976132 < "TYPE I" 19:27:52.976161 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:52.976302 < "SIZE verifiedserver" 19:27:52.976338 > "213 17[CR][LF]" 19:27:52.976473 < "RETR verifiedserver" 19:27:52.976502 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:52.976589 =====> Closing passive DATA connection... 19:27:52.976603 Server disconnects passive DATA connection 19:27:52.976810 Server disconnected passive DATA connection 19:27:52.976834 DATA sockfilt for passive data channel quits (pid 133427) 19:27:52.977087 DATA sockfilt for passive data channel quit (pid 133427) 19:27:52.977109 =====> Closed passive DATA connection 19:27:52.977133 > "226 File transfer complete[CR][LF]" 19:27:53.019192 < "QUIT" 19:27:53.019257 > "221 bye bye baby[CR][LF]" 19:27:53.020683 MAIN sockfilt said DISC 19:27:53.020724 ====> Client disconnected 19:27:53.020801 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:52.550465 ====> Client connect 19:27:52.550866 Received DATA (on stdin) 19:27:52.550881 > 146 bytes data, server => client 19:27:52.550891 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:52.550900 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:52.550908 '220 \___|\___/|_| \_\_____|\r\n' 19:27:52.563813 < 16 bytes data, client => server 19:27:52.563867 'USER anonymous\r\n' 19:27:52.564172 Received DATA (on stdin) 19:27:52.564183 > 33 bytes data, server => client 19:27:52.564229 '331 We are happy you popped in!\r\n' 19:27:52.573802 < 22 bytes data, client => server 19:27:52.573836 'PASS ftp@example.com\r\n' 19:27:52.574074 Received DATA (on stdin) 19:27:52.574084 > 30 bytes data, server => client 19:27:52.574095 '230 Welcome you silly person\r\n' 19:27:52.574198 < 5 bytes data, client => server 19:27:52.574208 'PWD\r\n' 19:27:52.574309 Received DATA (on stdin) 19:27:52.574319 > 30 bytes data, server => client 19:27:52.574329 '257 "/" is current directory\r\n' 19:27:52.574389 < 6 bytes data, client => server 19:27:52.574398 'EPSV\r\n' 19:27:52.580861 Received DATA (on stdin) 19:27:52.580876 > 39 bytes data, server => client 19:27:52.580887 '229 Entering Passive Mode (|||36127|)\r\n' 19:27:52.581093 < 8 bytes data, client => server 19:27:52.581103 'TYPE I\r\n' 19:27:52.581284 Received DATA (on stdin) 19:27:52.581294 > 33 bytes data, server => client 19:27:52.581304 '200 I modify TYPE as you wanted\r\n' 19:27:52.581351 < 21 bytes data, client => server 19:27:52.581361 'SIZE verifiedserver\r\n' 19:27:52.581460 Received DATA (on stdin) 19:27:52.581470 > 8 bytes data, server => client 19:27:52.581479 '213 17\r\n' 19:27:52.581524 < 21 bytes data, client => server 19:27:52.581534 'RETR verifiedserver\r\n' 19:27:52.581807 Received DATA (on stdin) 19:27:52.581818 > 29 bytes data, server => client 19:27:52.581828 '150 Binary junk (17 bytes).\r\n' 19:27:52.582257 Received DATA (on stdin) 19:27:52.582268 > 28 bytes data, server => client 19:27:52.582278 '226 File transfer complete\r\n' 19:27:52.624036 < 6 bytes data, client => server 19:27:52.624097 'QUIT\r\n' 19:27:52.624382 Received DATA (on stdin) 19:27:52.624392 > 18 bytes data, server => client 19:27:52.624402 '221 bye bye baby\r\n' 19:27:52.625743 ====> Client disconnect 19:27:52.625920 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:52.578230 Running IPv4 version 19:27:52.578324 Listening on port 36127 19:27:52.578372 Wrote pid 133427 to log/17/server/ftp_sockdata.pid 19:27:52.580599 Received PING (on stdin) 19:27:52.580700 Received PORT (on stdin) 19:27:52.581069 ====> Client connect 19:27:52.581728 Received DATA (on stdin) 19:27:52.581739 > 17 bytes data, server => client 19:27:52.581749 'WE ROOLZ: 84749\r\n' 19:27:52.581774 Received DISC (on stdin) 19:27:52.581784 ====> Client forcibly disconnected 19:27:52.581965 Received QUIT (on stdin) 19:27:52.581975 quits 19:27:52.582043 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1001 ../src/curl -q --output log/16/curl1001.out --include --trace-ascii log/16/trace1001 --trace-time http://127.0.0.1:35903/1001 -u auser:apasswd --digest -T log/16/1001 -x http://127.0.0.1:35903 --range 0-4 -X GET > log/16/stdout1001 2> log/16/stderr1001 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1005 === End of file server.cmd === Start of file valgrind1005 ==133479== ==133479== Process terminating with default action of signal 4 (SIGILL) ==133479== Illegal opcode at address 0x492B75F ==133479== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133479== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133479== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133479== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133479== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133479== by 0x49908EB: curl_version_info (version.c:600) ==133479== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133479== by 0x4003269: main (tool_main.c:195) === End of file valgrind1005 test 1001 [HTTP Digest range upload with a modified method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1001 ../src/curl -q --output log/16/curl1001.out --include --trace-ascii log/16/trace1001 --trace-time http://127.0.0.1:35903/1001 -u auser:apasswd --digest -T log/16/1001 -x http://127.0.0.1:35903 --range 0-4 -X GET > log/16/stdout1001 2> log/16/stderr1001 1001: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1001 === Start of file 1001 test === End of file 1001 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1001 ../src/curl -q --output log/16/curl1001.out --include --trace-ascii log/16/trace1001 --trace-time http://127.0.0.1:35903/1001 -u auser:apasswd --digest -T log/16/1001 -x httCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1006 ../src/curl -q --output log/12/curl1006.out --include --trace-ascii log/12/trace1006 --trace-time ftp://127.0.0.1:40417/path/1006 > log/12/stdout1006 2> log/12/stderr1006 p://127.0.0.1:35903 --range 0-4 -X GET > log/16/stdout1001 2> log/16/stderr1001 === End of file commands.log === Start of file http_server.log 19:27:53.317198 ====> Client connect 19:27:53.317234 accept_connection 3 returned 4 19:27:53.317256 Read 93 bytes 19:27:53.317266 Process 93 bytes request 19:27:53.317278 Got request: GET /verifiedserver HTTP/1.1 19:27:53.317286 Are-we-friendly question received 19:27:53.317311 Wrote request (93 bytes) input to log/16/server.input 19:27:53.317327 Identifying ourselves as friends 19:27:53.317396 Response sent (56 bytes) and written to log/16/server.response 19:27:53.317405 special request received, no persistency 19:27:53.317414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 49664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1001 ==133169== ==133169== Process terminating with default action of signal 4 (SIGILL) ==133169== Illegal opcode at address 0x492B75F ==133169== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133169== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133169== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133169== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133169== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133169== by 0x49908EB: curl_version_info (version.c:600) ==133169== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133169== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133169== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133169== by 0x4003269: main (tool_main.c:195) === End of file valgrind1001 test 1006 [FTP with large number of command response lines (boundary condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1006 ../src/curl -q --output log/12/curl1006.out --include --trace-ascii log/12/trace1006 --trace-time ftp://127.0.0.1:40417/path/1006 > log/12/stdout1006 2> log/12/stderr1006 1006: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1006 ../src/curl -q --output log/12/curl1006.out --include --trace-ascii log/12/trace1006 --trace-time ftp://127.0.0.1:40417/path/1006 > log/12/stdout1006 2> log/12/stderr1006 === End of file commands.log === Start of file ftp_server.log 19:27:53.071624 ====> Client connect 19:27:53.071844 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:53.072256 < "USER anonymous" 19:27:53.072297 > "331 We are happy you popped in![CR][LF]" 19:27:53.072450 < "PASS ftp@example.com" 19:27:53.072473 > "230 Welcome you silly person[CR][LF]" 19:27:53.072605 < "PWD" 19:27:53.072634 > "257 "/" is current directory[CR][LF]" 19:27:53.072774 < "EPSV" 19:27:53.072795 ====> Passive DATA channel requested by client 19:27:53.072808 DATA sockfilt for passive data channel starting... 19:27:53.086540 DATA sockfilt for passive data channel started (pid 133502) 19:27:53.086678 DATA sockfilt for passive data channel listens on port 36131 19:27:53.086725 > "229 Entering Passive Mode (|||36131|)[CR][LF]" 19:27:53.086742 Client has been notified that upcoming DATA connection is awaited on port 36131 19:27:53.092082 Client connects to port 36131 19:27:53.092143 ====> Client established passive DATA connection on port 36131 19:27:53.092259 < "TYPE I" 19:27:53.092298 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:53.095908 < "SIZE verifiedserver" 19:27:53.095967 > "213 17[CR][LF]" 19:27:53.102133 < "RETR verifiedserver" 19:27:53.102201 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:53.102300 =====> Closing passive DATA connection... 19:27:53.102318 Server disconnects passive DATA connection 19:27:53.102518 Server disconnected passive DATA connection 19:27:53.102541 DATA sockfilt for passive data channel quits (pid 133502) 19:27:53.102813 DATA sockfilt for passive data channel quit (pid 133502) 19:27:53.102838 =====> Closed passive DATA connection 19:27:53.102867 > "226 File transfer complete[CR][LF]" 19:27:53.152228 < "QUIT" 19:27:53.152294 > "221 bye bye baby[CR][LF]" 19:27:53.158766 MAIN sockfilt said DISC 19:27:53.158830 ====> Client disconnected 19:27:53.158935 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:53.676618 ====> Client connect 19:27:53.676969 Received DATA (on stdin) 19:27:53.676982 > 146 bytes data, server => client 19:27:53.676992 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:53.677001 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:53.677009 '220 \___|\___/|_| \_\_____|\r\n' 19:27:53.677203 < 16 bytes data, client => server 19:27:53.677216 'USER anonymous\r\n' 19:27:53.677418 Received DATA (on stdin) 19:27:53.677428 > 33 bytes data, server => client 19:27:53.677438 '331 We are happy you popped in!\r\n' 19:27:53.677486 < 22 bytes data, client => server 19:27:53.677496 'PASS ftp@example.com\r\n' 19:27:53.677586 Received DATA (on stdin) 19:27:53.677595 > 30 bytes data, server => client 19:27:53.677604 '230 Welcome you silly person\r\n' 19:27:53.677648 < 5 bytes data, client => server 19:27:53.677657 'PWD\r\n' 19:27:53.677746 Received DATA (on stdin) 19:27:53.677755 > 30 bytes data, server => client 19:27:53.677764 '257 "/" is current directory\r\n' 19:27:53.677816 < 6 bytes data, client => server 19:27:53.677825 'EPSV\r\n' 19:27:53.691818 Received DATA (on stdin) 19:27:53.691842 > 39 bytes data, server => client 19:27:53.691852 '229 Entering Passive Mode (|||36131|)\r\n' 19:27:53.692046 < 8 bytes data, client => server 19:27:53.692060 'TYPE I\r\n' 19:27:53.697418 Received DATA (on stdin) 19:27:53.697432 > 33 bytes data, server => client 19:27:53.697442 '200 I modify TYPE as you wanted\r\n' 19:27:53.700539 < 21 bytes data, client => server 19:27:53.700564 'SIZE verifiedserver\r\n' 19:27:53.703774 Received DATA (on stdin) 19:27:53.703793 > 8 bytes data, server => client 19:27:53.703802 '213 17\r\n' 19:27:53.703889 < 21 bytes data, client => server 19:27:53.703899 'RETR verifiedserver\r\n' 19:27:53.707437 Received DATA (on stdin) 19:27:53.707453 > 29 bytes data, server => client 19:27:53.707462 '150 Binary junk (17 bytes).\r\n' 19:27:53.707985 Received DATA (on stdin) 19:27:53.707996 > 28 bytes data, server => client 19:27:53.708006 '226 File transfer complete\r\n' 19:27:53.757119 < 6 bytes data, client => server 19:27:53.757164 'QUIT\r\n' 19:27:53.757412 Received DATA (on stdin) 19:27:53.757425 > 18 bytes data, server => client 19:27:53.757435 '221 bye bye baby\r\n' 19:27:53.763773 ====> Client disconnect 19:27:53.764053 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:53.691259 Running IPv4 version 19:27:53.691355 Listening on port 36131 19:27:53.691397 Wrote pid 133502 to log/12/server/ftp_sockdata.pid 19:27:53.691596 Received PING (on stdin) 19:27:53.691696 Received PORT (on stdin) 19:27:53.697114 ====> Client connect 19:27:53.707512 Received DATA (on stdin) 19:27:53.707530 > 17 bytes data, server => client 19:27:53.707540 'WE ROOLZ: 85158\r\n' 19:27:53.707569 Received DISC (on stdin) 19:27:53.707579 ====> Client forcibly disconnected 19:27:53.707661 Received QUIT (on stdin) 19:27:53.707671 quits 19:27:53.707750 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1003 ../src/curl -q --output log/4/curl1003.out --include --trace-ascii log/4/trace1003 --trace-time ftp://127.0.0.1:39739/path/1003 > log/4/stdout1003 2> log/4/stderr1003 AAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250 Finally, here is the response Testnum 1006 === End of file server.cmd === Start of file valgrind1006 ==133532== ==133532== Process terminating with default action of signal 4 (SIGILL) ==133532== Illegal opcode at address 0x492B75F ==133532== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133532== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133532== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133532== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133532== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133532== by 0x49908EB: curl_version_info (version.c:600) ==133532== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133532== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133532== by 0x4003269: main (tool_main.c:195) === End of file valgrind1006 test 1003 [FTP with excessively large server command response line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1003 ../src/curl -q --output log/4/curl1003.out --include --trace-ascii log/4/trace1003 --trace-time ftp://127.0.0.1:39739/path/1003 > log/4/stdout1003 2> log/4/stderr1003 1003: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1003 ../src/curl -q --output log/4/curl1003.out --include --trace-ascii log/4/trace1003 --trace-time ftp://127.0.0.1:39739/path/1003 > log/4/stdout1003 2> log/4/stderr1003 === End of file commands.log === Start of file ftp_server.log 19:27:52.728799 ====> Client connect 19:27:52.729029 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:52.729359 < "USER anonymous" 19:27:52.729399 > "331 We are happy you popped in![CR][LF]" 19:27:52.729594 < "PASS ftp@example.com" 19:27:52.729624 > "230 Welcome you silly person[CR][LF]" 19:27:52.729809 < "PWD" 19:27:52.729847 > "257 "/" is current directory[CR][LF]" 19:27:52.730040 < "EPSV" 19:27:52.730071 ====> Passive DATA channel requested by client 19:27:52.730089 DATA sockfilt for passive data channel starting... 19:27:52.732066 DATA sockfilt for passive data channel started (pid 133127) 19:27:52.732167 DATA sockfilt for passive data channel listens on port 42573 19:27:52.732201 > "229 Entering Passive Mode (|||42573|)[CR][LF]" 19:27:52.732218 Client has been notified that upcoming DATA connection is awaited on port 42573 19:27:52.734592 Client connects to port 42573 19:27:52.734631 ====> Client established passive DATA connection on port 42573 19:27:52.734733 < "TYPE I" 19:27:52.734772 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:52.736466 < "SIZE verifiedserver" 19:27:52.736515 > "213 17[CR][LF]" 19:27:52.736721 < "RETR verifiedserver" 19:27:52.736767 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:52.736874 =====> Closing passive DATA connection... 19:27:52.736897 Server disconnects passive DATA connection 19:27:52.737187 Server disconnected passive DATA connection 19:27:52.737220 DATA sockfilt for passive data channel quits (pid 133127) 19:27:52.737498 DATA sockfilt for passive data channel quit (pid 133127) 19:27:52.737526 =====> Closed passive DATA connection 19:27:52.737557 > "226 File transfer complete[CR][LF]" 19:27:52.785706 < "QUIT" 19:27:52.785768 > "221 bye bye baby[CR][LF]" 19:27:52.787081 MAIN sockfilt said DISC 19:27:52.787179 ====> Client disconnected 19:27:52.787276 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:52.333812 ====> Client connect 19:27:52.334198 Received DATA (on stdin) 19:27:52.334215 > 146 bytes data, server => client 19:27:52.334227 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:52.334238 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:52.334248 '220 \___|\___/|_| \_\_____|\r\n' 19:27:52.334349 < 16 bytes data, client => server 19:27:52.334364 'USER anonymous\r\n' 19:27:52.334554 Received DATA (on stdin) 19:27:52.334567 > 33 bytes data, server => client 19:27:52.334578 '331 We are happy you popped in!\r\n' 19:27:52.334638 < 22 bytes data, client => server 19:27:52.334655 'PASS ftp@example.com\r\n' 19:27:52.334776 Received DATA (on stdin) 19:27:52.334788 > 30 bytes data, server => client 19:27:52.334799 '230 Welcome you silly person\r\n' 19:27:52.334860 < 5 bytes data, client => server 19:27:52.334874 'PWD\r\n' 19:27:52.335000 Received DATA (on stdin) 19:27:52.335013 > 30 bytes data, server => client 19:27:52.335024 '257 "/" is current directory\r\n' 19:27:52.335093 < 6 bytes data, client => server 19:27:52.335106 'EPSV\r\n' 19:27:52.337368 Received DATA (on stdin) 19:27:52.337379 > 39 bytes data, server => client 19:27:52.337388 '229 Entering Passive Mode (|||42573|)\r\n' 19:27:52.337517 < 8 bytes data, client => server 19:27:52.337531 'TYPE I\r\n' 19:27:52.339928 Received DATA (on stdin) 19:27:52.339943 > 33 bytes data, server => client 19:27:52.339954 '200 I modify TYPE as you wanted\r\n' 19:27:52.340023 < 21 bytes data, client => server 19:27:52.340038 'SIZE verifiedserver\r\n' 19:27:52.341672 Received DATA (on stdin) 19:27:52.341688 > 8 bytes data, server => client 19:27:52.341701 '213 17\r\n' 19:27:52.341768 < 21 bytes data, client => server 19:27:52.341783 'RETR verifiedserver\r\n' 19:27:52.342052 Received DATA (on stdin) 19:27:52.342066 > 29 bytes data, server => client 19:27:52.342077 '150 Binary junk (17 bytes).\r\n' 19:27:52.342712 Received DATA (on stdin) 19:27:52.342725 > 28 bytes data, server => client 19:27:52.342736 '226 File transfer complete\r\n' 19:27:52.390661 < 6 bytes data, client => server 19:27:52.390692 'QUIT\r\n' 19:27:52.390926 Received DATA (on stdin) 19:27:52.390944 > 18 bytes data, server => client 19:27:52.390954 '221 bye bye baby\r\n' 19:27:52.392165 ====> Client disconnect 19:27:52.392244 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:52.336872 Running IPv4 version 19:27:52.336941 Listening on port 42573 19:27:52.336991 Wrote pid 133127 to log/4/server/ftp_sockdata.pid 19:27:52.337152 Received PING (on stdin) 19:27:52.337234 Received PORT (on stdin) 19:27:52.339680 ====> Client connect 19:27:52.342144 Received DATA (on stdin) 19:27:52.342161 > 17 bytes data, server => client 19:27:52.342172 'WE ROOLZ: 85249\r\n' 19:27:52.342205 Received DISC (on stdin) 19:27:52.342221 ====> Client forcibly disconnected 19:27:52.342381 Received QUIT (on stdin) 19:27:52.342395 quits 19:27:52.342460 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:37089/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1010 ../src/curl -q --output log/21/curl1010.out --include --trace-ascii log/21/trace1010 --trace-time ftp://127.0.0.1:35787//list/this/path/1010/ ftp://127.0.0.1:35787//list/this/path/1010/ --ftp-method nocwd > log/21/stdout1010 2> log/21/stderr1010 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==133233== ==133233== Process terminating with default action of signal 4 (SIGILL) ==133233== Illegal opcode at address 0x492B75F ==133233== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133233== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133233== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133233== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133233== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133233== by 0x49908EB: curl_version_info (version.c:600) ==133233== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133233== by 0x4003269: main (tool_main.c:195) === End of file valgrind1003 test 1011 [HTTP POST with 301 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:37089/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 1011: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1011 ../src/curl -q --output log/5/curl1011.out --include --trace-ascii log/5/trace1011 --trace-time http://127.0.0.1:37089/blah/1011 -L -d "moo" > log/5/stdout1011 2> log/5/stderr1011 === End of file commands.log === Start of file http_server.log 19:27:53.307115 ====> Client connect 19:27:53.307157 accept_connection 3 returned 4 19:27:53.307180 Read 93 bytes 19:27:53.307189 Process 93 bytes request 19:27:53.307201 Got request: GET /verifiedserver HTTP/1.1 19:27:53.307209 Are-we-friendly question received 19:27:53.307238 Wrote request (93 bytes) input to log/5/server.input 19:27:53.307252 Identifying ourselves as friends 19:27:53.307325 Response sent (56 bytes) and written to log/5/server.response 19:27:53.307333 special request received, no persistency 19:27:53.307340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 39938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1011 ==133676== ==133676== Process terminating with default action of signal 4 (SIGILL) ==133676== Illegal opcode at address 0x492B75F ==133676== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133676== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133676== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133676== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133676== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133676== by 0x49908EB: curl_version_info (version.c:600) ==133676== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133676== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133676== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133676== by 0x4003269: main (tool_main.c:195) === End of file valgrind1011 test 1010 [FTP dir list nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1010 ../src/curl -q --output log/21/curl1010.out --include --trace-ascii log/21/trace1010 --trace-time ftp://127.0.0.1:35787//list/this/path/1010/ ftp://127.0.0.1:35787//list/this/path/1010/ --ftp-method nocwd > log/21/stdout1010 2> log/21/stderr1010 1010: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1010 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1010 ../src/curl -q --output log/21/curl1010.out --include --trace-ascii log/21/trace1010 --trace-time ftp://127.0.0.1:35787//list/this/path/1010/ ftp://127.0.0.1:35787//list/this/path/1010/ --ftp-method nocwd > log/21/stdout1010 2> log/21/stderr1010 === End of file commands.log === Start of file ftp_server.log 19:27:53.602025 ====> Client connect 19:27:53.602264 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:53.602563 < "USER anonymous" 19:27:53.602602 > "331 We are happy you popped in![CR][LF]" 19:27:53.602778 < "PASS ftp@example.com" 19:27:53.602805 > "230 Welcome you silly person[CR][LF]" 19:27:53.602942 < "PWD" 19:27:53.602970 > "257 "/" is current directory[CR][LF]" 19:27:53.603111 < "EPSV" 19:27:53.603134 ====> Passive DATA channel requested by client 19:27:53.603146 DATA sockfilt for passive data channel starting... 19:27:53.614102 DATA sockfilt for passive data channel started (pid 133632) 19:27:53.614249 DATA sockfilt for passive data channel listens on port 37113 19:27:53.614297 > "229 Entering Passive Mode (|||37113|)[CR][LF]" 19:27:53.614312 Client has been notified that upcoming DATA connection is awaited on port 37113 19:27:53.614600 Client connects to port 37113 19:27:53.614629 ====> Client established passive DATA connection on port 37113 19:27:53.614713 < "TYPE I" 19:27:53.614741 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:53.614893 < "SIZE verifiedserver" 19:27:53.614928 > "213 17[CR][LF]" 19:27:53.615067 < "RETR verifiedserver" 19:27:53.615098 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:53.615183 =====> Closing passive DATA connection... 19:27:53.615199 Server disconnects passive DATA connection 19:27:53.615416 Server disconnected passive DATA connection 19:27:53.615444 DATA sockfilt for passive data channel quits (pid 133632) 19:27:53.615699 DATA sockfilt for passive data channel quit (pid 133632) 19:27:53.615722 =====> Closed passive DATA connection 19:27:53.615750 > "226 File transfer complete[CR][LF]" 19:27:53.665532 < "QUIT" 19:27:53.665586 > "221 bye bye baby[CR][LF]" 19:27:53.666591 MAIN sockfilt said DISC 19:27:53.666629 ====> Client disconnected 19:27:53.666708 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:53.206252 ====> Client connect 19:27:53.207350 Received DATA (on stdin) 19:27:53.207368 > 146 bytes data, server => client 19:27:53.207379 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:53.207389 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:53.207398 '220 \___|\___/|_| \_\_____|\r\n' 19:27:53.207CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1012 ../src/curl -q --output log/3/curl1012.out --include --trace-ascii log/3/trace1012 --trace-time http://127.0.0.1:36161/blah/1012 -L -d "moo" --post301 > log/3/stdout1012 2> log/3/stderr1012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1013 ../src/curl -q --output log/22/curl1013.out --include --trace-ascii log/22/trace1013 --trace-time --version > log/22/stdout1013 2> log/22/stderr1013 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. Mismatch in protocols lists: curl: curl-config: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/22/stdout1013 protocols 482 < 16 bytes data, client => server 19:27:53.207493 'USER anonymous\r\n' 19:27:53.207673 Received DATA (on stdin) 19:27:53.207685 > 33 bytes data, server => client 19:27:53.207695 '331 We are happy you popped in!\r\n' 19:27:53.207749 < 22 bytes data, client => server 19:27:53.207759 'PASS ftp@example.com\r\n' 19:27:53.207871 Received DATA (on stdin) 19:27:53.207880 > 30 bytes data, server => client 19:27:53.207889 '230 Welcome you silly person\r\n' 19:27:53.207935 < 5 bytes data, client => server 19:27:53.207944 'PWD\r\n' 19:27:53.208034 Received DATA (on stdin) 19:27:53.208043 > 30 bytes data, server => client 19:27:53.208053 '257 "/" is current directory\r\n' 19:27:53.208106 < 6 bytes data, client => server 19:27:53.208115 'EPSV\r\n' 19:27:53.219388 Received DATA (on stdin) 19:27:53.219404 > 39 bytes data, server => client 19:27:53.219415 '229 Entering Passive Mode (|||37113|)\r\n' 19:27:53.219589 < 8 bytes data, client => server 19:27:53.219602 'TYPE I\r\n' 19:27:53.219808 Received DATA (on stdin) 19:27:53.219818 > 33 bytes data, server => client 19:27:53.219828 '200 I modify TYPE as you wanted\r\n' 19:27:53.219880 < 21 bytes data, client => server 19:27:53.219891 'SIZE verifiedserver\r\n' 19:27:53.219993 Received DATA (on stdin) 19:27:53.220002 > 8 bytes data, server => client 19:27:53.220011 '213 17\r\n' 19:27:53.220058 < 21 bytes data, client => server 19:27:53.220067 'RETR verifiedserver\r\n' 19:27:53.220265 Received DATA (on stdin) 19:27:53.220275 > 29 bytes data, server => client 19:27:53.220285 '150 Binary junk (17 bytes).\r\n' 19:27:53.220816 Received DATA (on stdin) 19:27:53.220828 > 28 bytes data, server => client 19:27:53.220838 '226 File transfer complete\r\n' 19:27:53.270407 < 6 bytes data, client => server 19:27:53.270438 'QUIT\r\n' 19:27:53.270652 Received DATA (on stdin) 19:27:53.270663 > 18 bytes data, server => client 19:27:53.270672 '221 bye bye baby\r\n' 19:27:53.271598 ====> Client disconnect 19:27:53.271769 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:53.214427 Running IPv4 version 19:27:53.214505 Listening on port 37113 19:27:53.214685 Wrote pid 133632 to log/21/server/ftp_sockdata.pid 19:27:53.219086 Received PING (on stdin) 19:27:53.219217 Received PORT (on stdin) 19:27:53.219622 ====> Client connect 19:27:53.220309 Received DATA (on stdin) 19:27:53.220320 > 17 bytes data, server => client 19:27:53.220329 'WE ROOLZ: 84694\r\n' 19:27:53.220352 Received DISC (on stdin) 19:27:53.220362 ====> Client forcibly disconnected 19:27:53.220522 Received QUIT (on stdin) 19:27:53.220532 quits 19:27:53.220601 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==133667== ==133667== Process terminating with default action of signal 4 (SIGILL) ==133667== Illegal opcode at address 0x492B75F ==133667== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133667== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133667== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133667== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133667== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133667== by 0x49908EB: curl_version_info (version.c:600) ==133667== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133667== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133667== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133667== by 0x4003269: main (tool_main.c:195) === End of file valgrind1010 test 1012 [HTTP POST with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1012 ../src/curl -q --output log/3/curl1012.out --include --trace-ascii log/3/trace1012 --trace-time http://127.0.0.1:36161/blah/1012 -L -d "moo" --post301 > log/3/stdout1012 2> log/3/stderr1012 1012: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1012 ../src/curl -q --output log/3/curl1012.out --include --trace-ascii log/3/trace1012 --trace-time http://127.0.0.1:36161/blah/1012 -L -d "moo" --post301 > log/3/stdout1012 2> log/3/stderr1012 === End of file commands.log === Start of file http_server.log 19:27:54.330010 ====> Client connect 19:27:54.330049 accept_connection 3 returned 4 19:27:54.337249 Read 93 bytes 19:27:54.337275 Process 93 bytes request 19:27:54.337288 Got request: GET /verifiedserver HTTP/1.1 19:27:54.337297 Are-we-friendly question received 19:27:54.337348 Wrote request (93 bytes) input to log/3/server.input 19:27:54.337369 Identifying ourselves as friends 19:27:54.337440 Response sent (56 bytes) and written to log/3/server.response 19:27:54.337451 special request received, no persistency 19:27:54.337460 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36358 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1012 ==133712== ==133712== Process terminating with default action of signal 4 (SIGILL) ==133712== Illegal opcode at address 0x492B75F ==133712== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133712== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133712== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133712== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133712== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133712== by 0x49908EB: curl_version_info (version.c:600) ==133712== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133712== by 0x4003269: main (tool_main.c:195) === End of file valgrind1012 test 1013 [Compare curl --version with curl-config --protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1013 ../src/curl -q --output log/22/curl1013.out --include --trace-ascii log/22/trace1013 --trace-time --version > log/22/stdout1013 2> log/22/stderr1013 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/22/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/22/ directory after test 1013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1013 ../src/curl -q --output log/22/curl1013.out --include --trace-ascii log/22/trace1013 --trace-time --version > log/22/stdout1013 2> log/22/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==133821== ==133821== Process terminating with default action of signal 4 (SIGILL) ==133821== Illegal opcode at address 0x492B75F ==133821== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1007 ../src/curl -q --output log/1/curl1007.out --include --trace-ascii log/1/trace1007 --trace-time -T log/1/test1007.txt tftp://127.0.0.1:35053//invalid-file -sS > log/1/stdout1007 2> log/1/stderr1007 ==133821== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133821== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133821== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133821== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133821== by 0x49908EB: curl_version_info (version.c:600) ==133821== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133821== by 0x4003269: main (tool_main.c:195) === End of file valgrind1013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1014 ../src/curl -q --output log/19/curl1014.out --include --trace-ascii log/19/trace1014 --trace-time --version > log/19/stdout1014 2> log/19/stderr1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:45467/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 Use of uninitialized value $1 in split at /startdir/src/curl/tests/libtest/test1013.pl line 47. CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1016 ../src/curl -q --trace-ascii log/15/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/15/test1016.txt > log/15/stdout1016 2> log/15/stderr1016 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/1/server/tftp_server.pid" --portfile "log/1/server/tftp_server.port" --logfile "log/1/tftp_server.log" --logdir "log/1" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 133606 port 35053 * pid tftp => 133606 133606 test 1007 [TFTP send with invalid permission on server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1007 ../src/curl -q --output log/1/curl1007.out --include --trace-ascii log/1/trace1007 --trace-time -T log/1/test1007.txt tftp://127.0.0.1:35053//invalid-file -sS > log/1/stdout1007 2> log/1/stderr1007 1007: stderr FAILED: --- log/1/check-expected 2026-10-15 19:27:56.769451557 +0000 +++ log/1/check-generated 2026-10-15 19:27:56.766730537 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/1/ directory after test 1007 === Start of file check-expected curl: (69) TFTP: Access Violation[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1007 ../src/curl -q --output log/1/curl1007.out --include --trace-ascii log/1/trace1007 --trace-time -T log/1/test1007.txt tftp://127.0.0.1:35053//invalid-file -sS > log/1/stdout1007 2> log/1/stderr1007 === End of file commands.log === Start of file server.cmd Testnum 1007 === End of file server.cmd === Start of file test1007.txt This data will not be sent === End of file test1007.txt === Start of file tftp_server.log 19:27:53.036004 Wrote pid 133606 to log/1/server/tftp_server.pid 19:27:53.036059 Wrote port 35053 to log/1/server/tftp_server.port 19:27:53.036070 Running IPv4 version on port UDP/35053 === End of file tftp_server.log === Start of file valgrind1007 ==133947== ==133947== Process terminating with default action of signal 4 (SIGILL) ==133947== Illegal opcode at address 0x492B75F ==133947== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133947== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133947== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133947== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133947== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133947== by 0x49908EB: curl_version_info (version.c:600) ==133947== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133947== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133947== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133947== by 0x4003269: main (tool_main.c:195) === End of file valgrind1007 test 1015 [--data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:45467/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 1015: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1015 === Start of file 1015.txt content to _?!#$'|<> === End of file 1015.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1015 ../src/curl -q --output log/14/curl1015.out --include --trace-ascii log/14/trace1015 --trace-time http://127.0.0.1:45467/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/14/1015.txt" --data-urlencode @log/14/1015.txt > log/14/stdout1015 2> log/14/stderr1015 === End of file commands.log === Start of file http_server.log 19:27:54.083586 ====> Client connect 19:27:54.083768 accept_connection 3 returned 4 19:27:54.084187 Read 93 bytes 19:27:54.084205 Process 93 bytes request 19:27:54.084220 Got request: GET /verifiedserver HTTP/1.1 19:27:54.084229 Are-we-friendly question received 19:27:54.084265 Wrote request (93 bytes) input to log/14/server.input 19:27:54.084286 Identifying ourselves as friends 19:27:54.084361 Response sent (56 bytes) and written to log/14/server.response 19:27:54.084374 special request received, no persistency 19:27:54.084383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 41642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1015 ==133995== ==133995== Process terminating with default action of signal 4 (SIGILL) ==133995== Illegal opcode at address 0x492B75F ==133995== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133995== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133995== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133995== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133995== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133995== by 0x49908EB: curl_version_info (version.c:600) ==133995== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133995== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133995== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133995== by 0x4003269: main (tool_main.c:195) === End of file valgrind1015 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/19/stdout1014 features > log/19/result1014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1009 ../src/curl -q --output log/6/curl1009.out --include --trace-ascii log/6/trace1009 --trace-time tftp://127.0.0.1:56094//1009 --local-port 44444-45444 > log/6/stdout1009 2> log/6/stderr1009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/stderr1017 test 1016 [X-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1016 ../src/curl -q --trace-ascii log/15/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/15/test1016.txt > log/15/stdout1016 2> log/15/stderr1016 1016: stdout FAILED: --- log/15/check-expected 2026-10-15 19:27:56.919282610 +0000 +++ log/15/check-generated 2026-10-15 19:27:56.916743285 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/15/ directory after test 1016 === Start of file check-expected 2345 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1016 ../src/curl -q --trace-ascii log/15/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/15/test1016.txt > log/15/stdout1016 2> log/15/stderr1016 === End of file commands.log === Start of file server.cmd Testnum 1016 === End of file server.cmd === Start of file test1016.txt 1234567890 === End of file test1016.txt === Start of file valgrind1016 ==134089== ==134089== Process terminating with default action of signal 4 (SIGILL) ==134089== Illegal opcode at address 0x492B75F ==134089== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134089== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134089== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134089== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134089== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134089== by 0x49908EB: curl_version_info (version.c:600) ==134089== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134089== by 0x4003269: main (tool_main.c:195) === End of file valgrind1016 test 1014 [Compare curl --version with curl-config --features] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1014 ../src/curl -q --output log/19/curl1014.out --include --trace-ascii log/19/trace1014 --trace-time --version > log/19/stdout1014 2> log/19/stderr1014 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/19/stdout1014 features > log/19/result1014 1014: postcheck FAILED == Contents of files in the log/19/ directory after test 1014 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1014 ../src/curl -q --output log/19/curl1014.out --include --trace-ascii log/19/trace1014 --trace-time --version > log/19/stdout1014 2> log/19/stderr1014 === End of file commands.log === Start of file result1014 Mismatch in features lists: curl: curl-config: AsynchDNS GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile PSL SPNEGO SSL UnixSockets alt-svc brotli libz threadsafe zstd === End of file result1014 === Start of file server.cmd Testnum 1014 === End of file server.cmd === Start of file valgrind1014 ==133894== ==133894== Process terminating with default action of signal 4 (SIGILL) ==133894== Illegal opcode at address 0x492B75F ==133894== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133894== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133894== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133894== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133894== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133894== by 0x49908EB: curl_version_info (version.c:600) ==133894== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133894== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133894== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133894== by 0x4003269: main (tool_main.c:195) === End of file valgrind1014 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/6/server/tftp_server.pid" --portfile "log/6/server/tftp_server.port" --logfile "log/6/tftp_server.log" --logdir "log/6" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 133608 port 56094 * pid tftp => 133608 133608 test 1009 [TFTP retrieve with --local-port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1009 ../src/curl -q --output log/6/curl1009.out --include --trace-ascii log/6/trace1009 --trace-time tftp://127.0.0.1:56094//1009 --local-port 44444-45444 > log/6/stdout1009 2> log/6/stderr1009 1009: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1009 ../src/curl -q --output log/6/curl1009.out --include --trace-ascii log/6/trace1009 --trace-time tftp://127.0.0.1:56094//1009 --local-port 44444-45444 > log/6/stdout1009 2> log/6/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 19:27:53.094339 Wrote pid 133608 to log/6/server/tftp_server.pid 19:27:53.094395 Wrote port 56094 to log/6/server/tftp_server.port 19:27:53.094406 Running IPv4 version on port UDP/56094 === End of file tftp_server.log === Start of file valgrind1009 ==133967== ==133967== Process terminating with default action of signal 4 (SIGILL) ==133967== Illegal opcode at address 0x492B75F ==133967== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==133967== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==133967== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==133967== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==133967== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==133967== by 0x49908EB: curl_version_info (version.c:600) ==133967== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==133967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==133967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==133967== by 0x4003269: main (tool_main.c:195) === End of file valgrind1009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1022 ../src/curl -q --output log/2/curl1022.out --include --trace-ascii log/2/trace1022 --trace-time --version > log/2/stdout1022 2> log/2/stderr1022 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.23.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/2/stdout1022 version CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1019 ../src/curl -q --trace-ascii log/18/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/18/test1019.txt > log/18/stdout1019 2> log/18/stderr1019 test 1017 [0-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/stderr1017 1017: stdout FAILED: --- log/8/check-expected 2026-10-15 19:27:57.216007648 +0000 +++ log/8/check-generated 2026-10-15 19:27:57.213434821 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/8/ directory after test 1017 === Start of file check-expected 1234 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1017 ../src/curl -q --trace-ascii log/8/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/8/test1017.txt > log/8/stdout1017 2> log/8/stderr1017 === End of file commands.log === Start of file server.cmd Testnum 1017 === End of file server.cmd === Start of file test1017.txt 1234567890 === End of file test1017.txt === Start of file valgrind1017 ==134172== ==134172== Process terminating with default action of signal 4 (SIGILL) ==134172== Illegal opcode at address 0x492B75F ==134172== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134172== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134172== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134172== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134172== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134172== by 0x49908EB: curl_version_info (version.c:600) ==134172== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134172== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134172== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134172== by 0x4003269: main (tool_main.c:195) === End of file valgrind1017 test 1022 [Compare curl --version with curl-config --version] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1022 ../src/curl -q --output log/2/curl1022.out --include --trace-ascii log/2/trace1022 --trace-time --version > log/2/stdout1022 2> log/2/stderr1022 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/2/stdout1022 version 1022: postcheck FAILED == Contents of files in the log/2/ directory after test 1022 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1022 ../src/curl -q --output log/2/curl1022.out --include --trace-ascii log/2/trace1022 --trace-time --version > log/2/stdout1022 2> log/2/stderr1022 === End of file commands.log === Start of file server.cmd Testnum 1022 === End of file server.cmd === Start of file valgrind1022 ==134220== ==134220== Process terminating with default action of signal 4 (SIGILL) ==134220== Illegal opcode at address 0x492B75F ==134220== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134220== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134220== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134220== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134220== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134220== by 0x49908EB: curl_version_info (version.c:600) ==134220== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134220== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134220== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134220== by 0x4003269: main (tool_main.c:195) === End of file valgrind1022 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1018 ../src/curl -q --trace-ascii log/10/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/10/test1018.txt > log/10/stdout1018 2> log/10/stderr1018 test 1019 [X- range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1019 ../src/curl -q --trace-ascii log/18/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/18/test1019.txt > log/18/stdout1019 2> log/18/stderr1019 1019: stdout FAILED: --- log/18/check-expected 2026-10-15 19:27:57.408578108 +0000 +++ log/18/check-generated 2026-10-15 19:27:57.407552038 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/18/ directory after test 1019 === Start of file check-expected 890[LF] 1234567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1019 ../src/curl -q --trace-ascii log/18/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/18/test1019.txt > log/18/stdout1019 2> log/18/stderr1019 === End of file commands.log === Start of file server.cmd Testnum 1019 === End of file server.cmd === Start of file test1019.txt 1234567890 1234567890 === End of file test1019.txt === Start of file valgrind1019 ==134200== ==134200== Process terminating with default action of signal 4 (SIGILL) ==134200== Illegal opcode at address 0x492B75F ==134200== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134200== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134200== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134200== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134200== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134200== by 0x49908EB: curl_version_info (version.c:600) ==134200== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134200== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134200== by 0x4003269: main (tool_main.c:195) === End of file valgrind1019 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1024 ../src/curl -q --output log/9/curl1024.out --include --trace-ascii log/9/trace1024 --trace-time http://127.0.0.1:43733/want/1024 -L -c log/9/jar1024 > log/9/stdout1024 2> log/9/stderr1024 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1020 ../src/curl -q --trace-ascii log/24/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/24/test1020.txt > log/24/stdout1020 2> log/24/stderr1020 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1027 ../src/curl -q --output log/13/curl1027.out --include --trace-ascii log/13/trace1027 --trace-time --help > log/13/stdout1027 2> log/13/stderr1027 test 1018 [X-X range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1018 ../src/curl -q --trace-ascii log/10/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/10/test1018.txt > log/10/stdout1018 2> log/10/stderr1018 1018: stdout FAILED: --- log/10/check-expected 2026-10-15 19:27:57.441150632 +0000 +++ log/10/check-generated 2026-10-15 19:27:57.436786770 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/10/ directory after test 1018 === Start of file check-expected 5 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1018 ../src/curl -q --trace-ascii log/10/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/10/test1018.txt > log/10/stdout1018 2> log/10/stderr1018 === End of file commands.log === Start of file server.cmd Testnum 1018 === End of file server.cmd === Start of file test1018.txt 1234567890 === End of file test1018.txt === Start of file valgrind1018 ==134193== ==134193== Process terminating with default action of signal 4 (SIGILL) ==134193== Illegal opcode at address 0x492B75F ==134193== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134193== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134193== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134193== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134193== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134193== by 0x49908EB: curl_version_info (version.c:600) ==134193== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134193== by 0x4003269: main (tool_main.c:195) === End of file valgrind1018 test 1024 [HTTP Location: following with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1024 ../src/curl -q --output log/9/curl1024.out --include --trace-ascii log/9/trace1024 --trace-time http://127.0.0.1:43733/want/1024 -L -c log/9/jar1024 > log/9/stdout1024 2> log/9/stderr1024 1024: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1024 ../src/curl -q --output log/9/curl1024.out --include --trace-ascii log/9/trace1024 --trace-time http://127.0.0.1:43733/want/1024 -L -c log/9/jar1024 > log/9/stdout1024 2> log/9/stderr1024 === End of file commands.log === Start of file http_server.log 19:27:54.616111 ====> Client connect 19:27:54.616146 accept_connection 3 returned 4 19:27:54.616169 Read 93 bytes 19:27:54.616178 Process 93 bytes request 19:27:54.616191 Got request: GET /verifiedserver HTTP/1.1 19:27:54.616199 Are-we-friendly question received 19:27:54.616224 Wrote request (93 bytes) input to log/9/server.input 19:27:54.616240 Identifying ourselves as friends 19:27:54.616300 Response sent (56 bytes) and written to log/9/server.response 19:27:54.616309 special request received, no persistency 19:27:54.616317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 37420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1024 ==134440== ==134440== Process terminating with default action of signal 4 (SIGILL) ==134440== Illegal opcode at address 0x492B75F ==134440== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134440== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134440== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134440== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134440== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134440== by 0x49908EB: curl_version_info (version.c:600) ==134440== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134440== by 0x4003269: main (tool_main.c:195) === End of file valgrind1024 CMD (256): /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/13/stdout1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1028 ../src/curl -q --include --trace-ascii log/7/trace1028 --trace-time http://127.0.0.1:40859/10280001 -L > log/7/stdout1028 2> log/7/stderr1028 test 1020 [-Y range on a file:// URL to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1020 ../src/curl -q --trace-ascii log/24/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/24/test1020.txt > log/24/stdout1020 2> log/24/stderr1020 1020: stdout FAILED: --- log/24/check-expected 2026-10-15 19:27:57.485872989 +0000 +++ log/24/check-generated 2026-10-15 19:27:57.483457327 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/24/ directory after test 1020 === Start of file check-expected 34567890[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1020 ../src/curl -q --trace-ascii log/24/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/24/test1020.txt > log/24/stdout1020 2> log/24/stderr1020 === End of file commands.log === Start of file server.cmd Testnum 1020 === End of file server.cmd === Start of file test1020.txt 1234567890 1234567890 === End of file test1020.txt === Start of file valgrind1020 ==134202== ==134202== Process terminating with default action of signal 4 (SIGILL) ==134202== Illegal opcode at address 0x492B75F ==134202== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134202== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134202== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134202== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134202== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134202== by 0x49908EB: curl_version_info (version.c:600) ==134202== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134202== by 0x4003269: main (tool_main.c:195) === End of file valgrind1020 test 1027 [curl --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1027 ../src/curl -q --output log/13/curl1027.out --include --trace-ascii log/13/trace1027 --trace-time --help > log/13/stdout1027 2> log/13/stderr1027 postcheck /usr/bin/perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(Usage: curl )|(--version\s*Show version)/, ); exit ($lines != 2); # Let this file pass an XML syntax check: ' log/13/stdout1027 1027: postcheck FAILED == Contents of files in the log/13/ directory after test 1027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1027 ../src/curl -q --output log/13/curl1027.out --include --trace-ascii log/13/trace1027 --trace-time --help > log/13/stdout1027 2> log/13/stderr1027 === End of file commands.log === Start of file server.cmd Testnum 1027 === End of file server.cmd === Start of file valgrind1027 ==134494== ==134494== Process terminating with default action of signal 4 (SIGILL) ==134494== Illegal opcode at address 0x492B75F ==134494== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134494== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134494== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134494== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134494== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134494== by 0x49908EB: curl_version_info (version.c:600) ==134494== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134494== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134494== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134494== by 0x4003269: main (tool_main.c:195) === End of file valgrind1027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1023 ../src/curl -q --output log/23/curl1023.out --include --trace-ascii log/23/trace1023 --trace-time --version > log/23/stdout1023 2> log/23/stderr1023 Use of uninitialized value $_ in scalar chomp at /startdir/src/curl/tests/libtest/test1022.pl line 39. Use of uninitialized value $_ in pattern match (m//) at /startdir/src/curl/tests/libtest/test1022.pl line 40. Use of uninitialized value $version in substitution (s///) at /startdir/src/curl/tests/libtest/test1022.pl line 69, line 1. Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. Use of uninitialized value $version in concatenation (.) or string at /startdir/src/curl/tests/libtest/test1022.pl line 76. Mismatch in --version: curl: curl-config: 8.23.0 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/23/stdout1023 vernum test 1028 [HTTP Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1028 ../src/curl -q --include --trace-ascii log/7/trace1028 --trace-time http://127.0.0.1:40859/10280001 -L > log/7/stdout1028 2> log/7/stderr1028 1028: stdout FAILED: --- log/7/check-expected 2026-10-15 19:27:57.656862318 +0000 +++ log/7/check-generated 2026-10-15 19:27:57.653471497 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake swsclose[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Location: ftp://127.0.0.1:44283/10280002[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] == Contents of files in the log/7/ directory after test 1028 === Start of file check-expected HTTP/1.1 302 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake swsclose[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Location: ftp://127.0.0.1:44283/10280002[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1028 ../src/curl -q --include --trace-ascii log/7/trace1028 --trace-time http://127.0.0.1:40859/10280001 -L > log/7/stdout1028 2> log/7/stderr1028 === End of file commands.log === Start of file ftp_server.log 19:27:55.418704 ====> Client connect 19:27:55.419001 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:55.419393 < "USER anonymous" 19:27:55.419440 > "331 We are happy you popped in![CR][LF]" 19:27:55.419647 < "PASS ftp@example.com" 19:27:55.419682 > "230 Welcome you silly person[CR][LF]" 19:27:55.419862 < "PWD" 19:27:55.419897 > "257 "/" is current directory[CR][LF]" 19:27:55.420078 < "EPSV" 19:27:55.420106 ====> Passive DATA channel requested by client 19:27:55.420121 DATA sockfilt for passive data channel starting... 19:27:55.428620 DATA sockfilt for passive data channel started (pid 134774) 19:27:55.428813 DATA sockfilt for passive data channel listens on port 36695 19:27:55.428860 > "229 Entering Passive Mode (|||36695|)[CR][LF]" 19:27:55.428876 Client has been notified that upcoming DATA connection is awaited on port 36695 19:27:55.429208 Client connects to port 36695 19:27:55.429237 ====> Client established passive DATA connection on port 36695 19:27:55.429321 < "TYPE I" 19:27:55.429351 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:55.429496 < "SIZE verifiedserver" 19:27:55.429531 > "213 17[CR][LF]" 19:27:55.429667 < "RETR verifiedserver" 19:27:55.429699 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:55.429784 =====> Closing passive DATA connection... 19:27:55.429800 Server disconnects passive DATA connection 19:27:55.429941 Server disconnected passive DATA connection 19:27:55.429964 DATA sockfilt for passive data channel quits (pid 134774) 19:27:55.430221 DATA sockfilt for passive data channel quit (pid 134774) 19:27:55.430242 =====> Closed passive DATA connection 19:27:55.430267 > "226 File transfer complete[CR][LF]" 19:27:55.479124 < "QUIT" 19:27:55.479189 > "221 bye bye baby[CR][LF]" 19:27:55.480431 MAIN sockfilt said DISC 19:27:55.480472 ====> Client disconnected 19:27:55.480604 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:56.008356 ====> Client connect 19:27:56.023942 Received DATA (on stdin) 19:27:56.023966 > 146 bytes data, server => client 19:27:56.023978 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:56.023988 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:56.023998 '220 \___|\___/|_| \_\_____|\r\n' 19:27:56.024148 < 16 bytes data, client => server 19:27:56.024165 'USER anonymous\r\n' 19:27:56.024357 Received DATA (on stdin) 19:27:56.024370 > 33 bytes data, server => client 19:27:56.024381 '331 We are happy you popped in!\r\n' 19:27:56.024448 < 22 bytes data, client => server 19:27:56.024462 'PASS ftp@example.com\r\n' 19:27:56.024594 Received DATA (on stdin) 19:27:56.024606 > 30 bytes data, server => client 19:27:56.024615 '230 Welcome you silly person\r\n' 19:27:56.024676 < 5 bytes data, client => server 19:27:56.024688 'PWD\r\n' 19:27:56.024806 Received DATA (on stdin) 19:27:56.024818 > 30 bytes data, server => client 19:27:56.024828 '257 "/" is current directory\r\n' 19:27:56.024896 < 6 bytes data, client => server 19:27:56.024908 'EPSV\r\n' 19:27:56.033808 Received DATA (on stdin) 19:27:56.033826 > 39 bytes data, server => client 19:27:56.033835 '229 Entering Passive Mode (|||36695|)\r\n' 19:27:56.034038 < 8 bytes data, client => server 19:27:56.034052 'TYPE I\r\n' 19:27:56.034257 Received DATA (on stdin) 19:27:56.034267 > 33 bytes data, server => client 19:27:56.034277 '200 I modify TYPE as you wanted\r\n' 19:27:56.034326 < 21 bytes data, client => server 19:27:56.034335 'SIZE verifiedserver\r\n' 19:27:56.034436 Received DATA (on stdin) 19:27:56.034445 > 8 bytes data, server => client 19:27:56.034453 '213 17\r\n' 19:27:56.034499 < 21 bytes data, client => server 19:27:56.034509 'RETR verifiedserver\r\n' 19:27:56.034706 Received DATA (on stdin) 19:27:56.034716 > 29 bytes data, server => client 19:27:56.034725 '150 Binary junk (17 bytes).\r\n' 19:27:56.035173 Received DATA (on stdin) 19:27:56.035183 > 28 bytes data, server => client 19:27:56.035193 '226 File transfer complete\r\n' 19:27:56.083772 < 6 bytes data, client => server 19:27:56.083806 'QUIT\r\n' 19:27:56.084097 Received DATA (on stdin) 19:27:56.084108 > 18 bytes data, server => client 19:27:56.084118 '221 bye bye baby\r\n' 19:27:56.085273 ====> Client disconnect 19:27:56.085511 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:55.028620 Running IPv4 version 19:27:55.028715 Listening on port 36695 19:27:55.028755 Wrote pid 134774 to log/7/server/ftp_sockdata.pid 19:27:55.033428 Received PING (on stdin) 19:27:55.033613 Received PORT (on stdin) 19:27:55.034071 ====> Client connect 19:27:55.034748 Received DATA (on stdin) 19:27:55.034758 > 17 bytes data, server => client 19:27:55.034768 'WE ROOLZ: 84721\r\n' 19:27:55.034789 Received DISC (on stdin) 19:27:55.034800 ====> Client forcibly disconnected 19:27:55.034874 Received QUIT (on stdin) 19:27:55.034883 quits 19:27:55.034956 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:27:54.924500 ====> Client connect 19:27:54.924731 accept_connection 3 returned 4 19:27:54.924817 Read 93 bytes 19:27:54.924826 Process 93 bytes request 19:27:54.924837 Got request: GET /verifiedserver HTTP/1.1 19:27:54.924845 Are-we-friendly question received 19:27:54.924873 Wrote request (93 bytes) input to log/7/server.input 19:27:54.924887 Identifying ourselves as friends 19:27:54.924956 Response sent (56 bytes) and written to log/7/server.response 19:27:54.924965 special request received, no persistency 19:27:54.926002 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 58120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1032 ../src/curl -q --output log/12/curl1032.out --include --trace-ascii log/12/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:40921/1032 > log/12/stdout1032 2> log/12/stderr1032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1025 ../src/curl -q --output log/20/curl1025.out --include --trace-ascii log/20/trace1025 --trace-time http://127.0.0.1:33897/want/1025 -L -c log/20/jar1025 -b forcedcookie=yes > log/20/stdout1025 2> log/20/stderr1025 server.cmd Testnum 1028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1028 ==134871== ==134871== Process terminating with default action of signal 4 (SIGILL) ==134871== Illegal opcode at address 0x492B75F ==134871== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134871== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134871== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134871== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134871== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134871== by 0x49908EB: curl_version_info (version.c:600) ==134871== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134871== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134871== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134871== by 0x4003269: main (tool_main.c:195) === End of file valgrind1028 test 1023 [Compare curl --version with curl-config --vernum] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1023 ../src/curl -q --output log/23/curl1023.out --include --trace-ascii log/23/trace1023 --trace-time --version > log/23/stdout1023 2> log/23/stderr1023 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/23/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/23/ directory after test 1023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1023 ../src/curl -q --output log/23/curl1023.out --include --trace-ascii log/23/trace1023 --trace-time --version > log/23/stdout1023 2> log/23/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==134301== ==134301== Process terminating with default action of signal 4 (SIGILL) ==134301== Illegal opcode at address 0x492B75F ==134301== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134301== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134301== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134301== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134301== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134301== by 0x49908EB: curl_version_info (version.c:600) ==134301== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134301== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134301== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134301== by 0x4003269: main (tool_main.c:195) === End of file valgrind1023 test 1032 [HTTP HEAD with --range] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1032 ../src/curl -q --output log/12/curl1032.out --include --trace-ascii log/12/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:40921/1032 > log/12/stdout1032 2> log/12/stderr1032 1032: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1032 ../src/curl -q --output log/12/curl1032.out --include --trace-ascii log/12/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:40921/1032 > log/12/stdout1032 2> log/12/stderr1032 === End of file commands.log === Start of file http_server.log 19:27:55.057473 ====> Client connect 19:27:55.057509 accept_connection 3 returned 4 19:27:55.057690 Read 93 bytes 19:27:55.057707 Process 93 bytes request 19:27:55.057721 Got request: GET /verifiedserver HTTP/1.1 19:27:55.057730 Are-we-friendly question received 19:27:55.057763 Wrote request (93 bytes) input to log/12/server.input 19:27:55.057782 Identifying ourselves as friends 19:27:55.057848 Response sent (56 bytes) and written to log/12/server.response 19:27:55.057858 special request received, no persistency 19:27:55.057866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 56130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1032 ==134821== ==134821== Process terminating with default action of signal 4 (SIGILL) ==134821== Illegal opcode at address 0x492B75F ==134821== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134821== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134821== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134821== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134821== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134821== by 0x49908EB: curl_version_info (version.c:600) ==134821== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134821== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134821== by 0x4003269: main (tool_main.c:195) === End of file valgrind1032 test 1025 [HTTP Location: following with command-line and server cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1025 ../src/curl -q --output log/20/curl1025.out --include --trace-ascii log/20/trace1025 --trace-time http://127.0.0.1:33897/want/1025 -L -c log/20/jar1025 -b forcedcookie=yes > log/20/stdout1025 2> log/20/stderr1025 1025: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1025 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1025 ../src/curl -q --output log/20/curl1025.out --include --trace-ascii log/20/trace1025 --trace-time http://127.0.0.1:33897/want/1025 -L -c log/20/jar1025 -b forcedcookie=yes > log/20/stdout1025 2> log/20/stderr1025 === End of file commands.log === Start of file http_server.log 19:27:54.750084 ====> Client connect 19:27:54.750122 accept_connection 3 returned 4 19:27:54.750142 Read 93 bytes 19:27:54.750151 Process 93 bytes request 19:27:54.750162 Got request: GET /verifiedserver HTTP/1.1 19:27:54.750170 Are-we-friendly question received 19:27:54.750196 Wrote request (93 bytes) input to log/20/server.input 19:27:54.750210 Identifying ourselves as friends 19:27:54.750288 Response sent (56 bytes) and written to log/20/server.response 19:27:54.750297 special request received, no persistency 19:27:54.750304 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1033 ../src/curl -q --output log/4/curl1033.out --include --trace-ascii log/4/trace1033 --trace-time http://127.0.0.1:35735/1033 > log/4/stdout1033 2> log/4/stderr1033 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1035 ../src/curl -q --output log/21/curl1035.out --include --trace-ascii log/21/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/21/stdout1035 2> log/21/stderr1035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1029 ../src/curl -q --include --trace-ascii log/11/trace1029 --trace-time http://127.0.0.1:40989/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/11/stdout1029 2> log/11/stderr1029 sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1025 ==134560== ==134560== Process terminating with default action of signal 4 (SIGILL) ==134560== Illegal opcode at address 0x492B75F ==134560== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134560== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134560== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134560== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134560== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134560== by 0x49908EB: curl_version_info (version.c:600) ==134560== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134560== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134560== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134560== by 0x4003269: main (tool_main.c:195) === End of file valgrind1025 test 1033 [HTTP GET with 102 response!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1033 ../src/curl -q --output log/4/curl1033.out --include --trace-ascii log/4/trace1033 --trace-time http://127.0.0.1:35735/1033 > log/4/stdout1033 2> log/4/stderr1033 1033: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1033 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1033 ../src/curl -q --output log/4/curl1033.out --include --trace-ascii log/4/trace1033 --trace-time http://127.0.0.1:35735/1033 > log/4/stdout1033 2> log/4/stderr1033 === End of file commands.log === Start of file http_server.log 19:27:56.066992 ====> Client connect 19:27:56.067043 accept_connection 3 returned 4 19:27:56.067073 Read 93 bytes 19:27:56.067085 Process 93 bytes request 19:27:56.067098 Got request: GET /verifiedserver HTTP/1.1 19:27:56.067107 Are-we-friendly question received 19:27:56.067139 Wrote request (93 bytes) input to log/4/server.input 19:27:56.067159 Identifying ourselves as friends 19:27:56.067247 Response sent (56 bytes) and written to log/4/server.response 19:27:56.067261 special request received, no persistency 19:27:56.067270 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 33668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1033 ==134820== ==134820== Process terminating with default action of signal 4 (SIGILL) ==134820== Illegal opcode at address 0x492B75F ==134820== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134820== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134820== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134820== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134820== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134820== by 0x49908EB: curl_version_info (version.c:600) ==134820== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134820== by 0x4003269: main (tool_main.c:195) === End of file valgrind1033 setenv LC_ALL = C.UTF-8 test 1035 [HTTP over proxy with too long IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1035 ../src/curl -q --output log/21/curl1035.out --include --trace-ascii log/21/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/21/stdout1035 2> log/21/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/21/ directory after test 1035 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1035 ../src/curl -q --output log/21/curl1035.out --include --trace-ascii log/21/trace1035 --trace-time http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/1035 -x 127.0.0.1:47 > log/21/stdout1035 2> log/21/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==135078== ==135078== Process terminating with default action of signal 4 (SIGILL) ==135078== Illegal opcode at address 0x492B75F ==135078== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135078== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135078== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135078== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135078== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135078== by 0x49908EB: curl_version_info (version.c:600) ==135078== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135078== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135078== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135078== by 0x4003269: main (tool_main.c:195) === End of file valgrind1035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1030 ../src/curl -q --output log/17/curl1030.out --include --trace-ascii log/17/trace1030 --trace-time http://127.0.0.1:35993/1030 -T log/17/put1030 -u testuser:testpass --anyauth > log/17/stdout1030 2> log/17/stderr1030 test 1029 [HTTP Location: and 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1029 ../src/curl -q --include --trace-ascii log/11/trace1029 --trace-time http://127.0.0.1:40989/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/11/stdout1029 2> log/11/stderr1029 1029: stdout FAILED: --- log/11/check-expected 2026-10-15 19:27:58.077040568 +0000 +++ log/11/check-generated 2026-10-15 19:27:58.073506388 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:40989/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:40989/we/want/our/1029 0 [LF] == Contents of files in the log/11/ directory after test 1029 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:40989/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:40989/we/want/our/1029 0 [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1029 ../src/curl -q --include --trace-ascii log/11/trace1029 --trace-time http://127.0.0.1:40989/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/11/stdout1029 2> log/11/stderr1029 === End of file commands.log === Start of file http_server.log 19:27:54.926148 ====> Client connect 19:27:54.926184 accept_connection 3 returned 4 19:27:54.926206 Read 93 bytes 19:27:54.926217 Process 93 bytes request 19:27:54.926228 Got request: GET /verifiedserver HTTP/1.1 19:27:54.926237 Are-we-friendly question received 19:27:54.926266 Wrote request (93 bytes) input to log/11/server.input 19:27:54.926286 Identifying ourselves as friends 19:27:54.926358 Response sent (56 bytes) and written to log/11/server.response 19:27:54.926369 special request received, no persistency 19:27:54.926379 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 50590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1029 ==134673== ==134673== Process terminating with default action of signal 4 (SIGILL) ==134673== Illegal opcode at address 0x492B75F ==134673== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134673== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134673== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134673== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134673== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134673== by 0x49908EB: curl_version_info (version.c:600) ==134673== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134673== by 0x4003269: main (tool_main.c:195) === End of file valgrind1029 setenv LC_ALL = C.UTF-8 test 1034 [HTTP over proxy with malformatted IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/5/ directory after test 1034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1034 ../src/curl -q --output log/5/curl1034.out --include --trace-ascii log/5/trace1034 --trace-time -K - -x 127.0.0.1:47 log/5/stdout1034 2> log/5/stderr1034 === End of file commands.log === Start of file server.cmd Testnum 1034 === End of file server.cmd === Start of file stdin-for-1034 url = "http://invalid-utf8-.local/page/1034" === End of file stdin-for-1034 === Start of file valgrind1034 ==135056== ==135056== Process terminating with default action of signal 4 (SIGILL) ==135056== Illegal opcode at address 0x492B75F ==135056== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135056== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135056== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135056== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135056== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135056== by 0x49908EB: curl_version_info (version.c:600) ==135056== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135056== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135056== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135056== by 0x4003269: main (tool_main.c:195) === End of file valgrind1034 test 1030 [HTTP PUT with --anyauth, picking Digest. Persistent connection.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1030 ../src/curl -q --output log/17/curl1030.out --include --trace-ascii log/17/trace1030 --trace-time http://127.0.0.1:35993/1030 -T log/17/put1030 -u testuser:testpass --anyauth > log/17/stdout1030 2> log/17/stderr1030 1030: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1030 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1030 ../src/curl -q --output log/17/curl1030.out --include --trace-ascii log/17/trace1030 --trace-time http://127.0.0.1:35993/1030 -T log/17/put1030 -u testuser:testpass --anyauth > log/17/stdout1030 2> log/17/stderr1030 === End of file commands.log === Start of file http_server.log 19:27:55.948711 ====> Client connect 19:27:55.948747 accept_connection 3 returned 4 19:27:55.948767 Read 93 bytes 19:27:55.948777 Process 93 bytes request 19:27:55.948789 Got request: GET /verifiedserver HTTP/1.1 19:27:55.948798 Are-we-friendly question received 19:27:55.948824 Wrote request (93 bytes) input to log/17/server.input 19:27:55.948839 Identifying ourselves as friends 19:27:55.948901 Response sent (56 bytes) and written to log/17/server.response 19:27:55.948910 special request received, no persistency 19:27:55.948918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 20CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:35903/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1037 ../src/curl -q --output log/22/curl1037.out --include --trace-ascii log/22/trace1037 --trace-time ftp://127.0.0.1:33255/1037 -C - > log/22/stdout1037 2> log/22/stderr1037 0 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file put1030 This is data we upload with PUT a second line line three four is the number of lines === End of file put1030 === Start of file server.cmd Testnum 1030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1030 ==134730== ==134730== Process terminating with default action of signal 4 (SIGILL) ==134730== Illegal opcode at address 0x492B75F ==134730== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134730== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134730== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134730== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134730== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134730== by 0x49908EB: curl_version_info (version.c:600) ==134730== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134730== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134730== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134730== by 0x4003269: main (tool_main.c:195) === End of file valgrind1030 test 1031 [HTTP Location: following to a query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:35903/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 1031: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1031 ../src/curl -q --output log/16/curl1031.out --include --trace-ascii log/16/trace1031 --trace-time http://127.0.0.1:35903/want/this/1031 -L > log/16/stdout1031 2> log/16/stderr1031 === End of file commands.log === Start of file http_server.log 19:27:56.006990 ====> Client connect 19:27:56.013797 accept_connection 3 returned 4 19:27:56.016950 Read 93 bytes 19:27:56.016968 Process 93 bytes request 19:27:56.016981 Got request: GET /verifiedserver HTTP/1.1 19:27:56.016989 Are-we-friendly question received 19:27:56.017024 Wrote request (93 bytes) input to log/16/server.input 19:27:56.017043 Identifying ourselves as friends 19:27:56.017137 Response sent (56 bytes) and written to log/16/server.response 19:27:56.017148 special request received, no persistency 19:27:56.017156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 49674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1031 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1031 ==134814== ==134814== Process terminating with default action of signal 4 (SIGILL) ==134814== Illegal opcode at address 0x492B75F ==134814== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==134814== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==134814== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==134814== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==134814== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==134814== by 0x49908EB: curl_version_info (version.c:600) ==134814== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==134814== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==134814== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==134814== by 0x4003269: main (tool_main.c:195) === End of file valgrind1031 test 1037 [FTP download resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1037 ../src/curl -q --output log/22/curl1037.out --include --trace-ascii log/22/trace1037 --trace-time ftp://127.0.0.1:33255/1037 -C - > log/22/stdout1037 2> log/22/stderr1037 1037: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1037 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1037 ../src/curl -q --output log/22/curl1037.out --include --trace-ascii log/22/trace1037 --trace-time ftp://127.0.0.1:33255/1037 -C - > log/22/stdout1037 2> log/22/stderr1037 === End of file commands.log === Start of file ftp_server.log 19:27:56.481459 ====> Client connect 19:27:56.481691 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:56.482045 < "USER anonymous" 19:27:56.482093 > "331 We are happy you popped in![CR][LF]" 19:27:56.482305 < "PASS ftp@example.com" 19:27:56.482343 > "230 Welcome you silly person[CR][LF]" 19:27:56.482543 < "PWD" 19:27:56.482586 > "257 "/" is current directory[CR][LF]" 19:27:56.482794 < "EPSV" 19:27:56.482824 ====> Passive DATA channel requested by client 19:27:56.482840 DATA sockfilt for passive data channel starting... 19:27:56.485043 DATA sockfilt for passive data channel started (pid 135229) 19:27:56.485175 DATA sockfilt for passive data channel listens on port 44655 19:27:56.485226 > "229 Entering Passive Mode (|||44655|)[CR][LF]" 19:27:56.485252 Client has been notified that upcoming DATA connection is awaited on port 44655 19:27:56.485549 Client connects to port 44655 19:27:56.485584 ====> Client established passive DATA connection on port 44655 19:27:56.485681 < "TYPE I" 19:27:56.485720 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:56.485913 < "SIZE verifiedserver" 19:27:56.485955 > "213 17[CR][LF]" 19:27:56.486137 < "RETR verifiedserver" 19:27:56.486180 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:56.486279 =====> Closing passive DATA connection... 19:27:56.486302 Server disconnects passive DATA connection 19:27:56.486548 Server disconnected passive DATA connection 19:27:56.486579 DATA sockfilt for passive data channel quits (pid 135229) 19:27:56.486837 DATA sockfilt for passive data channel quit (pid 135229) 19:27:56.486867 =====> Closed passive DATA connection 19:27:56.486897 > "226 File transfer complete[CR][LF]" 19:27:56.535691 < "QUIT" 19:27:56.535746 > "221 bye bye baby[CR][LF]" 19:27:56.536970 MAIN sockfilt said DISC 19:27:56.537010 ====> Client disconnected 19:27:56.537095 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.086135 ====> Client connect 19:27:57.086534 Received DATA (on stdin) 19:27:57.086553 > 146 bytes data, server => client 19:27:57.086566 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.086576 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.086585 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.086679 < 16 bytes data, client => server 19:27:57.086696 'USER anonymousCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1043 ../src/curl -q --output log/8/curl1043.out --include --trace-ascii log/8/trace1043 --trace-time http://127.0.0.1:44467/1043 -C - > log/8/stdout1043 2> log/8/stderr1043 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1040 ../src/curl -q --output log/15/curl1040.out --include --trace-ascii log/15/trace1040 --trace-time http://127.0.0.1:40321/1040 -C - > log/15/stdout1040 2> log/15/stderr1040 \r\n' 19:27:57.086920 Received DATA (on stdin) 19:27:57.086933 > 33 bytes data, server => client 19:27:57.086943 '331 We are happy you popped in!\r\n' 19:27:57.087006 < 22 bytes data, client => server 19:27:57.087022 'PASS ftp@example.com\r\n' 19:27:57.087167 Received DATA (on stdin) 19:27:57.087180 > 30 bytes data, server => client 19:27:57.087191 '230 Welcome you silly person\r\n' 19:27:57.087254 < 5 bytes data, client => server 19:27:57.087270 'PWD\r\n' 19:27:57.087409 Received DATA (on stdin) 19:27:57.087422 > 30 bytes data, server => client 19:27:57.087432 '257 "/" is current directory\r\n' 19:27:57.087506 < 6 bytes data, client => server 19:27:57.087522 'EPSV\r\n' 19:27:57.090078 Received DATA (on stdin) 19:27:57.090092 > 39 bytes data, server => client 19:27:57.090104 '229 Entering Passive Mode (|||44655|)\r\n' 19:27:57.090272 < 8 bytes data, client => server 19:27:57.090290 'TYPE I\r\n' 19:27:57.090543 Received DATA (on stdin) 19:27:57.090556 > 33 bytes data, server => client 19:27:57.090566 '200 I modify TYPE as you wanted\r\n' 19:27:57.090627 < 21 bytes data, client => server 19:27:57.090642 'SIZE verifiedserver\r\n' 19:27:57.090776 Received DATA (on stdin) 19:27:57.090789 > 8 bytes data, server => client 19:27:57.090798 '213 17\r\n' 19:27:57.090858 < 21 bytes data, client => server 19:27:57.090871 'RETR verifiedserver\r\n' 19:27:57.091122 Received DATA (on stdin) 19:27:57.091135 > 29 bytes data, server => client 19:27:57.091146 '150 Binary junk (17 bytes).\r\n' 19:27:57.091714 Received DATA (on stdin) 19:27:57.091724 > 28 bytes data, server => client 19:27:57.091733 '226 File transfer complete\r\n' 19:27:57.140283 < 6 bytes data, client => server 19:27:57.140338 'QUIT\r\n' 19:27:57.140562 Received DATA (on stdin) 19:27:57.140573 > 18 bytes data, server => client 19:27:57.140582 '221 bye bye baby\r\n' 19:27:57.141723 ====> Client disconnect 19:27:57.141904 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:56.089516 Running IPv4 version 19:27:56.089595 Listening on port 44655 19:27:56.089635 Wrote pid 135229 to log/22/server/ftp_sockdata.pid 19:27:56.089793 Received PING (on stdin) 19:27:56.089898 Received PORT (on stdin) 19:27:56.090316 ====> Client connect 19:27:56.091176 Received DATA (on stdin) 19:27:56.091190 > 17 bytes data, server => client 19:27:56.091203 'WE ROOLZ: 84714\r\n' 19:27:56.091230 Received DISC (on stdin) 19:27:56.091243 ====> Client forcibly disconnected 19:27:56.091406 Received QUIT (on stdin) 19:27:56.091419 quits 19:27:56.091486 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1037 === End of file server.cmd === Start of file valgrind1037 ==135251== ==135251== Process terminating with default action of signal 4 (SIGILL) ==135251== Illegal opcode at address 0x492B75F ==135251== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135251== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135251== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135251== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135251== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135251== by 0x49908EB: curl_version_info (version.c:600) ==135251== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135251== by 0x4003269: main (tool_main.c:195) === End of file valgrind1037 test 1043 [HTTP GET with resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1043 ../src/curl -q --output log/8/curl1043.out --include --trace-ascii log/8/trace1043 --trace-time http://127.0.0.1:44467/1043 -C - > log/8/stdout1043 2> log/8/stderr1043 1043: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1043 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1043 ../src/curl -q --output log/8/curl1043.out --include --trace-ascii log/8/trace1043 --trace-time http://127.0.0.1:44467/1043 -C - > log/8/stdout1043 2> log/8/stderr1043 === End of file commands.log === Start of file curl1043.out 012345678 012345678 012345678 012345678 === End of file curl1043.out === Start of file http_server.log 19:27:56.922326 ====> Client connect 19:27:56.922359 accept_connection 3 returned 4 19:27:56.922498 Read 93 bytes 19:27:56.922510 Process 93 bytes request 19:27:56.922523 Got request: GET /verifiedserver HTTP/1.1 19:27:56.922531 Are-we-friendly question received 19:27:56.922560 Wrote request (93 bytes) input to log/8/server.input 19:27:56.922576 Identifying ourselves as friends 19:27:56.922632 Response sent (56 bytes) and written to log/8/server.response 19:27:56.922640 special request received, no persistency 19:27:56.922648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 59284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1043 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1043 ==135712== ==135712== Process terminating with default action of signal 4 (SIGILL) ==135712== Illegal opcode at address 0x492B75F ==135712== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135712== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135712== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135712== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135712== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135712== by 0x49908EB: curl_version_info (version.c:600) ==135712== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135712== by 0x4003269: main (tool_main.c:195) === End of file valgrind1043 test 1040 [HTTP GET with resume from end of entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1040 ../src/curl -q --output log/15/curl1040.out --include --trace-ascii log/15/trace1040 --trace-time http://127.0.0.1:40321/1040 -C - > log/15/stdout1040 2> log/15/stderr1040 1040: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1040 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1040 ../src/curl -q --output log/15/curl1040.out --include --trace-ascii log/15/trace1040 --trace-time http://127.0.0.1:40321/1040 -C - > log/15/stdout1040 2> log/15/stderr1040 === End of file commands.log === Start of file curl1040.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1040.out === Start of file http_server.log 19:27:57.656861 ====> ClieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1041 ../src/curl -q --output log/19/curl1041.out --include --trace-ascii log/19/trace1041 --trace-time http://127.0.0.1:46497/1041 -Tlog/19/test1041.txt -C - --no-progress-meter > log/19/stdout1041 2> log/19/stderr1041 nt connect 19:27:57.656906 accept_connection 3 returned 4 19:27:57.656931 Read 93 bytes 19:27:57.656944 Process 93 bytes request 19:27:57.656956 Got request: GET /verifiedserver HTTP/1.1 19:27:57.656964 Are-we-friendly question received 19:27:57.656999 Wrote request (93 bytes) input to log/15/server.input 19:27:57.657015 Identifying ourselves as friends 19:27:57.657105 Response sent (56 bytes) and written to log/15/server.response 19:27:57.657114 special request received, no persistency 19:27:57.657122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 55992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1040 ==135481== ==135481== Process terminating with default action of signal 4 (SIGILL) ==135481== Illegal opcode at address 0x492B75F ==135481== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135481== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135481== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135481== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135481== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135481== by 0x49908EB: curl_version_info (version.c:600) ==135481== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135481== by 0x4003269: main (tool_main.c:195) === End of file valgrind1040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1036 ../src/curl -q --output log/3/curl1036.out --include --trace-ascii log/3/trace1036 --trace-time ftp://127.0.0.1:42249/1036 -C - > log/3/stdout1036 2> log/3/stderr1036 test 1041 [HTTP PUT rejects automatic upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1041 ../src/curl -q --output log/19/curl1041.out --include --trace-ascii log/19/trace1041 --trace-time http://127.0.0.1:46497/1041 -Tlog/19/test1041.txt -C - --no-progress-meter > log/19/stdout1041 2> log/19/stderr1041 1041: stderr FAILED: --- log/19/check-expected 2026-10-15 19:27:59.188221735 +0000 +++ log/19/check-generated 2026-10-15 19:27:59.183596810 +0000 @@ -1 +0,0 @@ -curl: (43) HTTP upload cannot be resumed[CR][LF] == Contents of files in the log/19/ directory after test 1041 === Start of file check-expected curl: (43) HTTP upload cannot be resumed[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1041 ../src/curl -q --output log/19/curl1041.out --include --trace-ascii log/19/trace1041 --trace-time http://127.0.0.1:46497/1041 -Tlog/19/test1041.txt -C - --no-progress-meter > log/19/stdout1041 2> log/19/stderr1041 === End of file commands.log === Start of file http_server.log 19:27:56.632929 ====> Client connect 19:27:56.632963 accept_connection 3 returned 4 19:27:56.632984 Read 93 bytes 19:27:56.632994 Process 93 bytes request 19:27:56.633006 Got request: GET /verifiedserver HTTP/1.1 19:27:56.633014 Are-we-friendly question received 19:27:56.633039 Wrote request (93 bytes) input to log/19/server.input 19:27:56.633056 Identifying ourselves as friends 19:27:56.633117 Response sent (56 bytes) and written to log/19/server.response 19:27:56.633126 special request received, no persistency 19:27:56.633134 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 33156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1041 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file test1041.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test1041.txt === Start of file valgrind1041 ==135459== ==135459== Process terminating with default action of signal 4 (SIGILL) ==135459== Illegal opcode at address 0x492B75F ==135459== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135459== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135459== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135459== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135459== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135459== by 0x49908EB: curl_version_info (version.c:600) ==135459== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135459== by 0x4003269: main (tool_main.c:195) === End of file valgrind1041 test 1036 [FTP download resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1036 ../src/curl -q --output log/3/curl1036.out --include --trace-ascii log/3/trace1036 --trace-time ftp://127.0.0.1:42249/1036 -C - > log/3/stdout1036 2> log/3/stderr1036 1036: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1036 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1036 ../src/curl -q --output log/3/curl1036.out --include --trace-ascii log/3/trace1036 --trace-time ftp://127.0.0.1:42249/1036 -C - > log/3/stdout1036 2> log/3/stderr1036 === End of file commands.log === Start of file curl1036.out This is the start! === End of file curl1036.out === Start of file ftp_server.log 19:27:56.395780 ====> Client connect 19:27:56.395988 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:56.397141 < "USER anonymous" 19:27:56.397179 > "331 We are happy you popped in![CR][LF]" 19:27:56.402174 < "PASS ftp@example.com" 19:27:56.402235 > "230 Welcome you silly person[CR][LF]" 19:27:56.402406 < "PWD" 19:27:56.402441 > "257 "/" is current directory[CR][LF]" 19:27:56.402597 < "EPSV" 19:27:56.402623 ====> Passive DATA channel requested by client 19:27:56.402636 DATA sockfilt for passive data channel starting... 19:27:56.415473 DATA sockfilt for passive data channel started (pid 135209) 19:27:56.422106 DATA sockfilt for passive data channel listens on port 37043 19:27:56.422197 > "229 Entering Passive Mode (|||37043|)[CR][LF]" 19:27:56.422218 Client has been notified that upcoming DATA connection is awaited on port 37043 19:27:56.425428 Client connects to port 37043 19:27:56.425480 ====> Client established passive DATA connection on port 37043 19:27:56.425590 < "TYPE I" 19:27:56.425629 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:56.425822 < "SIZE verifiedserver" 19:27:56.425864 > "213 17[CR][LF]" 19:27:56.426017 < "RETR verifiedserver" 19:27:56.426050 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:56.426147 =====> Closing passive DATA connection... 19:27:56.426165 Server disconnects passive DATA connection 19:27:56.426329 Server disconnected passive DATA connection 19:27:56.426353 DATA sockfilt for passive data channel quits (pid 135209) 19:27:56.426629 DATA sockfilt for passive data channel quit (pid 135209) 19:27:56.426653 =====> Closed passive DATA connection 19:27:56.426682 > "226 File transfer complete[CR][LF]" 19:27:56.475604 < "QUIT" 19:27:56.475663 > "221 bye bye baby[CR][LF]" 19:27:56.476974 MAIN sockfilt said DISC 19:27:56.477006 ====> Client disconnected 19:27:56.477092 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.000476 ====> Client connect 19:27:57.000820 Received DATA (on stdin) 19:27:57.000833 > 146 bytes data, server => client 19:27:57.000843 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.000854 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.000863 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.001793 < 16 bytes data, client => server 19:27:57.001811 'USER anonymous\r\n' 19:27:57.002014 Received DATA (on stdin) 19:27:57.002027 > 33 bytes data, server => client 19:27:57.002037 '331 We are happy you popped in!\r\n' 19:27:57.006827 < 22 bytes data, client => server 19:27:57.006856 'PASS ftp@example.com\r\n' 19:27:57.007061 Received DATA (on stdin) 19:27:57.007071 > 30 bytes data, server => client 19:27:57.007081 '230 Welcome you silly person\r\n' 19:27:57.007142 < 5 bytes data, client => server 19:27:57.007152 'PWD\r\n' 19:27:57.007262 Received DATA (on stdin) 19:27:57.007273 > 30 bytes data, server => client 19:27:57.007283 '257 "/" is current directory\r\n' 19:27:57.007342 < 6 bytes data, client => server 19:27:57.007352 'EPSV\r\n' 19:27:57.027052 Received DATA (on stdin) 19:27:57.027071 > 39 bytes data, server => client 19:27:57.027081 '229 Entering Passive Mode (|||37043|)\r\n' 19:27:57.027283 < 8 bytes data, clientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1044 ../src/curl -q --include --trace-ascii log/2/trace1044 --trace-time ftp://127.0.0.1:38033/blalbla/1044 -I > log/2/stdout1044 2> log/2/stderr1044 => server 19:27:57.027299 'TYPE I\r\n' 19:27:57.030452 Received DATA (on stdin) 19:27:57.030465 > 33 bytes data, server => client 19:27:57.030475 '200 I modify TYPE as you wanted\r\n' 19:27:57.030550 < 21 bytes data, client => server 19:27:57.030560 'SIZE verifiedserver\r\n' 19:27:57.030685 Received DATA (on stdin) 19:27:57.030695 > 8 bytes data, server => client 19:27:57.030704 '213 17\r\n' 19:27:57.030756 < 21 bytes data, client => server 19:27:57.030766 'RETR verifiedserver\r\n' 19:27:57.031081 Received DATA (on stdin) 19:27:57.031093 > 29 bytes data, server => client 19:27:57.031102 '150 Binary junk (17 bytes).\r\n' 19:27:57.031504 Received DATA (on stdin) 19:27:57.031516 > 28 bytes data, server => client 19:27:57.031525 '226 File transfer complete\r\n' 19:27:57.080159 < 6 bytes data, client => server 19:27:57.080208 'QUIT\r\n' 19:27:57.080484 Received DATA (on stdin) 19:27:57.080495 > 18 bytes data, server => client 19:27:57.080505 '221 bye bye baby\r\n' 19:27:57.081741 ====> Client disconnect 19:27:57.081909 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:56.011474 Running IPv4 version 19:27:56.011583 Listening on port 37043 19:27:56.011633 Wrote pid 135209 to log/3/server/ftp_sockdata.pid 19:27:56.020197 Received PING (on stdin) 19:27:56.023482 Received PORT (on stdin) 19:27:56.030156 ====> Client connect 19:27:56.030991 Received DATA (on stdin) 19:27:56.031006 > 17 bytes data, server => client 19:27:56.031016 'WE ROOLZ: 84710\r\n' 19:27:56.031045 Received DISC (on stdin) 19:27:56.031056 ====> Client forcibly disconnected 19:27:56.031181 Received QUIT (on stdin) 19:27:56.031191 quits 19:27:56.031264 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1036 === End of file server.cmd === Start of file valgrind1036 ==135233== ==135233== Process terminating with default action of signal 4 (SIGILL) ==135233== Illegal opcode at address 0x492B75F ==135233== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135233== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135233== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135233== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135233== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135233== by 0x49908EB: curl_version_info (version.c:600) ==135233== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135233== by 0x4003269: main (tool_main.c:195) === End of file valgrind1036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37411/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 test 1044 [FTP download large file info with -I] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1044 ../src/curl -q --include --trace-ascii log/2/trace1044 --trace-time ftp://127.0.0.1:38033/blalbla/1044 -I > log/2/stdout1044 2> log/2/stderr1044 1044: stdout FAILED: --- log/2/check-expected 2026-10-15 19:27:59.409406218 +0000 +++ log/2/check-generated 2026-10-15 19:27:59.406948033 +0000 @@ -1,3 +0,0 @@ -Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] -Content-Length: 9999999999[CR][LF] -Accept-ranges: bytes[CR][LF] == Contents of files in the log/2/ directory after test 1044 === Start of file check-expected Last-Modified: Sat, 26 Jul 2008 10:26:59 GMT[CR][LF] Content-Length: 9999999999[CR][LF] Accept-ranges: bytes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1044 ../src/curl -q --include --trace-ascii log/2/trace1044 --trace-time ftp://127.0.0.1:38033/blalbla/1044 -I > log/2/stdout1044 2> log/2/stderr1044 === End of file commands.log === Start of file ftp_server.log 19:27:57.455377 ====> Client connect 19:27:57.455624 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:57.468910 < "USER anonymous" 19:27:57.468966 > "331 We are happy you popped in![CR][LF]" 19:27:57.469198 < "PASS ftp@example.com" 19:27:57.469231 > "230 Welcome you silly person[CR][LF]" 19:27:57.469389 < "PWD" 19:27:57.469423 > "257 "/" is current directory[CR][LF]" 19:27:57.469585 < "EPSV" 19:27:57.469609 ====> Passive DATA channel requested by client 19:27:57.469621 DATA sockfilt for passive data channel starting... 19:27:57.473791 DATA sockfilt for passive data channel started (pid 135784) 19:27:57.473919 DATA sockfilt for passive data channel listens on port 44435 19:27:57.473967 > "229 Entering Passive Mode (|||44435|)[CR][LF]" 19:27:57.473986 Client has been notified that upcoming DATA connection is awaited on port 44435 19:27:57.474306 Client connects to port 44435 19:27:57.474339 ====> Client established passive DATA connection on port 44435 19:27:57.474434 < "TYPE I" 19:27:57.474475 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:57.474664 < "SIZE verifiedserver" 19:27:57.474704 > "213 17[CR][LF]" 19:27:57.475396 < "RETR verifiedserver" 19:27:57.475436 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:57.475523 =====> Closing passive DATA connection... 19:27:57.475544 Server disconnects passive DATA connection 19:27:57.475736 Server disconnected passive DATA connection 19:27:57.475767 DATA sockfilt for passive data channel quits (pid 135784) 19:27:57.476018 DATA sockfilt for passive data channel quit (pid 135784) 19:27:57.476052 =====> Closed passive DATA connection 19:27:57.476084 > "226 File transfer complete[CR][LF]" 19:27:57.519809 < "QUIT" 19:27:57.519861 > "221 bye bye baby[CR][LF]" 19:27:57.521228 MAIN sockfilt said DISC 19:27:57.521265 ====> Client disconnected 19:27:57.521334 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.058845 ====> Client connect 19:27:57.060384 Received DATA (on stdin) 19:27:57.060406 > 146 bytes data, server => client 19:27:57.060417 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.060425 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.060434 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.073411 < 16 bytes data, client => server 19:27:57.073448 'USER anonymous\r\n' 19:27:57.073705 Received DATA (on stdin) 19:27:57.073719 > 33 bytes data, server => client 19:27:57.073730 '331 We are happy you popped in!\r\n' 19:27:57.073825 < 22 bytes data, client => server 19:27:57.073836 'PASS ftp@example.com\r\n' 19:27:57.073962 Received DATA (on stdin) 19:27:57.073972 > 30 bytes data, server => client 19:27:57.073981 '230 Welcome you silly person\r\n' 19:27:57.074036 < 5 bytes data, client => server 19:27:57.074046 'PWD\r\n' 19:27:57.074154 Received DATA (on stdin) 19:27:57.074163 > 30 bytes data, server => client 19:27:57.074172 '257 "/" is current directory\r\n' 19:27:57.074235 < 6 bytes data, client => server 19:27:57.074245 'EPSV\r\n' 19:27:57.078728 Received DATA (on stdin) 19:27:57.078746 > 39 bytes data, server => client 19:27:57.078757 '229 Entering Passive Mode (|||44435|)\r\n' 19:27:57.078952 < 8 bytes data, client => server 19:27:57.078968 'TYPE I\r\n' 19:27:57.079215 Received DATA (on stdin) 19:27:57.079227 > 33 bytes data, server => client 19:27:57.079238 '200 I modify TYPE as you wanted\r\n' 19:27:57.079298 < 21 bytes data, client => server 19:27:57.079312 'SIZE verifiedserver\r\n' 19:27:57.079442 Received DATA (on stdin) 19:27:57.079454 > 8 bytes data, server => client 19:27:57.079464 '213 17\r\n' 19:27:57.079523 < 21 bytes data, client => server 19:27:57.079538 'RETR verifiedserver\r\n' 19:27:57.080280 Received DATA (on stdin) 19:27:57.080293 > 29 bytes data, server => client 19:27:57.080303 '150 Binary junk (17 bytes).\r\n' 19:27:57.080822 Received DATA (on stdin) 19:27:57.080835 > 28 bytes data, server => client 19:27:57.080846 '226 File transfer complete\r\n' 19:27:57.124380 < 6 bytes data, client => server 19:27:57.124398 'QUIT\r\n' 19:27:57.124593 Received DATA (on stdin) 19:27:57.124603 > 18 bytes data, server => client 19:27:57.124613 '221 bye bye baby\r\n' 19:27:57.124882 ====> Client disconnect 19:27:57.126062 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:57.077492 Running IPv4 version 19:27:57.077585 Listening on port 44435 19:27:57.077628 Wrote pid 135784 to log/2/server/ftp_sockdata.pid 19:27:57.078459 Received PING (on stdin) 19:27:57.078555 Received PORT (on stdin) 19:27:57.078988 ====> Client connect 19:27:57.080264 Received DATA (on stdin) 19:27:57.080283 > 17 bytes data, server => client 19:27:57.080294 'WE ROOLZ: 85208\r\n' 19:27:57.080324 Received DISC (on stdin) 19:27:57.080340 ====> Client forcibly disconnected 19:27:57.080514 Received QUIT (on stdin) 19:27:57.080527 quits 19:27:57.080594 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==135837== ==135837== Process terminating with default action of signal 4 (SIGILL) ==135837== Illegal opcode at address 0x492B75F ==135837== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135837== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135837== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135837== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135837== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135837== by 0x49908EB: curl_version_info (version.c:600) ==135837== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135837== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135837== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135837== by 0x4003269: main (tool_main.c:195) === End of file valgrind1044 test 1039 [FTP PASV upload resume from end of empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37411/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 1039: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1047 ../src/curl -q --output log/9/curl1047.out --include --trace-ascii log/9/trace1047 --trace-time ftp://127.0.0.1:36605/ --interface 127.0.0.1 > log/9/stdout1047 2> log/9/stderr1047 rl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1039 ../src/curl -q --output log/14/curl1039.out --include --trace-ascii log/14/trace1039 --trace-time ftp://127.0.0.1:37411/1039 -T log/14/upload1039 -C - > log/14/stdout1039 2> log/14/stderr1039 === End of file commands.log === Start of file ftp_server.log 19:27:57.011034 ====> Client connect 19:27:57.011268 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:57.019265 < "USER anonymous" 19:27:57.019321 > "331 We are happy you popped in![CR][LF]" 19:27:57.022507 < "PASS ftp@example.com" 19:27:57.022558 > "230 Welcome you silly person[CR][LF]" 19:27:57.029160 < "PWD" 19:27:57.029223 > "257 "/" is current directory[CR][LF]" 19:27:57.029421 < "EPSV" 19:27:57.029446 ====> Passive DATA channel requested by client 19:27:57.029460 DATA sockfilt for passive data channel starting... 19:27:57.038857 DATA sockfilt for passive data channel started (pid 135445) 19:27:57.038990 DATA sockfilt for passive data channel listens on port 38811 19:27:57.039034 > "229 Entering Passive Mode (|||38811|)[CR][LF]" 19:27:57.039052 Client has been notified that upcoming DATA connection is awaited on port 38811 19:27:57.039341 Client connects to port 38811 19:27:57.039368 ====> Client established passive DATA connection on port 38811 19:27:57.039455 < "TYPE I" 19:27:57.039483 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:57.039627 < "SIZE verifiedserver" 19:27:57.039661 > "213 17[CR][LF]" 19:27:57.039801 < "RETR verifiedserver" 19:27:57.039832 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:57.039922 =====> Closing passive DATA connection... 19:27:57.039935 Server disconnects passive DATA connection 19:27:57.040149 Server disconnected passive DATA connection 19:27:57.040174 DATA sockfilt for passive data channel quits (pid 135445) 19:27:57.040412 DATA sockfilt for passive data channel quit (pid 135445) 19:27:57.040437 =====> Closed passive DATA connection 19:27:57.040463 > "226 File transfer complete[CR][LF]" 19:27:57.085517 < "QUIT" 19:27:57.085571 > "221 bye bye baby[CR][LF]" 19:27:57.102117 MAIN sockfilt said DISC 19:27:57.102189 ====> Client disconnected 19:27:57.102278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.615669 ====> Client connect 19:27:57.616059 Received DATA (on stdin) 19:27:57.616074 > 146 bytes data, server => client 19:27:57.616085 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.616095 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.616104 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.623452 < 16 bytes data, client => server 19:27:57.623508 'USER anonymous\r\n' 19:27:57.624097 Received DATA (on stdin) 19:27:57.624109 > 33 bytes data, server => client 19:27:57.624119 '331 We are happy you popped in!\r\n' 19:27:57.627108 < 22 bytes data, client => server 19:27:57.627142 'PASS ftp@example.com\r\n' 19:27:57.627331 Received DATA (on stdin) 19:27:57.627342 > 30 bytes data, server => client 19:27:57.627352 '230 Welcome you silly person\r\n' 19:27:57.633464 < 5 bytes data, client => server 19:27:57.633491 'PWD\r\n' 19:27:57.633997 Received DATA (on stdin) 19:27:57.634009 > 30 bytes data, server => client 19:27:57.634020 '257 "/" is current directory\r\n' 19:27:57.634105 < 6 bytes data, client => server 19:27:57.634117 'EPSV\r\n' 19:27:57.643828 Received DATA (on stdin) 19:27:57.643843 > 39 bytes data, server => client 19:27:57.643852 '229 Entering Passive Mode (|||38811|)\r\n' 19:27:57.644036 < 8 bytes data, client => server 19:27:57.644049 'TYPE I\r\n' 19:27:57.644252 Received DATA (on stdin) 19:27:57.644262 > 33 bytes data, server => client 19:27:57.644271 '200 I modify TYPE as you wanted\r\n' 19:27:57.644319 < 21 bytes data, client => server 19:27:57.644329 'SIZE verifiedserver\r\n' 19:27:57.644428 Received DATA (on stdin) 19:27:57.644438 > 8 bytes data, server => client 19:27:57.644446 '213 17\r\n' 19:27:57.644493 < 21 bytes data, client => server 19:27:57.644503 'RETR verifiedserver\r\n' 19:27:57.644701 Received DATA (on stdin) 19:27:57.644710 > 29 bytes data, server => client 19:27:57.644718 '150 Binary junk (17 bytes).\r\n' 19:27:57.645231 Received DATA (on stdin) 19:27:57.645242 > 28 bytes data, server => client 19:27:57.645251 '226 File transfer complete\r\n' 19:27:57.690108 < 6 bytes data, client => server 19:27:57.690145 'QUIT\r\n' 19:27:57.690338 Received DATA (on stdin) 19:27:57.690350 > 18 bytes data, server => client 19:27:57.690360 '221 bye bye baby\r\n' 19:27:57.703427 ====> Client disconnect 19:27:57.707049 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:57.641289 Running IPv4 version 19:27:57.641383 Listening on port 38811 19:27:57.641427 Wrote pid 135445 to log/14/server/ftp_sockdata.pid 19:27:57.643558 Received PING (on stdin) 19:27:57.643662 Received PORT (on stdin) 19:27:57.644067 ====> Client connect 19:27:57.644769 Received DATA (on stdin) 19:27:57.644781 > 17 bytes data, server => client 19:27:57.644792 'WE ROOLZ: 85053\r\n' 19:27:57.644817 Received DISC (on stdin) 19:27:57.644826 ====> Client forcibly disconnected 19:27:57.644947 Received QUIT (on stdin) 19:27:57.644957 quits 19:27:57.645025 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1039 === End of file server.cmd === Start of file upload1039 this is the *****cr@p******** that we are gonna upload worx? === End of file upload1039 === Start of file valgrind1039 ==135538== ==135538== Process terminating with default action of signal 4 (SIGILL) ==135538== Illegal opcode at address 0x492B75F ==135538== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135538== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135538== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135538== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135538== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135538== by 0x49908EB: curl_version_info (version.c:600) ==135538== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135538== by 0x4003269: main (tool_main.c:195) === End of file valgrind1039 test 1047 [FTP dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1047 ../src/curl -q --output log/9/curl1047.out --include --trace-ascii log/9/trace1047 --trace-time ftp://127.0.0.1:36605/ --interface 127.0.0.1 > log/9/stdout1047 2> log/9/stderr1047 1047: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1047 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1047 ../src/curl -q --output log/9/curl1047.out --include --trace-ascii log/9/trace1047 --trace-time ftp://127.0.0.1:36605/ --interface 127.0.0.1 > log/9/stdout1047 2> log/9/stderr1047 === End of file commands.log === Start of file ftp_server.log 19:27:57.535526 ====> Client connect 19:27:57.535734 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:57.536058 < "USER anonymous" 19:27:57.536102 > "331 We are happy you popped in![CR][LF]" 19:27:57.536289 < "PASS ftp@example.com" 19:27:57.536325 > "230 Welcome you silly person[CR][LF]" 19:27:57.551491 < "PWD" 19:27:57.551552 > "257 "/" is current directory[CR][LF]" 19:27:57.551808 < "EPSV" 19:27:57.551838 ====> Passive DATA channel reqCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1042 ../src/curl -q --output log/6/curl1042.out --include --trace-ascii log/6/trace1042 --trace-time http://127.0.0.1:33935/1042 -C 200 > log/6/stdout1042 2> log/6/stderr1042 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1038 ../src/curl -q --output log/1/curl1038.out --include --trace-ascii log/1/trace1038 --trace-time ftp://127.0.0.1:40221/1038 -T log/1/upload1038 -C - > log/1/stdout1038 2> log/1/stderr1038 uested by client 19:27:57.551850 DATA sockfilt for passive data channel starting... 19:27:57.561676 DATA sockfilt for passive data channel started (pid 135845) 19:27:57.561813 DATA sockfilt for passive data channel listens on port 35085 19:27:57.561865 > "229 Entering Passive Mode (|||35085|)[CR][LF]" 19:27:57.561884 Client has been notified that upcoming DATA connection is awaited on port 35085 19:27:57.562215 Client connects to port 35085 19:27:57.562244 ====> Client established passive DATA connection on port 35085 19:27:57.562332 < "TYPE I" 19:27:57.562365 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:57.562756 < "SIZE verifiedserver" 19:27:57.562836 > "213 17[CR][LF]" 19:27:57.562978 < "RETR verifiedserver" 19:27:57.563015 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:57.563099 =====> Closing passive DATA connection... 19:27:57.563118 Server disconnects passive DATA connection 19:27:57.563382 Server disconnected passive DATA connection 19:27:57.563412 DATA sockfilt for passive data channel quits (pid 135845) 19:27:57.563638 DATA sockfilt for passive data channel quit (pid 135845) 19:27:57.563663 =====> Closed passive DATA connection 19:27:57.563690 > "226 File transfer complete[CR][LF]" 19:27:57.608979 < "QUIT" 19:27:57.609042 > "221 bye bye baby[CR][LF]" 19:27:57.610293 MAIN sockfilt said DISC 19:27:57.610328 ====> Client disconnected 19:27:57.610416 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.140120 ====> Client connect 19:27:57.140481 Received DATA (on stdin) 19:27:57.140498 > 146 bytes data, server => client 19:27:57.140509 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.140518 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.140527 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.140624 < 16 bytes data, client => server 19:27:57.140638 'USER anonymous\r\n' 19:27:57.140835 Received DATA (on stdin) 19:27:57.140847 > 33 bytes data, server => client 19:27:57.140856 '331 We are happy you popped in!\r\n' 19:27:57.140907 < 22 bytes data, client => server 19:27:57.140919 'PASS ftp@example.com\r\n' 19:27:57.141056 Received DATA (on stdin) 19:27:57.141069 > 30 bytes data, server => client 19:27:57.141079 '230 Welcome you silly person\r\n' 19:27:57.144711 < 5 bytes data, client => server 19:27:57.144736 'PWD\r\n' 19:27:57.156286 Received DATA (on stdin) 19:27:57.156304 > 30 bytes data, server => client 19:27:57.156313 '257 "/" is current directory\r\n' 19:27:57.156420 < 6 bytes data, client => server 19:27:57.156431 'EPSV\r\n' 19:27:57.166618 Received DATA (on stdin) 19:27:57.166634 > 39 bytes data, server => client 19:27:57.166643 '229 Entering Passive Mode (|||35085|)\r\n' 19:27:57.166855 < 8 bytes data, client => server 19:27:57.166870 'TYPE I\r\n' 19:27:57.167093 Received DATA (on stdin) 19:27:57.167105 > 33 bytes data, server => client 19:27:57.167115 '200 I modify TYPE as you wanted\r\n' 19:27:57.167174 < 21 bytes data, client => server 19:27:57.167187 'SIZE verifiedserver\r\n' 19:27:57.167506 Received DATA (on stdin) 19:27:57.167519 > 8 bytes data, server => client 19:27:57.167565 '213 17\r\n' 19:27:57.167620 < 21 bytes data, client => server 19:27:57.167631 'RETR verifiedserver\r\n' 19:27:57.167847 Received DATA (on stdin) 19:27:57.167858 > 29 bytes data, server => client 19:27:57.167868 '150 Binary junk (17 bytes).\r\n' 19:27:57.168416 Received DATA (on stdin) 19:27:57.168427 > 28 bytes data, server => client 19:27:57.168437 '226 File transfer complete\r\n' 19:27:57.213491 < 6 bytes data, client => server 19:27:57.213526 'QUIT\r\n' 19:27:57.213777 Received DATA (on stdin) 19:27:57.213790 > 18 bytes data, server => client 19:27:57.213800 '221 bye bye baby\r\n' 19:27:57.214957 ====> Client disconnect 19:27:57.215148 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:57.166053 Running IPv4 version 19:27:57.166127 Listening on port 35085 19:27:57.166168 Wrote pid 135845 to log/9/server/ftp_sockdata.pid 19:27:57.166335 Received PING (on stdin) 19:27:57.166439 Received PORT (on stdin) 19:27:57.166890 ====> Client connect 19:27:57.167933 Received DATA (on stdin) 19:27:57.167948 > 17 bytes data, server => client 19:27:57.167959 'WE ROOLZ: 84695\r\n' 19:27:57.167989 Received DISC (on stdin) 19:27:57.168001 ====> Client forcibly disconnected 19:27:57.168150 Received QUIT (on stdin) 19:27:57.168161 quits 19:27:57.168223 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==135895== ==135895== Process terminating with default action of signal 4 (SIGILL) ==135895== Illegal opcode at address 0x492B75F ==135895== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135895== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135895== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135895== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135895== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135895== by 0x49908EB: curl_version_info (version.c:600) ==135895== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135895== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135895== by 0x4003269: main (tool_main.c:195) === End of file valgrind1047 test 1042 [HTTP GET beyond end of entirely-downloaded file, no server resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1042 ../src/curl -q --output log/6/curl1042.out --include --trace-ascii log/6/trace1042 --trace-time http://127.0.0.1:33935/1042 -C 200 > log/6/stdout1042 2> log/6/stderr1042 1042: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1042 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1042 ../src/curl -q --output log/6/curl1042.out --include --trace-ascii log/6/trace1042 --trace-time http://127.0.0.1:33935/1042 -C 200 > log/6/stdout1042 2> log/6/stderr1042 === End of file commands.log === Start of file curl1042.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1042.out === Start of file http_server.log 19:27:56.697205 ====> Client connect 19:27:56.697244 accept_connection 3 returned 4 19:27:56.697268 Read 93 bytes 19:27:56.697277 Process 93 bytes request 19:27:56.697289 Got request: GET /verifiedserver HTTP/1.1 19:27:56.697297 Are-we-friendly question received 19:27:56.697453 Wrote request (93 bytes) input to log/6/server.input 19:27:56.697470 Identifying ourselves as friends 19:27:56.697550 Response sent (56 bytes) and written to log/6/server.response 19:27:56.697559 special request received, no persistency 19:27:56.697568 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 51416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1042 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1042 ==135508== ==135508== Process terminating with default action of signal 4 (SIGILL) ==135CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1049 ../src/curl -q --output log/13/curl1049.out --include --trace-ascii log/13/trace1049 --trace-time tftp://127.0.0.1:52808//1049 --interface 127.0.0.1 > log/13/stdout1049 2> log/13/stderr1049 508== Illegal opcode at address 0x492B75F ==135508== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135508== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135508== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135508== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135508== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135508== by 0x49908EB: curl_version_info (version.c:600) ==135508== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135508== by 0x4003269: main (tool_main.c:195) === End of file valgrind1042 test 1038 [FTP PASV upload resume from end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1038 ../src/curl -q --output log/1/curl1038.out --include --trace-ascii log/1/trace1038 --trace-time ftp://127.0.0.1:40221/1038 -T log/1/upload1038 -C - > log/1/stdout1038 2> log/1/stderr1038 1038: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1038 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1038 ../src/curl -q --output log/1/curl1038.out --include --trace-ascii log/1/trace1038 --trace-time ftp://127.0.0.1:40221/1038 -T log/1/upload1038 -C - > log/1/stdout1038 2> log/1/stderr1038 === End of file commands.log === Start of file ftp_server.log 19:27:56.868693 ====> Client connect 19:27:56.869084 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:56.875653 < "USER anonymous" 19:27:56.875706 > "331 We are happy you popped in![CR][LF]" 19:27:56.875897 < "PASS ftp@example.com" 19:27:56.875927 > "230 Welcome you silly person[CR][LF]" 19:27:56.876090 < "PWD" 19:27:56.876121 > "257 "/" is current directory[CR][LF]" 19:27:56.876306 < "EPSV" 19:27:56.876331 ====> Passive DATA channel requested by client 19:27:56.876345 DATA sockfilt for passive data channel starting... 19:27:56.883204 DATA sockfilt for passive data channel started (pid 135367) 19:27:56.883350 DATA sockfilt for passive data channel listens on port 45479 19:27:56.883402 > "229 Entering Passive Mode (|||45479|)[CR][LF]" 19:27:56.883419 Client has been notified that upcoming DATA connection is awaited on port 45479 19:27:56.890048 Client connects to port 45479 19:27:56.890118 ====> Client established passive DATA connection on port 45479 19:27:56.890237 < "TYPE I" 19:27:56.890279 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:56.892305 < "SIZE verifiedserver" 19:27:56.892374 > "213 17[CR][LF]" 19:27:56.892561 < "RETR verifiedserver" 19:27:56.892600 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:56.892712 =====> Closing passive DATA connection... 19:27:56.892737 Server disconnects passive DATA connection 19:27:56.898697 Server disconnected passive DATA connection 19:27:56.898770 DATA sockfilt for passive data channel quits (pid 135367) 19:27:56.899232 DATA sockfilt for passive data channel quit (pid 135367) 19:27:56.899264 =====> Closed passive DATA connection 19:27:56.899310 > "226 File transfer complete[CR][LF]" 19:27:56.935923 < "QUIT" 19:27:56.935985 > "221 bye bye baby[CR][LF]" 19:27:56.937225 MAIN sockfilt said DISC 19:27:56.937259 ====> Client disconnected 19:27:56.937345 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.472276 ====> Client connect 19:27:57.473887 Received DATA (on stdin) 19:27:57.473902 > 146 bytes data, server => client 19:27:57.473914 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.473923 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.473932 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.480209 < 16 bytes data, client => server 19:27:57.480239 'USER anonymous\r\n' 19:27:57.480494 Received DATA (on stdin) 19:27:57.480507 > 33 bytes data, server => client 19:27:57.480518 '331 We are happy you popped in!\r\n' 19:27:57.480576 < 22 bytes data, client => server 19:27:57.480590 'PASS ftp@example.com\r\n' 19:27:57.480711 Received DATA (on stdin) 19:27:57.480722 > 30 bytes data, server => client 19:27:57.480731 '230 Welcome you silly person\r\n' 19:27:57.480786 < 5 bytes data, client => server 19:27:57.480798 'PWD\r\n' 19:27:57.480906 Received DATA (on stdin) 19:27:57.480918 > 30 bytes data, server => client 19:27:57.480928 '257 "/" is current directory\r\n' 19:27:57.480996 < 6 bytes data, client => server 19:27:57.481010 'EPSV\r\n' 19:27:57.488161 Received DATA (on stdin) 19:27:57.488186 > 39 bytes data, server => client 19:27:57.488197 '229 Entering Passive Mode (|||45479|)\r\n' 19:27:57.488403 < 8 bytes data, client => server 19:27:57.488420 'TYPE I\r\n' 19:27:57.496781 Received DATA (on stdin) 19:27:57.496811 > 33 bytes data, server => client 19:27:57.496822 '200 I modify TYPE as you wanted\r\n' 19:27:57.496942 < 21 bytes data, client => server 19:27:57.496957 'SIZE verifiedserver\r\n' 19:27:57.497165 Received DATA (on stdin) 19:27:57.497178 > 8 bytes data, server => client 19:27:57.497187 '213 17\r\n' 19:27:57.497246 < 21 bytes data, client => server 19:27:57.497260 'RETR verifiedserver\r\n' 19:27:57.497526 Received DATA (on stdin) 19:27:57.497539 > 29 bytes data, server => client 19:27:57.497550 '150 Binary junk (17 bytes).\r\n' 19:27:57.504112 Received DATA (on stdin) 19:27:57.504129 > 28 bytes data, server => client 19:27:57.504140 '226 File transfer complete\r\n' 19:27:57.540501 < 6 bytes data, client => server 19:27:57.540534 'QUIT\r\n' 19:27:57.540769 Received DATA (on stdin) 19:27:57.540781 > 18 bytes data, server => client 19:27:57.540791 '221 bye bye baby\r\n' 19:27:57.541950 ====> Client disconnect 19:27:57.542222 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:56.487734 Running IPv4 version 19:27:56.487864 Listening on port 45479 19:27:56.487904 Wrote pid 135367 to log/1/server/ftp_sockdata.pid 19:27:56.487925 Received PING (on stdin) 19:27:56.488031 Received PORT (on stdin) 19:27:56.494742 ====> Client connect 19:27:56.497619 Received DATA (on stdin) 19:27:56.497642 > 17 bytes data, server => client 19:27:56.497652 'WE ROOLZ: 84935\r\n' 19:27:56.497685 Received DISC (on stdin) 19:27:56.497700 ====> Client forcibly disconnected 19:27:56.503694 Received QUIT (on stdin) 19:27:56.503718 quits 19:27:56.503812 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1038 === End of file server.cmd === Start of file upload1038 this is the *****cr@p******** that we are gonna upload worx? === End of file upload1038 === Start of file valgrind1038 ==135394== ==135394== Process terminating with default action of signal 4 (SIGILL) ==135394== Illegal opcode at address 0x492B75F ==135394== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135394== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135394== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135394== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135394== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135394== by 0x49908EB: curl_version_info (version.c:600) ==135394== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135394== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135394== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135394== by 0x4003269: main (tool_main.c:195) === End of file valgrind1038 test 1049 [TFTP retrieve with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-calleCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1045 ../src/curl -q --output log/18/curl1045.out --include --trace-ascii log/18/trace1045 --trace-time http://127.0.0.1:43739/1045 --interface 127.0.0.1 > log/18/stdout1045 2> log/18/stderr1045 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1051 ../src/curl -q --output log/23/curl1051.out --include --trace-ascii log/23/trace1051 --trace-time http://127.0.0.1:44711/want/1051 -L -T log/23/test1051.txt > log/23/stdout1051 2> log/23/stderr1051 rs=16 --log-file=log/13/valgrind1049 ../src/curl -q --output log/13/curl1049.out --include --trace-ascii log/13/trace1049 --trace-time tftp://127.0.0.1:52808//1049 --interface 127.0.0.1 > log/13/stdout1049 2> log/13/stderr1049 1049: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1049 ../src/curl -q --output log/13/curl1049.out --include --trace-ascii log/13/trace1049 --trace-time tftp://127.0.0.1:52808//1049 --interface 127.0.0.1 > log/13/stdout1049 2> log/13/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === End of file server.cmd === Start of file tftp_server.log 19:27:57.210149 trying to get file: verifiedserver mode 1 19:27:57.210177 Are-we-friendly question received 19:27:57.210191 write 19:27:57.210222 read 19:27:57.217977 read: 4 19:27:57.218069 end of one transfer === End of file tftp_server.log === Start of file valgrind1049 ==135897== ==135897== Process terminating with default action of signal 4 (SIGILL) ==135897== Illegal opcode at address 0x492B75F ==135897== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135897== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135897== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135897== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135897== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135897== by 0x49908EB: curl_version_info (version.c:600) ==135897== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135897== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135897== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135897== by 0x4003269: main (tool_main.c:195) === End of file valgrind1049 test 1045 [HTTP GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1045 ../src/curl -q --output log/18/curl1045.out --include --trace-ascii log/18/trace1045 --trace-time http://127.0.0.1:43739/1045 --interface 127.0.0.1 > log/18/stdout1045 2> log/18/stderr1045 1045: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1045 ../src/curl -q --output log/18/curl1045.out --include --trace-ascii log/18/trace1045 --trace-time http://127.0.0.1:43739/1045 --interface 127.0.0.1 > log/18/stdout1045 2> log/18/stderr1045 === End of file commands.log === Start of file http_server.log 19:27:58.145689 ====> Client connect 19:27:58.145725 accept_connection 3 returned 4 19:27:58.145745 Read 93 bytes 19:27:58.145754 Process 93 bytes request 19:27:58.145766 Got request: GET /verifiedserver HTTP/1.1 19:27:58.145775 Are-we-friendly question received 19:27:58.145802 Wrote request (93 bytes) input to log/18/server.input 19:27:58.145818 Identifying ourselves as friends 19:27:58.145879 Response sent (56 bytes) and written to log/18/server.response 19:27:58.145889 special request received, no persistency 19:27:58.145900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 51714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1045 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1045 ==135855== ==135855== Process terminating with default action of signal 4 (SIGILL) ==135855== Illegal opcode at address 0x492B75F ==135855== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==135855== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==135855== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==135855== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==135855== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==135855== by 0x49908EB: curl_version_info (version.c:600) ==135855== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==135855== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==135855== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==135855== by 0x4003269: main (tool_main.c:195) === End of file valgrind1045 test 1051 [HTTP PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1051 ../src/curl -q --output log/23/curl1051.out --include --trace-ascii log/23/trace1051 --trace-time http://127.0.0.1:44711/want/1051 -L -T log/23/test1051.txt > log/23/stdout1051 2> log/23/stderr1051 1051: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1051 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1051 ../src/curl -q --output log/23/curl1051.out --include --trace-ascii log/23/trace1051 --trace-time http://127.0.0.1:44711/want/1051 -L -T log/23/test1051.txt > log/23/stdout1051 2> log/23/stderr1051 === End of file commands.log === Start of file http_server.log 19:27:57.330118 ====> Client connect 19:27:57.330164 accept_connection 3 returned 4 19:27:57.330196 Read 93 bytes 19:27:57.330206 Process 93 bytes request 19:27:57.330220 Got request: GET /verifiedserver HTTP/1.1 19:27:57.330229 Are-we-friendly question received 19:27:57.330256 Wrote request (93 bytes) input to log/23/server.input 19:27:57.330274 Identifying ourselves as friends 19:27:57.330375 Response sent (56 bytes) and written to log/23/server.response 19:27:57.330387 special request received, no persistency 19:27:57.330395 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 60914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file test1051.txt Weird file to upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==136029== ==136029== Process terminating with default action of signal 4 (SIGILL) ==136029== Illegal opcode at address 0x492B75F ==136029== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136029== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1052 ../src/curl -q --output log/12/curl1052.out --include --trace-ascii log/12/trace1052 --trace-time http://127.0.0.1:40921/want/1052 -0 -L -T log/12/test1052.txt > log/12/stdout1052 2> log/12/stderr1052 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1053 ../src/curl -q --output log/20/curl1053.out --include --trace-ascii log/20/trace1053 --trace-time http://127.0.0.1:33897/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/20/test1053.txt > log/20/stdout1053 2> log/20/stderr1053 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1054 ../src/curl -q --output log/4/curl1054.out --include --trace-ascii log/4/trace1054 --trace-time http://127.0.0.1:35735/blah/1054 -L -d @log/4/test1054.txt --post301 > log/4/stdout1054 2> log/4/stderr1054 ==136029== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136029== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136029== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136029== by 0x49908EB: curl_version_info (version.c:600) ==136029== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136029== by 0x4003269: main (tool_main.c:195) === End of file valgrind1051 test 1052 [HTTP 1.0 PUT with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1052 ../src/curl -q --output log/12/curl1052.out --include --trace-ascii log/12/trace1052 --trace-time http://127.0.0.1:40921/want/1052 -0 -L -T log/12/test1052.txt > log/12/stdout1052 2> log/12/stderr1052 1052: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1052 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1052 ../src/curl -q --output log/12/curl1052.out --include --trace-ascii log/12/trace1052 --trace-time http://127.0.0.1:40921/want/1052 -0 -L -T log/12/test1052.txt > log/12/stdout1052 2> log/12/stderr1052 === End of file commands.log === Start of file http_server.log 19:27:57.460114 ====> Client connect 19:27:57.460159 accept_connection 3 returned 4 19:27:57.460364 Read 93 bytes 19:27:57.460378 Process 93 bytes request 19:27:57.460392 Got request: GET /verifiedserver HTTP/1.1 19:27:57.460401 Are-we-friendly question received 19:27:57.460431 Wrote request (93 bytes) input to log/12/server.input 19:27:57.460448 Identifying ourselves as friends 19:27:57.460515 Response sent (56 bytes) and written to log/12/server.response 19:27:57.460525 special request received, no persistency 19:27:57.460533 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 56138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file test1052.txt Weird file to upload for testing the PUT feature === End of file test1052.txt === Start of file valgrind1052 ==136124== ==136124== Process terminating with default action of signal 4 (SIGILL) ==136124== Illegal opcode at address 0x492B75F ==136124== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136124== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136124== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136124== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136124== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136124== by 0x49908EB: curl_version_info (version.c:600) ==136124== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136124== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136124== by 0x4003269: main (tool_main.c:195) === End of file valgrind1052 test 1053 [HTTP RFC1867-type formposting from file with Location: following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1053 ../src/curl -q --output log/20/curl1053.out --include --trace-ascii log/20/trace1053 --trace-time http://127.0.0.1:33897/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/20/test1053.txt > log/20/stdout1053 2> log/20/stderr1053 1053: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1053 ../src/curl -q --output log/20/curl1053.out --include --trace-ascii log/20/trace1053 --trace-time http://127.0.0.1:33897/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/20/test1053.txt > log/20/stdout1053 2> log/20/stderr1053 === End of file commands.log === Start of file http_server.log 19:27:57.720295 ====> Client connect 19:27:57.720337 accept_connection 3 returned 4 19:27:57.720361 Read 93 bytes 19:27:57.720371 Process 93 bytes request 19:27:57.720384 Got request: GET /verifiedserver HTTP/1.1 19:27:57.720392 Are-we-friendly question received 19:27:57.720420 Wrote request (93 bytes) input to log/20/server.input 19:27:57.720439 Identifying ourselves as friends 19:27:57.720510 Response sent (56 bytes) and written to log/20/server.response 19:27:57.720520 special request received, no persistency 19:27:57.720528 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file test1053.txt foo- This is a moo- bar === End of file test1053.txt === Start of file valgrind1053 ==136271== ==136271== Process terminating with default action of signal 4 (SIGILL) ==136271== Illegal opcode at address 0x492B75F ==136271== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136271== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136271== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136271== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136271== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136271== by 0x49908EB: curl_version_info (version.c:600) ==136271== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136271== by 0x4003269: main (tool_main.c:195) === End of file valgrind1053 test 1054 [HTTP POST from file with 301 redirect and --post301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1054 ../src/curl -q --output log/4/curl1054.out --include --trace-ascii log/4/trace1054 --trace-time http://127.0.0.1:35735/blah/1054 -L -d @log/4/test1054.txt --post301 > log/4/stdout1054 2> log/4/stderr1054 1054: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1058 ../src/curl -q --output log/17/curl1058.out --include --trace-ascii log/17/trace1058 --trace-time http://127.0.0.1:35993/want/1058 -r -101 > log/17/stdout1058 2> log/17/stderr1058 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46107/" --interface ::1 > log/24/stdout1048 2> log/24/stderr1048 -suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1054 ../src/curl -q --output log/4/curl1054.out --include --trace-ascii log/4/trace1054 --trace-time http://127.0.0.1:35735/blah/1054 -L -d @log/4/test1054.txt --post301 > log/4/stdout1054 2> log/4/stderr1054 === End of file commands.log === Start of file http_server.log 19:27:58.733014 ====> Client connect 19:27:58.733053 accept_connection 3 returned 4 19:27:58.733075 Read 93 bytes 19:27:58.733084 Process 93 bytes request 19:27:58.733096 Got request: GET /verifiedserver HTTP/1.1 19:27:58.733105 Are-we-friendly question received 19:27:58.733132 Wrote request (93 bytes) input to log/4/server.input 19:27:58.733149 Identifying ourselves as friends 19:27:58.733217 Response sent (56 bytes) and written to log/4/server.response 19:27:58.733226 special request received, no persistency 19:27:58.733234 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 33680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==136308== ==136308== Process terminating with default action of signal 4 (SIGILL) ==136308== Illegal opcode at address 0x492B75F ==136308== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136308== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136308== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136308== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136308== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136308== by 0x49908EB: curl_version_info (version.c:600) ==136308== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136308== by 0x4003269: main (tool_main.c:195) === End of file valgrind1054 test 1058 [HTTP range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1058 ../src/curl -q --output log/17/curl1058.out --include --trace-ascii log/17/trace1058 --trace-time http://127.0.0.1:35993/want/1058 -r -101 > log/17/stdout1058 2> log/17/stderr1058 1058: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1058 ../src/curl -q --output log/17/curl1058.out --include --trace-ascii log/17/trace1058 --trace-time http://127.0.0.1:35993/want/1058 -r -101 > log/17/stdout1058 2> log/17/stderr1058 === End of file commands.log === Start of file http_server.log 19:27:58.910053 ====> Client connect 19:27:58.910095 accept_connection 3 returned 4 19:27:58.910120 Read 93 bytes 19:27:58.910130 Process 93 bytes request 19:27:58.910142 Got request: GET /verifiedserver HTTP/1.1 19:27:58.910150 Are-we-friendly question received 19:27:58.910175 Wrote request (93 bytes) input to log/17/server.input 19:27:58.910190 Identifying ourselves as friends 19:27:58.910273 Response sent (56 bytes) and written to log/17/server.response 19:27:58.910282 special request received, no persistency 19:27:58.910290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1058 ==136392== ==136392== Process terminating with default action of signal 4 (SIGILL) ==136392== Illegal opcode at address 0x492B75F ==136392== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136392== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136392== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136392== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136392== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136392== by 0x49908EB: curl_version_info (version.c:600) ==136392== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136392== by 0x4003269: main (tool_main.c:195) === End of file valgrind1058 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/24/server/ftp_ipv6_server.pid" --logfile "log/24/ftp_ipv6_server.log" --logdir "log/24" --portfile "log/24/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46107 (log/24/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 135809 port 46107 * pid ftp-ipv6 => 135809 135809 test 1048 [FTP-IPv6 dir list PASV with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46107/" --interface ::1 > log/24/stdout1048 2> log/24/stderr1048 1048: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1048 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1048 ../src/curl -q --output log/24/curl1048.out --include --trace-ascii log/24/trace1048 --trace-time -g "ftp://[::1]:46107/" --interface ::1 > log/24/stdout1048 2> log/24/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 19:27:57.580447 FTP server listens on port IPv6/46107 19:27:57.580564 logged pid 135809 in log/24/server/ftp_ipv6_server.pid 19:27:57.580601 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:27:57.184665 Running IPv6 version 19:27:57.184765 Listening on port 46107 19:27:57.184818 Wrote pid 135863 to log/24/server/ftp_ipv6_sockctrl.pid 19:27:57.184861 Wrote port 46107 to log/24/server/ftp_ipv6_server.port 19:27:57.185052 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1048 === End of file server.cmd === Start of file valgrind1048 ==136640== ==136640== Process terminating with default action of signal 4 (SIGILL) ==136640== Illegal opcode at address 0x492B75F ==136640== at 0x492B75CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1055 ../src/curl -q --output log/21/curl1055.out --include --trace-ascii log/21/trace1055 --trace-time http://127.0.0.1:39881/1055 -L -T log/21/test1055.txt > log/21/stdout1055 2> log/21/stderr1055 F: formatf.constprop.2 (mprintf.c:1115) ==136640== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136640== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136640== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136640== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136640== by 0x49908EB: curl_version_info (version.c:600) ==136640== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136640== by 0x4003269: main (tool_main.c:195) === End of file valgrind1048 test 1055 [HTTP PUT Location: redirect to FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1055 ../src/curl -q --output log/21/curl1055.out --include --trace-ascii log/21/trace1055 --trace-time http://127.0.0.1:39881/1055 -L -T log/21/test1055.txt > log/21/stdout1055 2> log/21/stderr1055 1055: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1055 ../src/curl -q --output log/21/curl1055.out --include --trace-ascii log/21/trace1055 --trace-time http://127.0.0.1:39881/1055 -L -T log/21/test1055.txt > log/21/stdout1055 2> log/21/stderr1055 === End of file commands.log === Start of file ftp_server.log 19:27:58.265474 ====> Client connect 19:27:58.265708 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:58.284087 < "USER anonymous" 19:27:58.284140 > "331 We are happy you popped in![CR][LF]" 19:27:58.284399 < "PASS ftp@example.com" 19:27:58.284437 > "230 Welcome you silly person[CR][LF]" 19:27:58.284608 < "PWD" 19:27:58.284641 > "257 "/" is current directory[CR][LF]" 19:27:58.284809 < "EPSV" 19:27:58.284835 ====> Passive DATA channel requested by client 19:27:58.284847 DATA sockfilt for passive data channel starting... 19:27:58.287949 DATA sockfilt for passive data channel started (pid 136366) 19:27:58.288068 DATA sockfilt for passive data channel listens on port 36635 19:27:58.288114 > "229 Entering Passive Mode (|||36635|)[CR][LF]" 19:27:58.288131 Client has been notified that upcoming DATA connection is awaited on port 36635 19:27:58.288409 Client connects to port 36635 19:27:58.288439 ====> Client established passive DATA connection on port 36635 19:27:58.288516 < "TYPE I" 19:27:58.288545 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:58.288722 < "SIZE verifiedserver" 19:27:58.288761 > "213 17[CR][LF]" 19:27:58.288924 < "RETR verifiedserver" 19:27:58.288961 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:58.289047 =====> Closing passive DATA connection... 19:27:58.289065 Server disconnects passive DATA connection 19:27:58.289305 Server disconnected passive DATA connection 19:27:58.289334 DATA sockfilt for passive data channel quits (pid 136366) 19:27:58.289589 DATA sockfilt for passive data channel quit (pid 136366) 19:27:58.289614 =====> Closed passive DATA connection 19:27:58.289642 > "226 File transfer complete[CR][LF]" 19:27:58.335542 < "QUIT" 19:27:58.335602 > "221 bye bye baby[CR][LF]" 19:27:58.341736 MAIN sockfilt said DISC 19:27:58.341794 ====> Client disconnected 19:27:58.341883 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.869998 ====> Client connect 19:27:57.870396 Received DATA (on stdin) 19:27:57.870412 > 146 bytes data, server => client 19:27:57.870424 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.870433 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.870442 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.888365 < 16 bytes data, client => server 19:27:57.888825 'USER anonymous\r\n' 19:27:57.888840 Received DATA (on stdin) 19:27:57.888848 > 33 bytes data, server => client 19:27:57.888858 '331 We are happy you popped in!\r\n' 19:27:57.888956 < 22 bytes data, client => server 19:27:57.888968 'PASS ftp@example.com\r\n' 19:27:57.889104 Received DATA (on stdin) 19:27:57.889115 > 30 bytes data, server => client 19:27:57.889124 '230 Welcome you silly person\r\n' 19:27:57.889184 < 5 bytes data, client => server 19:27:57.889194 'PWD\r\n' 19:27:57.889306 Received DATA (on stdin) 19:27:57.889316 > 30 bytes data, server => client 19:27:57.889326 '257 "/" is current directory\r\n' 19:27:57.889391 < 6 bytes data, client => server 19:27:57.889401 'EPSV\r\n' 19:27:57.892803 Received DATA (on stdin) 19:27:57.892816 > 39 bytes data, server => client 19:27:57.892826 '229 Entering Passive Mode (|||36635|)\r\n' 19:27:57.892993 < 8 bytes data, client => server 19:27:57.893008 'TYPE I\r\n' 19:27:57.893210 Received DATA (on stdin) 19:27:57.893221 > 33 bytes data, server => client 19:27:57.893231 '200 I modify TYPE as you wanted\r\n' 19:27:57.893286 < 21 bytes data, client => server 19:27:57.893311 'SIZE verifiedserver\r\n' 19:27:57.893427 Received DATA (on stdin) 19:27:57.893438 > 8 bytes data, server => client 19:27:57.893448 '213 17\r\n' 19:27:57.893502 < 21 bytes data, client => server 19:27:57.893515 'RETR verifiedserver\r\n' 19:27:57.893732 Received DATA (on stdin) 19:27:57.893744 > 29 bytes data, server => client 19:27:57.893754 '150 Binary junk (17 bytes).\r\n' 19:27:57.894308 Received DATA (on stdin) 19:27:57.894320 > 28 bytes data, server => client 19:27:57.894330 '226 File transfer complete\r\n' 19:27:57.940006 < 6 bytes data, client => server 19:27:57.940032 'QUIT\r\n' 19:27:57.940271 Received DATA (on stdin) 19:27:57.940285 > 18 bytes data, server => client 19:27:57.940295 '221 bye bye baby\r\n' 19:27:57.946320 ====> Client disconnect 19:27:57.946558 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:58.892265 Running IPv4 version 19:27:58.892360 Listening on port 36635 19:27:58.892402 Wrote pid 136366 to log/21/server/ftp_sockdata.pid 19:27:58.892553 Received PING (on stdin) 19:27:58.892644 Received PORT (on stdin) 19:27:58.893028 ====> Client connect 19:27:58.893812 Received DATA (on stdin) 19:27:58.893827 > 17 bytes data, server => client 19:27:58.893837 'WE ROOLZ: 84694\r\n' 19:27:58.893864 Received DISC (on stdin) 19:27:58.893874 ====> Client forcibly disconnected 19:27:58.894008 Received QUIT (on stdin) 19:27:58.894019 quits 19:27:58.894084 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:27:57.779163 ====> Client connect 19:27:57.779208 accept_connection 3 returned 4 19:27:57.779234 Read 93 bytes 19:27:57.779245 Process 93 bytes request 19:27:57.779258 Got request: GET /verifiedserver HTTP/1.1 19:27:57.779267 Are-we-friendly question received 19:27:57.779298 Wrote request (93 bytes) input to log/21/server.input 19:27:57.779321 Identifying ourselves as friends 19:27:57.779392 Response sent (56 bytes) and written to log/21/server.response 19:27:57.779404 special request received, no persistency 19:27:57.779413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 46564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1055 === End of file server.cmd === Start of file server.reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:39699/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39641/1057 > log/5/stdout1057 2> log/5/stderr1057 sponse HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file test1055.txt Weird file to upload for testing the PUT feature === End of file test1055.txt === Start of file valgrind1055 ==136508== ==136508== Process terminating with default action of signal 4 (SIGILL) ==136508== Illegal opcode at address 0x492B75F ==136508== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136508== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136508== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136508== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136508== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136508== by 0x49908EB: curl_version_info (version.c:600) ==136508== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136508== by 0x4003269: main (tool_main.c:195) === End of file valgrind1055 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/10/server/http_ipv6_server.pid" --logfile "log/10/http_ipv6_server.log" --logdir "log/10" --portfile log/10/server/http_ipv6_server.port --config log/10/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 135779 port 39699 * pid http-ipv6 => 135779 135779 test 1046 [HTTP-IPv6 GET with numeric localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:39699/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 1046: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1046 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1046 ../src/curl -q --output log/10/curl1046.out --include --trace-ascii log/10/trace1046 --trace-time -g "http://[::1]:39699/1046" --interface ::1 > log/10/stdout1046 2> log/10/stderr1046 === End of file commands.log === Start of file http_ipv6_server.log 19:27:57.124038 Running HTTP IPv6 version on port 39699 19:27:57.124141 Wrote pid 135779 to log/10/server/http_ipv6_server.pid 19:27:57.124174 Wrote port 39699 to log/10/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1046 === End of file server.cmd === Start of file valgrind1046 ==136558== ==136558== Process terminating with default action of signal 4 (SIGILL) ==136558== Illegal opcode at address 0x492B75F ==136558== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136558== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136558== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136558== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136558== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136558== by 0x49908EB: curl_version_info (version.c:600) ==136558== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136558== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136558== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136558== by 0x4003269: main (tool_main.c:195) === End of file valgrind1046 test 1057 [FTP retrieve a byte-range relative to end of file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39641/1057 > log/5/stdout1057 2> log/5/stderr1057 1057: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1057 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1057 ../src/curl -q --output log/5/curl1057.out --include --trace-ascii log/5/trace1057 --trace-time -r -12 ftp://127.0.0.1:39641/1057 > log/5/stdout1057 2> log/5/stderr1057 === End of file commands.log === Start of file ftp_server.log 19:27:58.224681 ====> Client connect 19:27:58.224883 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:58.225194 < "USER anonymous" 19:27:58.225239 > "331 We are happy you popped in![CR][LF]" 19:27:58.225436 < "PASS ftp@example.com" 19:27:58.225463 > "230 Welcome you silly person[CR][LF]" 19:27:58.225624 < "PWD" 19:27:58.225658 > "257 "/" is current directory[CR][LF]" 19:27:58.225845 < "EPSV" 19:27:58.225872 ====> Passive DATA channel requested by client 19:27:58.225885 DATA sockfilt for passive data channel starting... 19:27:58.233333 DATA sockfilt for passive data channel started (pid 136319) 19:27:58.236242 DATA sockfilt for passive data channel listens on port 39179 19:27:58.236318 > "229 Entering Passive Mode (|||39179|)[CR][LF]" 19:27:58.236344 Client has been notified that upcoming DATA connection is awaited on port 39179 19:27:58.238373 Client connects to port 39179 19:27:58.238421 ====> Client established passive DATA connection on port 39179 19:27:58.238544 < "TYPE I" 19:27:58.238595 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:58.238818 < "SIZE verifiedserver" 19:27:58.238859 > "213 17[CR][LF]" 19:27:58.239011 < "RETR verifiedserver" 19:27:58.239046 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:58.239148 =====> Closing passive DATA connection... 19:27:58.239170 Server disconnects passive DATA connection 19:27:58.239360 Server disconnected passive DATA connection 19:27:58.239392 DATA sockfilt for passive data channel quits (pid 136319) 19:27:58.239821 DATA sockfilt for passive data channel quit (pid 136319) 19:27:58.239852 =====> Closed passive DATA connection 19:27:58.239884 > "226 File transfer complete[CR][LF]" 19:27:58.283992 < "QUIT" 19:27:58.284064 > "221 bye bye baby[CR][LF]" 19:27:58.286191 MAIN sockfilt said DISC 19:27:58.286224 ====> Client disconnected 19:27:58.286515 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:57.829228 ====> Client connect 19:27:57.829577 Received DATA (on stdin) 19:27:57.829594 > 146 bytes data, server => client 19:27:57.829606 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:57.829617 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:57.829626 '220 \___|\___/|_| \_\_____|\r\n' 19:27:57.829708 < 16 bytes data, client => server 19:27:57.829723 'USER anonymous\r\n' 19:27:57.829918 Received DATA (on stdin) 19:27:57.829931 > 33 bytes data, server => client 19:27:57.829942 '331 We are happy you popped in!\r\n' 19:27:57.830008 < 22 bytes data, client => server 19:27:57.830019 'PASS ftp@example.com\r\n' 19:27:57.830132 Received DATA (on stdin) 19:27:57.830141 > 30 bytes data, server => client 19:27:57.830150 '230 Welcome you silly person\r\n' 19:27:57.830198 < 5 bytes data, client => server 19:27:57.830217 'PWD\r\n' 19:27:57.830326 Received DATA (on stdin) 19:27:57.830337 > 30 bytes data, server => client 19:27:57.830346 '257 "/" is current directory\r\n' 19:27:57.830427 < 6 bytes data, client => server 19:27:57.830439 'EPSV\r\n' 19:27:57.841031 Received DATA (on stdin) 19:27:57.841050 > 39 bytes data, server => client 19:27:57.841060 '229 Entering Passive Mode (|||39179|)\r\n' 19:27:57.842929 < 8 bytes data, clientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1050 ../src/curl -q --output log/7/curl1050.out --include --trace-ascii log/7/trace1050 --trace-time -g "ftp://[::1]:46867/" -P ::1 > log/7/stdout1050 2> log/7/stderr1050 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1059 ../src/curl -q --output log/16/curl1059.out --include --trace-ascii log/16/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:35903 > log/16/stdout1059 2> log/16/stderr1059 => server 19:27:57.842953 'TYPE I\r\n' 19:27:57.843278 Received DATA (on stdin) 19:27:57.843293 > 33 bytes data, server => client 19:27:57.843320 '200 I modify TYPE as you wanted\r\n' 19:27:57.843385 < 21 bytes data, client => server 19:27:57.843397 'SIZE verifiedserver\r\n' 19:27:57.843528 Received DATA (on stdin) 19:27:57.843538 > 8 bytes data, server => client 19:27:57.843546 '213 17\r\n' 19:27:57.843597 < 21 bytes data, client => server 19:27:57.843607 'RETR verifiedserver\r\n' 19:27:57.843947 Received DATA (on stdin) 19:27:57.843961 > 29 bytes data, server => client 19:27:57.843972 '150 Binary junk (17 bytes).\r\n' 19:27:57.844559 Received DATA (on stdin) 19:27:57.844572 > 28 bytes data, server => client 19:27:57.844582 '226 File transfer complete\r\n' 19:27:57.888445 < 6 bytes data, client => server 19:27:57.888477 'QUIT\r\n' 19:27:57.888748 Received DATA (on stdin) 19:27:57.888766 > 18 bytes data, server => client 19:27:57.888777 '221 bye bye baby\r\n' 19:27:57.890799 ====> Client disconnect 19:27:57.891033 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:58.832717 Running IPv4 version 19:27:58.832809 Listening on port 39179 19:27:58.832851 Wrote pid 136319 to log/5/server/ftp_sockdata.pid 19:27:58.836653 Received PING (on stdin) 19:27:58.840762 Received PORT (on stdin) 19:27:58.842982 ====> Client connect 19:27:58.843846 Received DATA (on stdin) 19:27:58.843863 > 17 bytes data, server => client 19:27:58.843873 'WE ROOLZ: 85245\r\n' 19:27:58.843904 Received DISC (on stdin) 19:27:58.843917 ====> Client forcibly disconnected 19:27:58.844080 Received QUIT (on stdin) 19:27:58.844095 quits 19:27:58.844198 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==136421== ==136421== Process terminating with default action of signal 4 (SIGILL) ==136421== Illegal opcode at address 0x492B75F ==136421== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136421== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136421== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136421== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136421== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136421== by 0x49908EB: curl_version_info (version.c:600) ==136421== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136421== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136421== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136421== by 0x4003269: main (tool_main.c:195) === End of file valgrind1057 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/7/server/ftp_ipv6_server.pid" --logfile "log/7/ftp_ipv6_server.log" --logdir "log/7" --portfile "log/7/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46867 (log/7/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 135955 port 46867 * pid ftp-ipv6 => 135955 135955 test 1050 [FTP-IPv6 dir list, EPRT with specified IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1050 ../src/curl -q --output log/7/curl1050.out --include --trace-ascii log/7/trace1050 --trace-time -g "ftp://[::1]:46867/" -P ::1 > log/7/stdout1050 2> log/7/stderr1050 1050: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1050 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1050 ../src/curl -q --output log/7/curl1050.out --include --trace-ascii log/7/trace1050 --trace-time -g "ftp://[::1]:46867/" -P ::1 > log/7/stdout1050 2> log/7/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 19:27:57.767644 FTP server listens on port IPv6/46867 19:27:57.767975 logged pid 135955 in log/7/server/ftp_ipv6_server.pid 19:27:57.768022 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:27:57.371442 Running IPv6 version 19:27:57.371540 Listening on port 46867 19:27:57.371593 Wrote pid 136031 to log/7/server/ftp_ipv6_sockctrl.pid 19:27:57.371629 Wrote port 46867 to log/7/server/ftp_ipv6_server.port 19:27:57.372224 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === Start of file valgrind1050 ==136745== ==136745== Process terminating with default action of signal 4 (SIGILL) ==136745== Illegal opcode at address 0x492B75F ==136745== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136745== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136745== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136745== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136745== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136745== by 0x49908EB: curl_version_info (version.c:600) ==136745== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136745== by 0x4003269: main (tool_main.c:195) === End of file valgrind1050 test 1059 [HTTP CONNECT with proxytunnel to unsupported FTP URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1059 ../src/curl -q --output log/16/curl1059.out --include --trace-ascii log/16/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:35903 > log/16/stdout1059 2> log/16/stderr1059 1059: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1059 ../src/curl -q --output log/16/curl1059.out --include --trace-ascii log/16/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:35903 > log/16/stdout1059 2> log/16/stderr1059 === End of file commands.log === Start of file http_server.log 19:27:58.992487 ====> Client connect 19:27:58.992530 accept_connection 3 returned 4 19:27:58.992572 Read 93 bytes 19:27:58.992583 Process 93 bytes request 19:27:58.992596 Got request: GET /verifiedserver HTTP/1.1 19:27:58.992605 Are-we-friendly question received 19:27:58.992635 Wrote request (93 bytes) input to log/16/server.input 19:27:58.992653 Identifying ourselves as friends 19:27:58.992720 Response sent (56 bytes) and written to log/16/server.response 19:27:58.992731 special request received, no persistency 19:27:58.992740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 49682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1059 ==136495== ==136495== Process terminating with default action of signalCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:44467 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1064 ../src/curl -q --include --trace-ascii log/3/trace1064 --trace-time -H "Expect:" -T log/3/1064 http://127.0.0.1:36161/1064.upload1 -T log/3/1064 http://127.0.0.1:36161/10640002.upload2 > log/3/stdout1064 2> log/3/stderr1064 4 (SIGILL) ==136495== Illegal opcode at address 0x492B75F ==136495== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136495== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136495== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136495== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136495== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136495== by 0x49908EB: curl_version_info (version.c:600) ==136495== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136495== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136495== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136495== by 0x4003269: main (tool_main.c:195) === End of file valgrind1059 test 1061 [HTTP proxy CONNECT auth Digest, large headers and chunked data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:44467 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 1061: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1061 ../src/curl -q --output log/8/curl1061.out --include --trace-ascii log/8/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:44467 --proxy-user silly:person --proxy-digest --proxytunnel > log/8/stdout1061 2> log/8/stderr1061 === End of file commands.log === Start of file http_server.log 19:27:58.794794 ====> Client connect 19:27:58.794838 accept_connection 3 returned 4 19:27:58.794861 Read 93 bytes 19:27:58.794871 Process 93 bytes request 19:27:58.794884 Got request: GET /verifiedserver HTTP/1.1 19:27:58.794893 Are-we-friendly question received 19:27:58.794924 Wrote request (93 bytes) input to log/8/server.input 19:27:58.794942 Identifying ourselves as friends 19:27:58.795011 Response sent (56 bytes) and written to log/8/server.response 19:27:58.795021 special request received, no persistency 19:27:58.795030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 59288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1061 ==136911== ==136911== Process terminating with default action of signal 4 (SIGILL) ==136911== Illegal opcode at address 0x492B75F ==136911== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136911== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136911== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136911== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136911== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136911== by 0x49908EB: curl_version_info (version.c:600) ==136911== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136911== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136911== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136911== by 0x4003269: main (tool_main.c:195) === End of file valgrind1061 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1060 ../src/curl -q --output log/22/curl1060.out --include --trace-ascii log/22/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:35989 --proxy-user silly:person --proxy-digest --proxytunnel > log/22/stdout1060 2> log/22/stderr1060 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1056 ../src/curl -q --output log/11/curl1056.out --include --trace-ascii log/11/trace1056 --trace-time http://127.0.0.1:40989/we/are/all/twits/1056 -L > log/11/stdout1056 2> log/11/stderr1056 test 1064 [HTTP PUT twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1064 ../src/curl -q --include --trace-ascii log/3/trace1064 --trace-time -H "Expect:" -T log/3/1064 http://127.0.0.1:36161/1064.upload1 -T log/3/1064 http://127.0.0.1:36161/10640002.upload2 > log/3/stdout1064 2> log/3/stderr1064 1064: stdout FAILED: --- log/3/check-expected 2026-10-15 19:28:01.536892858 +0000 +++ log/3/check-generated 2026-10-15 19:28:01.533781762 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/3/ directory after test 1064 === Start of file 1064 test === End of file 1064 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1064 ../src/curl -q --include --trace-ascii log/3/trace1064 --trace-time -H "Expect:" -T log/3/1064 http://127.0.0.1:36161/1064.upload1 -T log/3/1064 http://127.0.0.1:36161/10640002.upload2 > log/3/stdout1064 2> log/3/stderr1064 === End of file commands.log === Start of file http_server.log 19:28:00.032682 ====> Client connect 19:28:00.032723 accept_connection 3 returned 4 19:28:00.032746 Read 93 bytes 19:28:00.032756 Process 93 bytes request 19:28:00.032770 Got request: GET /verifiedserver HTTP/1.1 19:28:00.032779 Are-we-friendly question received 19:28:00.032809 Wrote request (93 bytes) input to log/3/server.input 19:28:00.032825 Identifying ourselves as friends 19:28:00.035657 Response sent (56 bytes) and written to log/3/server.response 19:28:00.035674 special request received, no persistency 19:28:00.035683 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1064 ==137131== ==137131== Process terminating with default action of signal 4 (SIGILL) ==137131== Illegal opcode at address 0x492B75F ==137131== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137131== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137131== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137131== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137131== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137131== by 0x49908EB: curl_version_info (version.c:600) ==137131== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137131== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137131== by 0x4003269: main (tool_main.c:195) === End of file valgrind1064 test 1060 [HTTP proxy CONNECT auth Digest, large headers and data] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1060 ../src/curl -q --output log/22/curl1060.out --include --trace-ascii log/22/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:35989 --proxy-user silly:person --proxy-digest --proxytunnel > log/22/stdout1060 2> log/22/stderr1060 1060: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1060 ../src/curl -q --output log/22/curl1060.out --include --trace-ascii log/22/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:35989 --proxy-user silly:person --proxy-digest --proxytunnel > log/22/stdout1060 2> log/22/stderr1060 === End of file commands.log === Start of file http_server.log 19:27:58.348980 ====> Client connect 19:27:58.349028 accept_connection 3 returned 4 19:27:58.349048 Read 93 bytes 19:27:58.349058 Process 93 bytes request 19:27:58.349071 Got request: GET /verifiedserver HTTP/1.1 19:27:58.349080 Are-we-friendly question received 19:27:58.349137 Wrote request (93 bytes) input to log/22/server.input 19:27:58.349152 Identifying ourselves as friends 19:27:58.349216 Response sent (56 bytes) and written to log/22/server.response 19:27:58.349224 special request received, no persistency 19:27:58.349232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 45000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1060 ==136777== ==136777== Process terminating with default action of signal 4 (SIGILL) ==136777== Illegal opcode at address 0x492B75F ==136777== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136777== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136777== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136777== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136777== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136777== by 0x49908EB: curl_version_info (version.c:600) ==136777== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136777== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136777== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136777== by 0x4003269: main (tool_main.c:195) === End of file valgrind1060 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/11/server/http_ipv6_server.pid" --logfile "log/11/http_ipv6_server.log" --logdir "log/11" --portfile log/11/server/http_ipv6_server.port --config log/11/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 136302 port 45501 * pid http-ipv6 => 136302 136302 test 1056 [HTTP follow redirect from IPv4 to IPv6 with scope] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1056 ../src/curl -q -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1063 ../src/curl -q --output log/19/curl1063.out --include --trace-ascii log/19/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/19/test1063.txt > log/19/stdout1063 2> log/19/stderr1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1065 ../src/curl -q --include --trace-ascii log/2/trace1065 --trace-time -H "Expect:" -T log/2/1065 http://127.0.0.1:34531/1065.upload1 http://127.0.0.1:34531/10650002.url2 > log/2/stdout1065 2> log/2/stderr1065 -output log/11/curl1056.out --include --trace-ascii log/11/trace1056 --trace-time http://127.0.0.1:40989/we/are/all/twits/1056 -L > log/11/stdout1056 2> log/11/stderr1056 1056: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1056 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1056 ../src/curl -q --output log/11/curl1056.out --include --trace-ascii log/11/trace1056 --trace-time http://127.0.0.1:40989/we/are/all/twits/1056 -L > log/11/stdout1056 2> log/11/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 19:27:58.843888 Running HTTP IPv6 version on port 45501 19:27:58.844034 Wrote pid 136302 to log/11/server/http_ipv6_server.pid 19:27:58.844068 Wrote port 45501 to log/11/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 19:27:57.794013 ====> Client connect 19:27:57.794046 accept_connection 3 returned 4 19:27:57.794067 Read 93 bytes 19:27:57.794076 Process 93 bytes request 19:27:57.794089 Got request: GET /verifiedserver HTTP/1.1 19:27:57.794097 Are-we-friendly question received 19:27:57.794129 Wrote request (93 bytes) input to log/11/server.input 19:27:57.794148 Identifying ourselves as friends 19:27:57.794220 Response sent (56 bytes) and written to log/11/server.response 19:27:57.794233 special request received, no persistency 19:27:57.794242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 50604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1056 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1056 ==136923== ==136923== Process terminating with default action of signal 4 (SIGILL) ==136923== Illegal opcode at address 0x492B75F ==136923== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136923== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136923== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136923== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136923== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136923== by 0x49908EB: curl_version_info (version.c:600) ==136923== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136923== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136923== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136923== by 0x4003269: main (tool_main.c:195) === End of file valgrind1056 test 1063 [Invalid large X- range on a file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1063 ../src/curl -q --output log/19/curl1063.out --include --trace-ascii log/19/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/19/test1063.txt > log/19/stdout1063 2> log/19/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/19/ directory after test 1063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1063 ../src/curl -q --output log/19/curl1063.out --include --trace-ascii log/19/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/19/test1063.txt > log/19/stdout1063 2> log/19/stderr1063 === End of file commands.log === Start of file server.cmd Testnum 1063 === End of file server.cmd === Start of file test1063.txt 1234567890 1234567890 === End of file test1063.txt === Start of file valgrind1063 ==136914== ==136914== Process terminating with default action of signal 4 (SIGILL) ==136914== Illegal opcode at address 0x492B75F ==136914== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136914== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136914== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136914== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136914== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136914== by 0x49908EB: curl_version_info (version.c:600) ==136914== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136914== by 0x4003269: main (tool_main.c:195) === End of file valgrind1063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1062 ../src/curl -q --output log/15/curl1062.out --include --trace-ascii log/15/trace1062 --trace-time ftp://127.0.0.1:44883/path/1062 > log/15/stdout1062 2> log/15/stderr1062 test 1065 [HTTP PUT with one file but two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1065 ../src/curl -q --include --trace-ascii log/2/trace1065 --trace-time -H "Expect:" -T log/2/1065 http://127.0.0.1:34531/1065.upload1 http://127.0.0.1:34531/10650002.url2 > log/2/stdout1065 2> log/2/stderr1065 1065: stdout FAILED: --- log/2/check-expected 2026-10-15 19:28:01.983950938 +0000 +++ log/2/check-generated 2026-10-15 19:28:01.980482784 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 3[CR][LF] -[CR][LF] -ok[LF] -HTTP/1.1 200 A OK[CR][LF] -Server: curl test[CR][LF] -Content-Type: text/html; charset=iso-8859-1[CR][LF] -Content-Length: 9[CR][LF] -[CR][LF] -still ok[LF] == Contents of files in the log/2/ directory after test 1065 === Start of file 1065 test === End of file 1065 === Start of file check-expected HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 3[CR][LF] [CR][LF] ok[LF] HTTP/1.1 200 A OK[CR][LF] Server: curl test[CR][LF] Content-Type: text/html; charset=iso-8859-1[CR][LF] Content-Length: 9[CR][LF] [CR][LF] still ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1065 ../src/curl -q --include --trace-ascii log/2/trace1065 --trace-time -H "Expect:" -T log/2/1065 http://127.0.0.1:34531/1065.upload1 http://127.0.0.1:34531/10650002.url2 > log/2/stdout1065 2> log/2/stderr1065 === End of file commands.log === Start of file http_server.log 19:28:00.141536 ====> Client connect 19:28:00.141573 accept_connection 3 returned 4 19:28:00.141665 Read 93 bytes 19:28:00.141677 Process 93 bytes request 19:28:00.141689 Got request: GET /verifiedserver HTTP/1.1 19:28:00.141698 Are-we-friendly question received 19:28:00.141727 Wrote request (93 bytes) input to log/2/server.input 19:28:00.141744 Identifying ourselves as friends 19:28:00.141800 Response sent (56 bytes) and written to log/2/server.response 19:28:00.141809 special request received, no persistency 19:28:00.141817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 46718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1065 ==137180== ==137180== Process terminating with default action of signal 4 (SIGILL) ==137180== Illegal opcode at address 0x492B75F ==137180== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137180== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137180== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137180== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137180== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137180== by 0x49908EB: curl_version_info (version.c:600) ==137180== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137180== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137180== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137180== by 0x4003269: main (tool_main.c:195) === End of file valgrind1065 test 1062 [FTP excessively long server command response lines, boundary condition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1062 ../src/curl -q --output log/15/curl1062.out --include --trace-ascii log/15/trace1062 --trace-time ftp://127.0.0.1:44883/path/1062 > log/15/stdout1062 2> log/15/stderr1062 1062: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1062 ../src/curl -q --output log/15/curl1062.out --include --trace-ascii log/15/trace1062 --trace-time ftp://127.0.0.1:44883/path/1062 > log/15/stdout1062 2> log/15/stderr1062 === End of file commands.log === Start of file ftp_server.log 19:27:59.217445 ====> Client connect 19:27:59.217673 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:27:59.218016 < "USER anonymous" 19:27:59.218064 > "331 We are happy you popped in![CR][LF]" 19:27:59.218287 < "PASS ftp@example.com" 19:27:59.218328 > "230 Welcome you silly person[CR][LF]" 19:27:59.218523 < "PWD" 19:27:59.218565 > "257 "/" is current directory[CR][LF]" 19:27:59.218781 < "EPSV" 19:27:59.218806 ====> Passive DATA channel requested by client 19:27:59.218821 DATA sockfilt for passive data channel starting... 19:27:59.221079 DATA sockfilt for passive data channel started (pid 136907) 19:27:59.221204 DATA sockfilt for passive data channel listens on port 37897 19:27:59.221258 > "229 Entering Passive Mode (|||37897|)[CR][LF]" 19:27:59.221283 Client has been notified that upcoming DATA connection is awaited on port 37897 19:27:59.221556 Client connects to port 37897 19:27:59.221588 ====> Client established passive DATA connection on port 37897 19:27:59.221669 < "TYPE I" 19:27:59.221705 > "200 I modify TYPE as you wanted[CR][LF]" 19:27:59.221881 < "SIZE verifiedserver" 19:27:59.221924 > "213 17[CR][LF]" 19:27:59.222111 < "RETR verifiedserver" 19:27:59.222149 > "150 Binary junk (17 bytes).[CR][LF]" 19:27:59.222249 =====> Closing passive DATA connection... 19:27:59.222273 Server disconnects passive DATA connection 19:27:59.222533 Server disconnected passive DATA connection 19:27:59.222568 DATA sockfilt for passive data channel quits (pid 136907) 19:27:59.222833 DATA sockfilt for passive data channel quit (pid 136907) 19:27:59.222863 =====> Closed passive DATA connection 19:27:59.222893 > "226 File transfer complete[CR][LF]" 19:27:59.271271 < "QUIT" 19:27:59.271340 > "221 bye bye baby[CR][LF]" 19:27:59.275489 MAIN sockfilt said DISC 19:27:59.275534 ====> Client disconnected 19:27:59.275629 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:27:58.821905 ====> Client connect 19:27:58.822288 Received DATA (on stdin) 19:27:58.822305 > 146 bytes data, server => client 19:27:58.822317 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:27:58.822327 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:27:58.822336 '220 \___|\___/|_| \_\_____|\r\n' 19:27:58.822432 < 16 bytes data, client => server 19:27:58.822449 'USER anonymous\r\n' 19:27:58.822664 Received DATA (on stdin) 19:27:58.822677 > 33 bytes data, server => client 19:27:58.822688 '331 We are happy you popped in!\r\n' 19:27:58.822754 < 22 bytes data, client => server 19:27:58.822772 'PASS ftp@example.com\r\n' 19:27:58.822925 Received DATA (on stdin) 19:27:58.822939 > 30 bytes data, server => client 19:27:58.822949 '230 Welcome you silly person\r\n' 19:27:58.823010 < 5 bytes data, client => server 19:27:58.823025 'PWD\r\n' 19:27:58.823161 Received DATA (on stdin) 19:27:58.823174 > 30 bytes data, server => client 19:27:58.823184 '257 "/" is current directory\r\n' 19:27:58.823275 < 6 bytes data, client => server 19:27:58.823291 'EPSV\r\n' 19:27:58.825885 Received DATA (on stdin) 19:27:58.825899 > 39 bytes data, server => client 19:27:58.825909 '229 Entering Passive Mode (|||37897|)\r\n' 19:27:58.826054 < 8 bytes data, client => server 19:27:58.826071 'TYPE I\r\n' 19:27:58.826299 Received DATA (on stdin) 19:27:58.826311 > 33 bytes data, server => client 19:27:58.826321 '200 I modify TYPE as you wanted\r\n' 19:27:58.826377 < 21 bytes data, client => server 19:27:58.826388 'SIZE verifiedserver\r\n' 19:27:58.826518 Received DATA (on stdin) 19:27:58.826530 > 8 bytes data, server => client 19:27:58.826540 '213 17\r\n' 19:27:58.826603 < 21 bytes data, client => server 19:27:58.826617 'RETR verifiedserver\r\n' 19:27:58.826868 Received DATA (on stdin) 19:27:58.826880 > 29 bytes data, server => client 19:27:58.826891 '150 Binary junk (17 bytes).\r\n' 19:27:58.827488 Received DATA (on stdin) 19:27:58.827501 > 28 bytes data, server => client 19:27:58.827512 '226 File transfer complete\r\n' 19:27:58.875639 < 6 bytes data, client => server 19:27:58.875676 'QUIT\r\n' 19:27:58.875937 Received DATA (on stdin) 19:27:58.875951 > 18 bytes data, server => client 19:27:58.875961 '221 bye bye baby\r\n' 19:27:58.880006 ====> Client disconnect 19:27:58.880215 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:27:59.825328 Running IPv4 version 19:27:59.825409 Listening on port 37897 19:27:59.825448 Wrote pid 136907 to log/15/server/ftp_sockdata.pid 19:27:59.825605 Received PING (on stdin) 19:27:59.825701 Received PORT (on stdin) 19:27:59.826096 ====> Client connect 19:27:59.826952 Received DATA (on stdin) 19:27:59.826967 > 17 bytes data, server => client 19:27:59.826977 'WE ROOLZ: 84744\r\n' 19:27:59.827006 Received DISC (on stdin) 19:27:59.827020 ====> Client forcibly disconnected 19:27:59.827168 Received QUIT (on stdin) 19:27:59.827179 quits 19:27:59.827245 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1066 ../src/curl -q --include --trace-ascii log/14/trace1066 --trace-time http://127.0.0.1:45467/want/1066 http://127.0.0.1:45467/want/10660001 --dump-header - > log/14/stdout1066 2> log/14/stderr1066 AAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-A Exactly fill curl's buffer\r\n250 Finally, here is the response, boundary condition Testnum 1062 === End of file server.cmd === Start of file valgrind1062 ==136942== ==136942== Process terminating with default action of signal 4 (SIGILL) ==136942== Illegal opcode at address 0x492B75F ==136942== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==136942== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==136942== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==136942== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==136942== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==136942== by 0x49908EB: curl_version_info (version.c:600) ==136942== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==136942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==136942== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==136942== by 0x4003269: main (tool_main.c:195) === End of file valgrind1062 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:38821/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 test 1066 [HTTP --dump-header - with two URLs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1066 ../src/curl -q --include --trace-ascii log/14/trace1066 --trace-time http://127.0.0.1:45467/want/1066 http://127.0.0.1:45467/want/10660001 --dump-header - > log/14/stdout1066 2> log/14/stderr1066 1066: stdout FAILED: --- log/14/check-expected 2026-10-15 19:28:02.039453789 +0000 +++ log/14/check-generated 2026-10-15 19:28:02.037153753 +0000 @@ -1,22 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 6[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -[CR][LF] -first[LF] -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Server: thebest/1.0[CR][LF] -Server: thebest/1.0[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Type: text/plain[CR][LF] -Content-Length: 7[CR][LF] -Content-Length: 7[CR][LF] -[CR][LF] -[CR][LF] -second[LF] == Contents of files in the log/14/ directory after test 1066 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 6[CR][LF] Content-Length: 6[CR][LF] [CR][LF] [CR][LF] first[LF] HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Server: thebest/1.0[CR][LF] Server: thebest/1.0[CR][LF] Content-Type: text/plain[CR][LF] Content-Type: text/plain[CR][LF] Content-Length: 7[CR][LF] Content-Length: 7[CR][LF] [CR][LF] [CR][LF] second[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1066 ../src/curl -q --include --trace-ascii log/14/trace1066 --trace-time http://127.0.0.1:45467/want/1066 http://127.0.0.1:45467/want/10660001 --dump-header - > log/14/stdout1066 2> log/14/stderr1066 === End of file commands.log === Start of file http_server.log 19:27:59.196790 ====> Client connect 19:27:59.196826 accept_connection 3 returned 4 19:27:59.197217 Read 93 bytes 19:27:59.197231 Process 93 bytes request 19:27:59.197244 Got request: GET /verifiedserver HTTP/1.1 19:27:59.197253 Are-we-friendly question received 19:27:59.197361 Wrote request (93 bytes) input to log/14/server.input 19:27:59.197377 Identifying ourselves as friends 19:27:59.197433 Response sent (56 bytes) and written to log/14/server.response 19:27:59.197441 special request received, no persistency 19:27:59.197449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 41658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1066 ==137207== ==137207== Process terminating with default action of signal 4 (SIGILL) ==137207== Illegal opcode at address 0x492B75F ==137207== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137207== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137207== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137207== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137207== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137207== by 0x49908EB: curl_version_info (version.c:600) ==137207== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137207== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137207== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137207== by 0x4003269: main (tool_main.c:195) === End of file valgrind1066 test 1070 [HTTP POST with server closing connection before (all) data is received] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:38821/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 1070: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1070 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1070 ../src/curl -q --output log/13/curl1070.out --include --trace-ascii log/13/trace1070 --trace-time -d @log/13/input1070 http://127.0.0.1:38821/1070 -H "Expect: 100-continue" > log/13/stdout1070 2> log/13/stderr1070 === End of file commands.log === Start of file http_server.log 19:27:59.646740 ====> Client connect 19:27:59.646789 accept_connection 3 returned 4 19:27:59.646814 Read 93 bytes 19:27:59.646824 Process 93 bytes request 19:27:59.646837 Got request: GET /verifiedserver HTTP/1.1 19:27:59.646845 Are-we-friendly question received 19:27:59.646874 Wrote request (93 bytes) input to log/13/server.input 19:27:59.646891 Identifying ourselves as friends 19:27:59.646965 Response sent (56 bytes) and written to log/13/server.response 19:27:59.646976 special request received, no persistency 19:27:59.646984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 58346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file input1070 This creates the named file with this content before the test case is run, which is useful if the test case needs a file to act on. We create this file rather large (larger than your typical TCP packet) so that not all of it can nor will be sent in one go as that is kind of the point of this test Here's 2000 x 'O': OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1073 ../src/curl -q --output log/12/curl1073.out --include --trace-ascii log/12/trace1073 --trace-time http://127.0.0.1:40921/1073 -T - -L log/12/stdout1073 2> log/12/stderr1073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1067 ../src/curl -q --output log/9/curl1067.out --include --trace-ascii log/9/trace1067 --trace-time http://127.0.0.1:43733/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/9/stdout1067 2> log/9/stderr1067 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO === End of file input1070 === Start of file server.cmd skip: 2300 Testnum 1070 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1070 ==137506== ==137506== Process terminating with default action of signal 4 (SIGILL) ==137506== Illegal opcode at address 0x492B75F ==137506== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137506== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137506== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137506== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137506== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137506== by 0x49908EB: curl_version_info (version.c:600) ==137506== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137506== by 0x4003269: main (tool_main.c:195) === End of file valgrind1070 test 1073 [HTTP chunked PUT to HTTP 1.0 server with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1073 ../src/curl -q --output log/12/curl1073.out --include --trace-ascii log/12/trace1073 --trace-time http://127.0.0.1:40921/1073 -T - -L log/12/stdout1073 2> log/12/stderr1073 1073: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1073 ../src/curl -q --output log/12/curl1073.out --include --trace-ascii log/12/trace1073 --trace-time http://127.0.0.1:40921/1073 -T - -L log/12/stdout1073 2> log/12/stderr1073 === End of file commands.log === Start of file http_server.log 19:28:00.082743 ====> Client connect 19:28:00.082785 accept_connection 3 returned 4 19:28:00.082809 Read 93 bytes 19:28:00.082820 Process 93 bytes request 19:28:00.082834 Got request: GET /verifiedserver HTTP/1.1 19:28:00.082843 Are-we-friendly question received 19:28:00.082875 Wrote request (93 bytes) input to log/12/server.input 19:28:00.082895 Identifying ourselves as friends 19:28:00.082970 Response sent (56 bytes) and written to log/12/server.response 19:28:00.082983 special request received, no persistency 19:28:00.082992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 56146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file stdin-for-1073 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1073 === Start of file valgrind1073 ==137684== ==137684== Process terminating with default action of signal 4 (SIGILL) ==137684== Illegal opcode at address 0x492B75F ==137684== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137684== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137684== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137684== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137684== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137684== by 0x49908EB: curl_version_info (version.c:600) ==137684== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137684== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137684== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137684== by 0x4003269: main (tool_main.c:195) === End of file valgrind1073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1071 ../src/curl -q --output log/18/curl1071.out --include --trace-ascii log/18/trace1071 --trace-time http://127.0.0.1:43739/1071 -T log/18/put1071 -u testuser:testpass --anyauth > log/18/stdout1071 2> log/18/stderr1071 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1068 ../src/curl -q --output log/6/curl1068.out --include --trace-ascii log/6/trace1068 --trace-time http://127.0.0.1:33935/bzz/1068 -T - log/6/stdout1068 2> log/6/stderr1068 test 1067 [HTTP Location: following with auto-referer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1067 ../src/curl -q --output log/9/curl1067.out --include --trace-ascii log/9/trace1067 --trace-time http://127.0.0.1:43733/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/9/stdout1067 2> log/9/stderr1067 1067: stderr FAILED: --- log/9/check-expected 2026-10-15 19:28:02.441030566 +0000 +++ log/9/check-generated 2026-10-15 19:28:02.437183887 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:43733/want/1067| == Contents of files in the log/9/ directory after test 1067 === Start of file check-expected |http://127.0.0.1:43733/want/1067| === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1067 ../src/curl -q --output log/9/curl1067.out --include --trace-ascii log/9/trace1067 --trace-time http://127.0.0.1:43733/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/9/stdout1067 2> log/9/stderr1067 === End of file commands.log === Start of file http_server.log 19:27:59.373290 ====> Client connect 19:27:59.373334 accept_connection 3 returned 4 19:27:59.373355 Read 93 bytes 19:27:59.373364 Process 93 bytes request 19:27:59.373377 Got request: GET /verifiedserver HTTP/1.1 19:27:59.373385 Are-we-friendly question received 19:27:59.373410 Wrote request (93 bytes) input to log/9/server.input 19:27:59.373425 Identifying ourselves as friends 19:27:59.373488 Response sent (56 bytes) and written to log/9/server.response 19:27:59.373497 special request received, no persistency 19:27:59.373505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 37432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1067 ==137345== ==137345== Process terminating with default action of signal 4 (SIGILL) ==137345== Illegal opcode at address 0x492B75F ==137345== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137345== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137345== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137345== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137345== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137345== by 0x49908EB: curl_version_info (version.c:600) ==137345== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137345== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137345== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137345== by 0x4003269: main (tool_main.c:195) === End of file valgrind1067 test 1071 [Downgraded HTTP PUT to HTTP 1.0 with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1071 ../src/curl -q --output log/18/curl1071.out --include --trace-ascii log/18/trace1071 --trace-time http://127.0.0.1:43739/1071 -T log/18/put1071 -u testuser:testpass --anyauth > log/18/stdout1071 2> log/18/stderr1071 1071: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1071 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1071 ../src/curl -q --output log/18/curl1071.out --include --trace-ascii log/18/trace1071 --trace-time http://127.0.0.1:43739/1071 -T log/18/put1071 -u testuser:testpass --anyauth > log/18/stdout1071 2> log/18/stderr1071 === End of file commands.log === Start of file http_server.log 19:28:00.966298 ====> Client connect 19:28:00.966335 accept_connection 3 returned 4 19:28:00.966505 Read 93 bytes 19:28:00.966520 Process 93 bytes request 19:28:00.966533 Got request: GET /verifiedserver HTTP/1.1 19:28:00.966542 Are-we-friendly question received 19:28:00.966574 Wrote request (93 bytes) input to log/18/server.input 19:28:00.966591 Identifying ourselves as friends 19:28:00.966647 Response sent (56 bytes) and written to log/18/server.response 19:28:00.966656 special request received, no persistency 19:28:00.966663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 51724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file put1071 This is data we upload with PUT a second line line three four is the number of lines === End of file put1071 === Start of file server.cmd Testnum 1071 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1071 ==137633== ==137633== Process terminating with default action of signal 4 (SIGILL) ==137633== Illegal opcode at address 0x492B75F ==137633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137633== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137633== by 0x49908EB: curl_version_info (version.c:600) ==137633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137633== by 0x4003269: main (tool_main.c:195) === End of file valgrind1071 test 1068 [HTTP PUT from stdin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1068 ../src/curl -q --output log/6/curl1068.out --include --trace-ascii log/6/trace1068 --trace-time http://127.0.0.1:33935/bzz/1068 -T - log/6/stdout1068 2> log/6/stderr1068 1068: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1068 ../src/curl -q --output log/6/curl1068.out --include --trace-ascii log/6/trace1068 --trace-time http://127.0.0.1:33935/bzz/1068 -T - log/6/stdout1068 2> log/6/stderr1068 === End of file commands.log === Start of file http_server.log 19:27:59.522761 ====> Client connect 19:27:59.522798 accept_connection 3 returned 4 19:27:59.5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1069 ../src/curl -q --output log/1/curl1069.out --include --trace-ascii log/1/trace1069 --trace-time http://127.0.0.1:38815/bzz/1069 -T - -0 log/1/stdout1069 2> log/1/stderr1069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1072 ../src/curl -q --output log/23/curl1072.out --include --trace-ascii log/23/trace1072 --trace-time http://127.0.0.1:44711/1072 -T - -u testuser:testpass --anyauth log/23/stdout1072 2> log/23/stderr1072 22941 Read 93 bytes 19:27:59.522955 Process 93 bytes request 19:27:59.522969 Got request: GET /verifiedserver HTTP/1.1 19:27:59.522976 Are-we-friendly question received 19:27:59.523008 Wrote request (93 bytes) input to log/6/server.input 19:27:59.523024 Identifying ourselves as friends 19:27:59.523083 Response sent (56 bytes) and written to log/6/server.response 19:27:59.523091 special request received, no persistency 19:27:59.523099 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 51430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file stdin-for-1068 more than one byte === End of file stdin-for-1068 === Start of file valgrind1068 ==137430== ==137430== Process terminating with default action of signal 4 (SIGILL) ==137430== Illegal opcode at address 0x492B75F ==137430== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137430== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137430== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137430== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137430== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137430== by 0x49908EB: curl_version_info (version.c:600) ==137430== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137430== by 0x4003269: main (tool_main.c:195) === End of file valgrind1068 test 1069 [HTTP 1.0 PUT from stdin with no content length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1069 ../src/curl -q --output log/1/curl1069.out --include --trace-ascii log/1/trace1069 --trace-time http://127.0.0.1:38815/bzz/1069 -T - -0 log/1/stdout1069 2> log/1/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/1/ directory after test 1069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1069 ../src/curl -q --output log/1/curl1069.out --include --trace-ascii log/1/trace1069 --trace-time http://127.0.0.1:38815/bzz/1069 -T - -0 log/1/stdout1069 2> log/1/stderr1069 === End of file commands.log === Start of file http_server.log 19:28:00.515599 ====> Client connect 19:28:00.515647 accept_connection 3 returned 4 19:28:00.515675 Read 93 bytes 19:28:00.515687 Process 93 bytes request 19:28:00.515701 Got request: GET /verifiedserver HTTP/1.1 19:28:00.515710 Are-we-friendly question received 19:28:00.515745 Wrote request (93 bytes) input to log/1/server.input 19:28:00.515766 Identifying ourselves as friends 19:28:00.515847 Response sent (56 bytes) and written to log/1/server.response 19:28:00.515860 special request received, no persistency 19:28:00.515869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 46104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file stdin-for-1069 this data cannot be sent === End of file stdin-for-1069 === Start of file valgrind1069 ==137408== ==137408== Process terminating with default action of signal 4 (SIGILL) ==137408== Illegal opcode at address 0x492B75F ==137408== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137408== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137408== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137408== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137408== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137408== by 0x49908EB: curl_version_info (version.c:600) ==137408== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137408== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137408== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137408== by 0x4003269: main (tool_main.c:195) === End of file valgrind1069 test 1072 [HTTP chunked PUT to HTTP 1.0 server with authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1072 ../src/curl -q --output log/23/curl1072.out --include --trace-ascii log/23/trace1072 --trace-time http://127.0.0.1:44711/1072 -T - -u testuser:testpass --anyauth log/23/stdout1072 2> log/23/stderr1072 1072: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1072 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1072 ../src/curl -q --output log/23/curl1072.out --include --trace-ascii log/23/trace1072 --trace-time http://127.0.0.1:44711/1072 -T - -u testuser:testpass --anyauth log/23/stdout1072 2> log/23/stderr1072 === End of file commands.log === Start of file http_server.log 19:28:00.051514 ====> Client connect 19:28:00.051559 accept_connection 3 returned 4 19:28:00.051586 Read 93 bytes 19:28:00.051597 Process 93 bytes request 19:28:00.051611 Got request: GET /verifiedserver HTTP/1.1 19:28:00.051620 Are-we-friendly question received 19:28:00.051650 Wrote request (93 bytes) input to log/23/server.input 19:28:00.051669 Identifying ourselves as friends 19:28:00.051770 Response sent (56 bytes) and written to log/23/server.response 19:28:00.051783 special request received, no persistency 19:28:00.051793 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 60920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1072 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file stdin-for-1072 This is data we upload with PUT it comes from stdin so MUST be sent with chunked encoding which is impossible in HTTP/1.0 === End of file stdin-for-1072 === Start of file valgrind1072 ==137670== ==137670CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1077 ../src/curl -q --output log/24/curl1077.out --include --trace-ascii log/24/trace1077 --trace-time -x 127.0.0.1:38895 ftp://127.0.0.1:38895/we/want/that/page/1077 ftp://127.0.0.1:38895/we/want/that/page/10770002 > log/24/stdout1077 2> log/24/stderr1077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1074 ../src/curl -q --include --trace-ascii log/20/trace1074 --trace-time http://127.0.0.1:33897/want/1074 http://127.0.0.1:33897/wantmore/10740001 > log/20/stdout1074 2> log/20/stderr1074 == Process terminating with default action of signal 4 (SIGILL) ==137670== Illegal opcode at address 0x492B75F ==137670== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137670== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137670== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137670== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137670== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137670== by 0x49908EB: curl_version_info (version.c:600) ==137670== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137670== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137670== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137670== by 0x4003269: main (tool_main.c:195) === End of file valgrind1072 test 1077 [FTP over HTTP proxy with downgrade to HTTP 1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1077 ../src/curl -q --output log/24/curl1077.out --include --trace-ascii log/24/trace1077 --trace-time -x 127.0.0.1:38895 ftp://127.0.0.1:38895/we/want/that/page/1077 ftp://127.0.0.1:38895/we/want/that/page/10770002 > log/24/stdout1077 2> log/24/stderr1077 1077: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1077 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1077 ../src/curl -q --output log/24/curl1077.out --include --trace-ascii log/24/trace1077 --trace-time -x 127.0.0.1:38895 ftp://127.0.0.1:38895/we/want/that/page/1077 ftp://127.0.0.1:38895/we/want/that/page/10770002 > log/24/stdout1077 2> log/24/stderr1077 === End of file commands.log === Start of file http_server.log 19:28:00.576512 ====> Client connect 19:28:00.576560 accept_connection 3 returned 4 19:28:00.576590 Read 93 bytes 19:28:00.576601 Process 93 bytes request 19:28:00.576615 Got request: GET /verifiedserver HTTP/1.1 19:28:00.576625 Are-we-friendly question received 19:28:00.576655 Wrote request (93 bytes) input to log/24/server.input 19:28:00.576675 Identifying ourselves as friends 19:28:00.576768 Response sent (56 bytes) and written to log/24/server.response 19:28:00.576781 special request received, no persistency 19:28:00.576790 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 59436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1077 ==137983== ==137983== Process terminating with default action of signal 4 (SIGILL) ==137983== Illegal opcode at address 0x492B75F ==137983== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137983== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137983== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137983== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137983== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137983== by 0x49908EB: curl_version_info (version.c:600) ==137983== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137983== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137983== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137983== by 0x4003269: main (tool_main.c:195) === End of file valgrind1077 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1079 ../src/curl -q --output log/10/curl1079.out --include --trace-ascii log/10/trace1079 --trace-time http://127.0.0.1:40913/1079 -u testuser:testpass --digest > log/10/stdout1079 2> log/10/stderr1079 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1076 ../src/curl -q --output log/17/curl1076.out --include --trace-ascii log/17/trace1076 --trace-time http://127.0.0.1:35993/blah/1076 -L -d "moo" --post302 > log/17/stdout1076 2> log/17/stderr1076 test 1074 [HTTP downgrade to HTTP/1.0 on second request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1074 ../src/curl -q --include --trace-ascii log/20/trace1074 --trace-time http://127.0.0.1:33897/want/1074 http://127.0.0.1:33897/wantmore/10740001 > log/20/stdout1074 2> log/20/stderr1074 1074: stdout FAILED: --- log/20/check-expected 2026-10-15 19:28:03.309254479 +0000 +++ log/20/check-generated 2026-10-15 19:28:03.307248951 +0000 @@ -1,11 +0,0 @@ -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 9[CR][LF] -Connection: Keep-Alive[CR][LF] -[CR][LF] -surprise[LF] -HTTP/1.0 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Connection: close[CR][LF] -[CR][LF] -surprise2[LF] == Contents of files in the log/20/ directory after test 1074 === Start of file check-expected HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 9[CR][LF] Connection: Keep-Alive[CR][LF] [CR][LF] surprise[LF] HTTP/1.0 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Connection: close[CR][LF] [CR][LF] surprise2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1074 ../src/curl -q --include --trace-ascii log/20/trace1074 --trace-time http://127.0.0.1:33897/want/1074 http://127.0.0.1:33897/wantmore/10740001 > log/20/stdout1074 2> log/20/stderr1074 === End of file commands.log === Start of file http_server.log 19:28:00.416523 ====> Client connect 19:28:00.416563 accept_connection 3 returned 4 19:28:00.416588 Read 93 bytes 19:28:00.416597 Process 93 bytes request 19:28:00.416612 Got request: GET /verifiedserver HTTP/1.1 19:28:00.416620 Are-we-friendly question received 19:28:00.416650 Wrote request (93 bytes) input to log/20/server.input 19:28:00.416665 Identifying ourselves as friends 19:28:00.416737 Response sent (56 bytes) and written to log/20/server.response 19:28:00.416746 special request received, no persistency 19:28:00.416755 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 54688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1074 ==137865== ==137865== Process terminating with default action of signal 4 (SIGILL) ==137865== Illegal opcode at address 0x492B75F ==137865== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137865== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137865== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137865== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137865== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137865== by 0x49908EB: curl_version_info (version.c:600) ==137865== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137865== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137865== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137865== by 0x4003269: main (tool_main.c:195) === End of file valgrind1074 test 1079 [HTTP retry after closed connection and empty response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1079 ../src/curl -q --output log/10/curl1079.out --include --trace-ascii log/10/trace1079 --trace-time http://127.0.0.1:40913/1079 -u testuser:testpass --digest > log/10/stdout1079 2> log/10/stderr1079 1079: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1079 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1079 ../src/curl -q --output log/10/curl1079.out --include --trace-ascii log/10/trace1079 --trace-time http://127.0.0.1:40913/1079 -u testuser:testpass --digest > log/10/stdout1079 2> log/10/stderr1079 === End of file commands.log === Start of file http_server.log 19:28:00.776524 ====> Client connect 19:28:00.776566 accept_connection 3 returned 4 19:28:00.776588 Read 93 bytes 19:28:00.776598 Process 93 bytes request 19:28:00.776611 Got request: GET /verifiedserver HTTP/1.1 19:28:00.776619 Are-we-friendly question received 19:28:00.776648 Wrote request (93 bytes) input to log/10/server.input 19:28:00.776664 Identifying ourselves as friends 19:28:00.776816 Response sent (56 bytes) and written to log/10/server.response 19:28:00.776836 special request received, no persistency 19:28:00.776847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 42166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1079 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1079 ==138129== ==138129== Process terminating with default action of signal 4 (SIGILL) ==138129== Illegal opcode at address 0x492B75F ==138129== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138129== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138129== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138129== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138129== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138129== by 0x49908EB: curl_version_info (version.c:600) ==138129== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138129== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138129== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138129== by 0x4003269: main (tool_main.c:195) === End of file valgrind1079 test 1076 [HTTP POST with 302 redirect and --post302] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1076 ../src/curl -q --output log/17/curl1076.out --include --trace-ascii log/17/trace1076 --trace-time http://127.0.0.1:35993/blah/1076 -L -d "moo" --post302 > log/17/stdout1076 2> log/17/stderr1076 1076: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1076 ../src/curl -q --output log/17/curl1076.out --include --trace-ascii log/17/trace1076 --trace-time http://127.0.0.1:35993/blah/1076 -L -d "CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1082 ../src/curl -q --output log/16/curl1082.out --include --trace-ascii log/16/trace1082 --trace-time http://127.0.0.1:35903/1082 -4 --interface 127.0.0.1 > log/16/stdout1082 2> log/16/stderr1082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1075 ../src/curl -q --output log/4/curl1075.out --include --trace-ascii log/4/trace1075 --trace-time http://127.0.0.1:35735/1075 -T log/4/put1075 -u testuser:testpass --anyauth > log/4/stdout1075 2> log/4/stderr1075 moo" --post302 > log/17/stdout1076 2> log/17/stderr1076 === End of file commands.log === Start of file http_server.log 19:28:01.460392 ====> Client connect 19:28:01.460429 accept_connection 3 returned 4 19:28:01.460449 Read 93 bytes 19:28:01.460459 Process 93 bytes request 19:28:01.460470 Got request: GET /verifiedserver HTTP/1.1 19:28:01.460479 Are-we-friendly question received 19:28:01.460505 Wrote request (93 bytes) input to log/17/server.input 19:28:01.460521 Identifying ourselves as friends 19:28:01.460582 Response sent (56 bytes) and written to log/17/server.response 19:28:01.460592 special request received, no persistency 19:28:01.460600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 43338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1076 ==137875== ==137875== Process terminating with default action of signal 4 (SIGILL) ==137875== Illegal opcode at address 0x492B75F ==137875== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137875== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137875== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137875== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137875== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137875== by 0x49908EB: curl_version_info (version.c:600) ==137875== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137875== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137875== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137875== by 0x4003269: main (tool_main.c:195) === End of file valgrind1076 prechecked /usr/bin/perl -e "print 'Test requires default test client host address' if('127.0.0.1' ne '127.0.0.1');" test 1082 [HTTP GET with localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1082 ../src/curl -q --output log/16/curl1082.out --include --trace-ascii log/16/trace1082 --trace-time http://127.0.0.1:35903/1082 -4 --interface 127.0.0.1 > log/16/stdout1082 2> log/16/stderr1082 1082: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1082 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1082 ../src/curl -q --output log/16/curl1082.out --include --trace-ascii log/16/trace1082 --trace-time http://127.0.0.1:35903/1082 -4 --interface 127.0.0.1 > log/16/stdout1082 2> log/16/stderr1082 === End of file commands.log === Start of file http_server.log 19:28:01.933657 ====> Client connect 19:28:01.933695 accept_connection 3 returned 4 19:28:01.933716 Read 93 bytes 19:28:01.933725 Process 93 bytes request 19:28:01.933737 Got request: GET /verifiedserver HTTP/1.1 19:28:01.933745 Are-we-friendly question received 19:28:01.933772 Wrote request (93 bytes) input to log/16/server.input 19:28:01.933787 Identifying ourselves as friends 19:28:01.933851 Response sent (56 bytes) and written to log/16/server.response 19:28:01.933860 special request received, no persistency 19:28:01.933868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 49696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1082 ==138206== ==138206== Process terminating with default action of signal 4 (SIGILL) ==138206== Illegal opcode at address 0x492B75F ==138206== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138206== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138206== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138206== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138206== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138206== by 0x49908EB: curl_version_info (version.c:600) ==138206== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138206== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138206== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138206== by 0x4003269: main (tool_main.c:195) === End of file valgrind1082 test 1075 [HTTP PUT with --anyauth authorization (picking Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1075 ../src/curl -q --output log/4/curl1075.out --include --trace-ascii log/4/trace1075 --trace-time http://127.0.0.1:35735/1075 -T log/4/put1075 -u testuser:testpass --anyauth > log/4/stdout1075 2> log/4/stderr1075 1075: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1075 ../src/curl -q --output log/4/curl1075.out --include --trace-ascii log/4/trace1075 --trace-time http://127.0.0.1:35735/1075 -T log/4/put1075 -u testuser:testpass --anyauth > log/4/stdout1075 2> log/4/stderr1075 === End of file commands.log === Start of file http_server.log 19:28:01.427183 ====> Client connect 19:28:01.427236 accept_connection 3 returned 4 19:28:01.427263 Read 93 bytes 19:28:01.427273 Process 93 bytes request 19:28:01.427286 Got request: GET /verifiedserver HTTP/1.1 19:28:01.427295 Are-we-friendly question received 19:28:01.427325 Wrote request (93 bytes) input to log/4/server.input 19:28:01.427341 Identifying ourselves as friends 19:28:01.427433 Response sent (56 bytes) and written to log/4/server.response 19:28:01.427446 special request received, no persistency 19:28:01.427455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 33688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file put1075 This is data we upload with PUT a second line line three four is the number of lines === End of file put1075 === Start of file server.cmd Testnum 1075 === End of file server.cmd === Start of file server.response HCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1080 ../src/curl -q --include --trace-ascii log/5/trace1080 --trace-time http://127.0.0.1:37089/we/want/our/1080 http://127.0.0.1:37089/we/want/our/1080 -w '%{redirect_url}\n' > log/5/stdout1080 2> log/5/stderr1080 TTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1075 ==137866== ==137866== Process terminating with default action of signal 4 (SIGILL) ==137866== Illegal opcode at address 0x492B75F ==137866== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==137866== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==137866== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==137866== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==137866== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==137866== by 0x49908EB: curl_version_info (version.c:600) ==137866== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==137866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==137866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==137866== by 0x4003269: main (tool_main.c:195) === End of file valgrind1075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1078 ../src/curl -q --include --trace-ascii log/21/trace1078 --trace-time --proxy1.0 127.0.0.1:44633 -p http://127.0.0.1:39881/we/want/that/page/1078 http://127.0.0.1:39881/we/want/that/page/1078 > log/21/stdout1078 2> log/21/stderr1078 test 1080 [HTTP Location: on two URLs 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1080 ../src/curl -q --include --trace-ascii log/5/trace1080 --trace-time http://127.0.0.1:37089/we/want/our/1080 http://127.0.0.1:37089/we/want/our/1080 -w '%{redirect_url}\n' > log/5/stdout1080 2> log/5/stderr1080 1080: stdout FAILED: --- log/5/check-expected 2026-10-15 19:28:03.719371677 +0000 +++ log/5/check-generated 2026-10-15 19:28:03.717279196 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:37089/we/want/our/data/10800002.txt?coolsite=yes[LF] -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10800002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:37089/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/5/ directory after test 1080 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:37089/we/want/our/data/10800002.txt?coolsite=yes[LF] HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10800002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:37089/we/want/our/data/10800002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1080 ../src/curl -q --include --trace-ascii log/5/trace1080 --trace-time http://127.0.0.1:37089/we/want/our/1080 http://127.0.0.1:37089/we/want/our/1080 -w '%{redirect_url}\n' > log/5/stdout1080 2> log/5/stderr1080 === End of file commands.log === Start of file http_server.log 19:28:00.918734 ====> Client connect 19:28:00.918772 accept_connection 3 returned 4 19:28:00.918795 Read 93 bytes 19:28:00.918805 Process 93 bytes request 19:28:00.918816 Got request: GET /verifiedserver HTTP/1.1 19:28:00.918825 Are-we-friendly question received 19:28:00.918853 Wrote request (93 bytes) input to log/5/server.input 19:28:00.918870 Identifying ourselves as friends 19:28:00.918933 Response sent (56 bytes) and written to log/5/server.response 19:28:00.918943 special request received, no persistency 19:28:00.918952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 39948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1080 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1080 ==138240== ==138240== Process terminating with default action of signal 4 (SIGILL) ==138240== Illegal opcode at address 0x492B75F ==138240== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138240== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138240== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138240== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138240== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138240== by 0x49908EB: curl_version_info (version.c:600) ==138240== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138240== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138240== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138240== by 0x4003269: main (tool_main.c:195) === End of file valgrind1080 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1085 ../src/curl -q --output log/22/curl1085.out --include --trace-ascii log/22/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/22/stdout1085 2> log/22/stderr1085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:40859/we/want/our/1081 http://127.0.0.1:40859/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/21/server/http2_server.pid" --logfile "log/21/http2_server.log" --logdir "log/21" --portfile log/21/server/http2_server.port --config log/21/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 137984 port 44633 * pid http-proxy => 137984 137984 test 1078 [HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1078 ../src/curl -q --include --trace-ascii log/21/trace1078 --trace-time --proxy1.0 127.0.0.1:44633 -p http://127.0.0.1:39881/we/want/that/page/1078 http://127.0.0.1:39881/we/want/that/page/1078 > log/21/stdout1078 2> log/21/stderr1078 1078: stdout FAILED: --- log/21/check-expected 2026-10-15 19:28:03.940570508 +0000 +++ log/21/check-generated 2026-10-15 19:28:03.937295426 +0000 @@ -1,21 +0,0 @@ -HTTP/1.1 200 Mighty fine indeed[CR][LF] -Server: test tunnel 2000[CR][LF] -[CR][LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] -HTTP/1.0 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -contents[LF] == Contents of files in the log/21/ directory after test 1078 === Start of file check-expected HTTP/1.1 200 Mighty fine indeed[CR][LF] Server: test tunnel 2000[CR][LF] [CR][LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] HTTP/1.0 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] contents[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1078 ../src/curl -q --include --trace-ascii log/21/trace1078 --trace-time --proxy1.0 127.0.0.1:44633 -p http://127.0.0.1:39881/we/want/that/page/1078 http://127.0.0.1:39881/we/want/that/page/1078 > log/21/stdout1078 2> log/21/stderr1078 === End of file commands.log === Start of file http2_server.log 19:28:01.669345 Run as proxy, CONNECT to host 127.0.0.1 19:28:01.669482 Running HTTP IPv4 version on port 44633 19:28:01.669528 Wrote pid 137984 to log/21/server/http2_server.pid 19:28:01.669559 Wrote port 44633 to log/21/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:00.596539 ====> Client connect 19:28:00.596583 accept_connection 3 returned 4 19:28:00.606461 Read 93 bytes 19:28:00.606490 Process 93 bytes request 19:28:00.606505 Got request: GET /verifiedserver HTTP/1.1 19:28:00.606512 Are-we-friendly question received 19:28:00.606551 Wrote request (93 bytes) input to log/21/server.input 19:28:00.606571 Identifying ourselves as friends 19:28:00.606654 Response sent (56 bytes) and written to log/21/server.response 19:28:00.606666 special request received, no persistency 19:28:00.606676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 46572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1078 ==138653== ==138653== Process terminating with default action of signal 4 (SIGILL) ==138653== Illegal opcode at address 0x492B75F ==138653== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138653== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138653== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138653== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138653== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138653== by 0x49908EB: curl_version_info (version.c:600) ==138653== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138653== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138653== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138653== by 0x4003269: main (tool_main.c:195) === End of file valgrind1078 prechecked ./server/servers resolve --ipv6 ::1 test 1085 [HTTP-IPv6 GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1085 ../src/curl -q --output log/22/curl1085.out --include --trace-ascii log/22/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/22/stdout1085 2> log/22/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/22/ directory after test 1085 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1085 ../src/curl -q --output log/22/curl1085.out --include --trace-ascii log/22/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/22/stdout1085 2> log/22/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==138442== ==138442== Process terminating with default action of signal 4 (SIGILL) ==138442== Illegal opcode at address 0x492B75F ==138442== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138442== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138442== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138442== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138442== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138442== by 0x49908EB: curl_version_info (version.c:600) ==138442== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138442== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138442== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138442== by 0x4003269: main (tool_main.c:195) === End of file valgrind1085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1084 ../src/curl -q --output log/3/curl1084.out --include --trace-ascii log/3/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/3/stdout1084 2> log/3/stderr1084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1086 ../src/curl -q --output log/11/curl1086.out --include --trace-ascii log/11/trace1086 --trace-time ftp://127.0.0.1:37735/1086 -m 5 > log/11/stdout1086 2> log/11/stderr1086 * kill pid for ftp-ctrl => 84852 RUN: Process with pid 84823 signalled to die RUN: Process with pid 84823 gracefully died test 1081 [HTTP no Location: on second URL 'redirect_url' check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:40859/we/want/our/1081 http://127.0.0.1:40859/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 1081: stdout FAILED: --- log/7/check-expected 2026-10-15 19:28:04.021811622 +0000 +++ log/7/check-generated 2026-10-15 19:28:04.021392045 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10810099.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -http://127.0.0.1:40859/we/want/our/data/10810099.txt?coolsite=yes[LF] -HTTP/1.1 200 Followed here fine swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Length: 41[CR][LF] -[CR][LF] -This second URL does not have a location[LF] -[LF] == Contents of files in the log/7/ directory after test 1081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10810099.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] http://127.0.0.1:40859/we/want/our/data/10810099.txt?coolsite=yes[LF] HTTP/1.1 200 Followed here fine swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Length: 41[CR][LF] [CR][LF] This second URL does not have a location[LF] [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1081 ../src/curl -q --include --trace-ascii log/7/trace1081 --trace-time http://127.0.0.1:40859/we/want/our/1081 http://127.0.0.1:40859/we/want/our/10810002 -w '%{redirect_url}\n' > log/7/stdout1081 2> log/7/stderr1081 === End of file commands.log === Start of file http_server.log 19:28:00.901252 ====> Client connect 19:28:00.901287 accept_connection 3 returned 4 19:28:00.901308 Read 93 bytes 19:28:00.901317 Process 93 bytes request 19:28:00.901329 Got request: GET /verifiedserver HTTP/1.1 19:28:00.901337 Are-we-friendly question received 19:28:00.901360 Wrote request (93 bytes) input to log/7/server.input 19:28:00.901375 Identifying ourselves as friends 19:28:00.901437 Response sent (56 bytes) and written to log/7/server.response 19:28:00.901445 special request received, no persistency 19:28:00.901452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 58126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1081 ==138235== ==138235== Process terminating with default action of signal 4 (SIGILL) ==138235== Illegal opcode at address 0x492B75F ==138235== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138235== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138235== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138235== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138235== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138235== by 0x49908EB: curl_version_info (version.c:600) ==138235== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138235== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138235== by 0x4003269: main (tool_main.c:195) === End of file valgrind1081 test 1084 [HTTP GET with invalid --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1084 ../src/curl -q --output log/3/curl1084.out --include --trace-ascii log/3/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/3/stdout1084 2> log/3/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/3/ directory after test 1084 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1084 ../src/curl -q --output log/3/curl1084.out --include --trace-ascii log/3/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/3/stdout1084 2> log/3/stderr1084 === End of file commands.log === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==138375== ==138375== Process terminating with default action of signal 4 (SIGILL) ==138375== Illegal opcode at address 0x492B75F ==138375== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138375== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138375== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138375== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138375== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138375== by 0x49908EB: curl_version_info (version.c:600) ==138375== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138375== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138375== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138375== by 0x4003269: main (tool_main.c:195) === End of file valgrind1084 test 1086 [FTP download with strict timeout and slow data transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1086 ../src/curl -q --output log/11/curl1086.out --include --trace-ascii log/11/trace1086 --trace-time ftp://127.0.0.1:37735/1086 -m 5 > log/11/stdout1086 2> log/11/stderr1086 1086: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1086 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1086 ../src/curl -q --output log/11/curl1086.out --include --trace-ascii log/11/trace1086 --trace-time ftp://127.0.0.1:37735/1086 -m 5 > log/11/stdout1086 2> log/11/stderr1086 === End of file commands.log === Start of file ftp_server.log 19:28:01.788709 ====> Client connect 19:28:01.788992 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:01.789331 < "USER anonymous" 19:28:01.789367 > "331 We are happy you popped in![CR][LF]" 19:28:01.789530 < "PASS ftp@example.com" 19:28:01.789554 > "230 Welcome you silly person[CR][LF]" 19:28:01.789697 < "PWD" 19:28:01.789727 > "257 "/" is current directory[CR][LF]" 19:28:01.789882 < "EPSV" 19:28:01.789905 ====> Passive DATA channel requested by client 19:28:01.789918 DATA sockfilt for passive data channel starting... 19:28:01.796674 DATA sockfilt for passive data channel started (pid 138492CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1089 ../src/curl -q --include --trace-ascii log/15/trace1089 --trace-time http://127.0.0.1:40321/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/15/stdout1089 2> log/15/stderr1089 ) 19:28:01.796802 DATA sockfilt for passive data channel listens on port 33087 19:28:01.796845 > "229 Entering Passive Mode (|||33087|)[CR][LF]" 19:28:01.796863 Client has been notified that upcoming DATA connection is awaited on port 33087 19:28:01.797135 Client connects to port 33087 19:28:01.797162 ====> Client established passive DATA connection on port 33087 19:28:01.797243 < "TYPE I" 19:28:01.797271 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:01.797403 < "SIZE verifiedserver" 19:28:01.797435 > "213 17[CR][LF]" 19:28:01.797562 < "RETR verifiedserver" 19:28:01.797591 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:01.797676 =====> Closing passive DATA connection... 19:28:01.797691 Server disconnects passive DATA connection 19:28:01.797890 Server disconnected passive DATA connection 19:28:01.797913 DATA sockfilt for passive data channel quits (pid 138492) 19:28:01.798096 DATA sockfilt for passive data channel quit (pid 138492) 19:28:01.798114 =====> Closed passive DATA connection 19:28:01.798135 > "226 File transfer complete[CR][LF]" 19:28:01.842365 < "QUIT" 19:28:01.842422 > "221 bye bye baby[CR][LF]" 19:28:01.843655 MAIN sockfilt said DISC 19:28:01.843691 ====> Client disconnected 19:28:01.843782 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:01.383097 ====> Client connect 19:28:01.393401 Received DATA (on stdin) 19:28:01.393426 > 146 bytes data, server => client 19:28:01.393437 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:01.393448 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:01.393456 '220 \___|\___/|_| \_\_____|\r\n' 19:28:01.393572 < 16 bytes data, client => server 19:28:01.393583 'USER anonymous\r\n' 19:28:01.393756 Received DATA (on stdin) 19:28:01.393767 > 33 bytes data, server => client 19:28:01.393777 '331 We are happy you popped in!\r\n' 19:28:01.393831 < 22 bytes data, client => server 19:28:01.393841 'PASS ftp@example.com\r\n' 19:28:01.393939 Received DATA (on stdin) 19:28:01.393949 > 30 bytes data, server => client 19:28:01.393958 '230 Welcome you silly person\r\n' 19:28:01.394006 < 5 bytes data, client => server 19:28:01.394015 'PWD\r\n' 19:28:01.394112 Received DATA (on stdin) 19:28:01.394122 > 30 bytes data, server => client 19:28:01.394132 '257 "/" is current directory\r\n' 19:28:01.394192 < 6 bytes data, client => server 19:28:01.394202 'EPSV\r\n' 19:28:01.401258 Received DATA (on stdin) 19:28:01.401274 > 39 bytes data, server => client 19:28:01.401284 '229 Entering Passive Mode (|||33087|)\r\n' 19:28:01.401447 < 8 bytes data, client => server 19:28:01.401460 'TYPE I\r\n' 19:28:01.401655 Received DATA (on stdin) 19:28:01.401664 > 33 bytes data, server => client 19:28:01.401673 '200 I modify TYPE as you wanted\r\n' 19:28:01.401718 < 21 bytes data, client => server 19:28:01.401726 'SIZE verifiedserver\r\n' 19:28:01.401818 Received DATA (on stdin) 19:28:01.401827 > 8 bytes data, server => client 19:28:01.401835 '213 17\r\n' 19:28:01.401877 < 21 bytes data, client => server 19:28:01.401886 'RETR verifiedserver\r\n' 19:28:01.402076 Received DATA (on stdin) 19:28:01.402085 > 29 bytes data, server => client 19:28:01.402094 '150 Binary junk (17 bytes).\r\n' 19:28:01.402517 Received DATA (on stdin) 19:28:01.402526 > 28 bytes data, server => client 19:28:01.402534 '226 File transfer complete\r\n' 19:28:01.446515 < 6 bytes data, client => server 19:28:01.446553 'QUIT\r\n' 19:28:01.446808 Received DATA (on stdin) 19:28:01.446819 > 18 bytes data, server => client 19:28:01.446829 '221 bye bye baby\r\n' 19:28:01.447985 ====> Client disconnect 19:28:01.448165 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:01.400668 Running IPv4 version 19:28:01.400782 Listening on port 33087 19:28:01.400824 Wrote pid 138492 to log/11/server/ftp_sockdata.pid 19:28:01.400998 Received PING (on stdin) 19:28:01.401096 Received PORT (on stdin) 19:28:01.401479 ====> Client connect 19:28:01.402146 Received DATA (on stdin) 19:28:01.402159 > 17 bytes data, server => client 19:28:01.402168 'WE ROOLZ: 84823\r\n' 19:28:01.402190 Received DISC (on stdin) 19:28:01.402198 ====> Client forcibly disconnected 19:28:01.402301 Received QUIT (on stdin) 19:28:01.402309 quits 19:28:01.402360 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd SLOWDOWNDATA REPLY welcome 220 Hey REPLY USER 331 OK REPLY PASS 230 OK REPLY PWD 257 "/" REPLY TYPE 200 OK Testnum 1086 === End of file server.cmd === Start of file valgrind1086 ==138527== ==138527== Process terminating with default action of signal 4 (SIGILL) ==138527== Illegal opcode at address 0x492B75F ==138527== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138527== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138527== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138527== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138527== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138527== by 0x49908EB: curl_version_info (version.c:600) ==138527== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138527== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138527== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138527== by 0x4003269: main (tool_main.c:195) === End of file valgrind1086 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1087 ../src/curl -q --output log/19/curl1087.out --include --trace-ascii log/19/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:46497 --user iam:myself --location --anyauth > log/19/stdout1087 2> log/19/stderr1087 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1088 ../src/curl -q --output log/2/curl1088.out --include --trace-ascii log/2/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:34531 --user iam:myself --location-trusted --anyauth > log/2/stdout1088 2> log/2/stderr1088 test 1089 [HTTP GET --write-out with redirected fetch] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1089 ../src/curl -q --include --trace-ascii log/15/trace1089 --trace-time http://127.0.0.1:40321/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/15/stdout1089 2> log/15/stderr1089 1089: stdout FAILED: --- log/15/check-expected 2026-10-15 19:28:04.400289120 +0000 +++ log/15/check-generated 2026-10-15 19:28:04.397328745 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10890001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:40321/10890001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/15/ directory after test 1089 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10890001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:40321/10890001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1089 ../src/curl -q --include --trace-ascii log/15/trace1089 --trace-time http://127.0.0.1:40321/1089 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/15/stdout1089 2> log/15/stderr1089 === End of file commands.log === Start of file http_server.log 19:28:02.695664 ====> Client connect 19:28:02.695697 accept_connection 3 returned 4 19:28:02.695847 Read 93 bytes 19:28:02.695859 Process 93 bytes request 19:28:02.695872 Got request: GET /verifiedserver HTTP/1.1 19:28:02.695881 Are-we-friendly question received 19:28:02.695909 Wrote request (93 bytes) input to log/15/server.input 19:28:02.695925 Identifying ourselves as friends 19:28:02.695984 Response sent (56 bytes) and written to log/15/server.response 19:28:02.695993 special request received, no persistency 19:28:02.696001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 53234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1089 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1089 ==138709== ==138709== Process terminating with default action of signal 4 (SIGILL) ==138709== Illegal opcode at address 0x492B75F ==138709== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138709== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138709== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138709== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138709== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138709== by 0x49908EB: curl_version_info (version.c:600) ==138709== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138709== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138709== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138709== by 0x4003269: main (tool_main.c:195) === End of file valgrind1089 test 1087 [HTTP, proxy with --anyauth and Location: to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1087 ../src/curl -q --output log/19/curl1087.out --include --trace-ascii log/19/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:46497 --user iam:myself --location --anyauth > log/19/stdout1087 2> log/19/stderr1087 1087: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1087 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1087 ../src/curl -q --output log/19/curl1087.out --include --trace-ascii log/19/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:46497 --user iam:myself --location --anyauth > log/19/stdout1087 2> log/19/stderr1087 === End of file commands.log === Start of file http_server.log 19:28:01.372573 ====> Client connect 19:28:01.372609 accept_connection 3 returned 4 19:28:01.376551 Read 93 bytes 19:28:01.376568 Process 93 bytes request 19:28:01.376582 Got request: GET /verifiedserver HTTP/1.1 19:28:01.376591 Are-we-friendly question received 19:28:01.376629 Wrote request (93 bytes) input to log/19/server.input 19:28:01.376647 Identifying ourselves as friends 19:28:01.376708 Response sent (56 bytes) and written to log/19/server.response 19:28:01.376718 special request received, no persistency 19:28:01.376727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 34190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1087 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind1087 ==138501== ==138501== Process terminating with default action of signal 4 (SIGILL) ==138501== Illegal opcode at address 0x492B75F ==138501== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138501== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138501== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138501== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138501== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138501== by 0x49908EB: curl_version_info (version.c:600) ==138501== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138501== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138501== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138501== by 0x4003269: main (tool_main.c:195) === End of file valgrind1087 test 1088 [HTTP, proxy with --anyauth and Location: using location-trusted] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1088 ../src/curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1093 ../src/curl -q --output log/9/curl1093.out --include --trace-ascii log/9/trace1093 --trace-time "tftp://127.0.0.1:38065//1093;mode=octet" --use-ascii > log/9/stdout1093 2> log/9/stderr1093 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1083 ../src/curl -q --output log/8/curl1083.out --include --trace-ascii log/8/trace1083 --trace-time -g "http://[::1]:40327/1083" --interface ip6-localhost > log/8/stdout1083 2> log/8/stderr1083 l -q --output log/2/curl1088.out --include --trace-ascii log/2/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:34531 --user iam:myself --location-trusted --anyauth > log/2/stdout1088 2> log/2/stderr1088 1088: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1088 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1088 ../src/curl -q --output log/2/curl1088.out --include --trace-ascii log/2/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:34531 --user iam:myself --location-trusted --anyauth > log/2/stdout1088 2> log/2/stderr1088 === End of file commands.log === Start of file http_server.log 19:28:02.686426 ====> Client connect 19:28:02.686721 accept_connection 3 returned 4 19:28:02.686752 Read 93 bytes 19:28:02.686764 Process 93 bytes request 19:28:02.686777 Got request: GET /verifiedserver HTTP/1.1 19:28:02.686786 Are-we-friendly question received 19:28:02.686819 Wrote request (93 bytes) input to log/2/server.input 19:28:02.686838 Identifying ourselves as friends 19:28:02.686929 Response sent (56 bytes) and written to log/2/server.response 19:28:02.686941 special request received, no persistency 19:28:02.686950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 41874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1088 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1088 ==138708== ==138708== Process terminating with default action of signal 4 (SIGILL) ==138708== Illegal opcode at address 0x492B75F ==138708== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138708== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138708== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138708== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138708== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138708== by 0x49908EB: curl_version_info (version.c:600) ==138708== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138708== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138708== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138708== by 0x4003269: main (tool_main.c:195) === End of file valgrind1088 test 1093 [TFTP retrieve with mode=octet] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1093 ../src/curl -q --output log/9/curl1093.out --include --trace-ascii log/9/trace1093 --trace-time "tftp://127.0.0.1:38065//1093;mode=octet" --use-ascii > log/9/stdout1093 2> log/9/stderr1093 1093: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1093 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1093 ../src/curl -q --output log/9/curl1093.out --include --trace-ascii log/9/trace1093 --trace-time "tftp://127.0.0.1:38065//1093;mode=octet" --use-ascii > log/9/stdout1093 2> log/9/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 19:28:03.219774 trying to get file: verifiedserver mode 1 19:28:03.219802 Are-we-friendly question received 19:28:03.219822 write 19:28:03.219849 read 19:28:03.223305 read: 4 19:28:03.223384 end of one transfer === End of file tftp_server.log === Start of file valgrind1093 ==139022== ==139022== Process terminating with default action of signal 4 (SIGILL) ==139022== Illegal opcode at address 0x492B75F ==139022== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139022== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139022== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139022== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139022== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139022== by 0x49908EB: curl_version_info (version.c:600) ==139022== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139022== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139022== by 0x4003269: main (tool_main.c:195) === End of file valgrind1093 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/8/server/http_ipv6_server.pid" --logfile "log/8/http_ipv6_server.log" --logdir "log/8" --portfile log/8/server/http_ipv6_server.port --config log/8/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 138203 port 40327 * pid http-ipv6 => 138203 138203 prechecked /usr/bin/perl -e "if('[::1]' ne '[::1]') {print 'Test requires default test client host address';} else {exec './server/servers resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}" test 1083 [HTTP-IPv6 GET with ip6-localhost --interface] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1083 ../src/curl -q --output log/8/curl1083.out --include --trace-ascii log/8/trace1083 --trace-time -g "http://[::1]:40327/1083" --interface ip6-localhost > log/8/stdout1083 2> log/8/stderr1083 1083: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1083 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1083 ../src/curl -q --output log/8/curl1083.out --include --trace-ascii log/8/trace1083 --trace-time -g "http://[::1]:40327/1083" --interface ip6-localhost > log/8/stdout1083 2> log/8/stderr1083 === End of file commands.log === Start of file http_ipv6_server.log 19:28:01.016266 Running HTTP IPv6 version on port 40327 19:28:01.020481 Wrote pid 138203 to log/8/server/http_ipv6_server.pid 19:28:01.020535 Wrote port 40327 to log/8/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1083 === End of file server.cmd === Start of file valgrind1083 ==138901== ==138901== Process terminating with default action of signal 4 (SIGILL) ==138901== Illegal opcode at address 0x492B75F ==138901== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138901== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138901== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138901== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138901== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138901== by 0x49908EB: curl_version_info (version.c:600) ==138901== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138901== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138901== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138901== by 0x4003269: main (tool_mCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1092 ../src/curl -q --output log/12/curl1092.out --include --trace-ascii log/12/trace1092 --trace-time "ftp://127.0.0.1:40921/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40921 > log/12/stdout1092 2> log/12/stderr1092 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1099 ../src/curl -q --include --trace-ascii log/24/trace1099 --trace-time tftp://127.0.0.1:36714/an/invalid-file tftp://127.0.0.1:36714//1099 > log/24/stdout1099 2> log/24/stderr1099 ain.c:195) === End of file valgrind1083 test 1092 [FTP with type=i over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1092 ../src/curl -q --output log/12/curl1092.out --include --trace-ascii log/12/trace1092 --trace-time "ftp://127.0.0.1:40921/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40921 > log/12/stdout1092 2> log/12/stderr1092 1092: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1092 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1092 ../src/curl -q --output log/12/curl1092.out --include --trace-ascii log/12/trace1092 --trace-time "ftp://127.0.0.1:40921/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40921 > log/12/stdout1092 2> log/12/stderr1092 === End of file commands.log === Start of file http_server.log 19:28:02.158899 ====> Client connect 19:28:02.158940 accept_connection 3 returned 4 19:28:02.158963 Read 93 bytes 19:28:02.158972 Process 93 bytes request 19:28:02.158985 Got request: GET /verifiedserver HTTP/1.1 19:28:02.158994 Are-we-friendly question received 19:28:02.159024 Wrote request (93 bytes) input to log/12/server.input 19:28:02.159042 Identifying ourselves as friends 19:28:02.159111 Response sent (56 bytes) and written to log/12/server.response 19:28:02.159122 special request received, no persistency 19:28:02.159130 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1092 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1092 ==138997== ==138997== Process terminating with default action of signal 4 (SIGILL) ==138997== Illegal opcode at address 0x492B75F ==138997== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138997== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138997== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138997== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138997== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138997== by 0x49908EB: curl_version_info (version.c:600) ==138997== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138997== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138997== by 0x4003269: main (tool_main.c:195) === End of file valgrind1092 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1096 ../src/curl -q --output log/1/curl1096.out --include --trace-ascii log/1/trace1096 --trace-time ftp://127.0.0.1:40221/dir/1096 ftp://127.0.0.1:40221/dir/1096 > log/1/stdout1096 2> log/1/stderr1096 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1091 ../src/curl -q --output log/13/curl1091.out --include --trace-ascii log/13/trace1091 --trace-time "ftp://127.0.0.1:33695/%2ftmp/moo/1091;type=i" --use-ascii > log/13/stdout1091 2> log/13/stderr1091 test 1099 [TFTP get first a non-existing file then an existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1099 ../src/curl -q --include --trace-ascii log/24/trace1099 --trace-time tftp://127.0.0.1:36714/an/invalid-file tftp://127.0.0.1:36714//1099 > log/24/stdout1099 2> log/24/stderr1099 1099: stdout FAILED: --- log/24/check-expected 2026-10-15 19:28:05.029382348 +0000 +++ log/24/check-generated 2026-10-15 19:28:05.027374201 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/24/ directory after test 1099 === Start of file check-expected data for 1099[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1099 ../src/curl -q --include --trace-ascii log/24/trace1099 --trace-time tftp://127.0.0.1:36714/an/invalid-file tftp://127.0.0.1:36714//1099 > log/24/stdout1099 2> log/24/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 19:28:02.641208 trying to get file: verifiedserver mode 1 19:28:02.641241 Are-we-friendly question received 19:28:02.641257 write 19:28:02.641284 read 19:28:02.647628 read: 4 19:28:02.647740 end of one transfer === End of file tftp_server.log === Start of file valgrind1099 ==139308== ==139308== Process terminating with default action of signal 4 (SIGILL) ==139308== Illegal opcode at address 0x492B75F ==139308== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139308== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139308== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139308== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139308== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139308== by 0x49908EB: curl_version_info (version.c:600) ==139308== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139308== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139308== by 0x4003269: main (tool_main.c:195) === End of file valgrind1099 test 1096 [Two FTP downloads, with failed RETR but reused control connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1096 ../src/curl -q --output log/1/curl1096.out --include --trace-ascii log/1/trace1096 --trace-time ftp://127.0.0.1:40221/dir/1096 ftp://127.0.0.1:40221/dir/1096 > log/1/stdout1096 2> log/1/stderr1096 1096: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1096 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1096 ../src/curl -q --output log/1/curl1096.out --include --trace-ascii log/1/trace1096 --trace-time ftp://127.0.0.1:40221/dir/1096 ftp://127.0.0.1:40221/dir/1096 > log/1/stdout1096 2> log/1/stderr1096 === End of file commands.log === Start of file ftp_server.log 19:28:02.914292 ====> Client connect 19:28:02.914522 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:02.914849 < "USER anonymous" 19:28:02.914892 > "331 We are happy you popped in![CR][LF]" 19:28:02.915086 < "PASS ftp@example.com" 19:28:02.915121 > "230 Welcome you silly person[CR][LF]" 19:28:02.915299 < "PWD" 19:28:02.918311 > "257 "/" is current directory[CR][LF]" 19:28:02.918550 < "EPSV" 19:28:02.918580 ====> Passive DATA channel requested by client 19:28:02.918596 DATA sockfilt for passive data channel starting... 19:28:02.923047 DATA sockfilt for passive data channel started (pid 139198) 19:28:02.923186 DATA sockfilt for passive data channel listens on port 37181 19:28:02.923232 > "229 Entering Passive Mode (|||37181|)[CR][LF]" 19:28:02.923249 Client has been notified that upcoming DATA connection is awaited on port 37181 19:28:02.923560 Client connects to port 37181 19:28:02.923592 ====> Client established passive DATA connection on port 37181 19:28:02.923683 < "TYPE I" 19:28:02.923719 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:02.923884 < "SIZE verifiedserver" 19:28:02.923927 > "213 17[CR][LF]" 19:28:02.924082 < "RETR verifiedserver" 19:28:02.924116 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:02.924250 =====> Closing passive DATA connection... 19:28:02.924267 Server disconnects passive DATA connection 19:28:02.924468 Server disconnected passive DATA connection 19:28:02.924492 DATA sockfilt for passive data channel quits (pid 139198) 19:28:02.924769 DATA sockfilt for passive data channel quit (pid 139198) 19:28:02.924795 =====> Closed passive DATA connection 19:28:02.924824 > "226 File transfer complete[CR][LF]" 19:28:02.975493 < "QUIT" 19:28:02.975560 > "221 bye bye baby[CR][LF]" 19:28:02.982112 MAIN sockfilt said DISC 19:28:02.982179 ====> Client disconnected 19:28:02.982275 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:03.518466 ====> Client connect 19:28:03.518857 Received DATA (on stdin) 19:28:03.518876 > 146 bytes data, server => client 19:28:03.518888 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:03.518898 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:03.518907 '220 \___|\___/|_| \_\_____|\r\n' 19:28:03.518994 < 16 bytes data, client => server 19:28:03.519009 'USER anonymous\r\n' 19:28:03.519200 Received DATA (on stdin) 19:28:03.519212 > 33 bytes data, server => client 19:28:03.519223 '331 We are happy you popped in!\r\n' 19:28:03.519282 < 22 bytes data, client => server 19:28:03.519295 'PASS ftp@example.com\r\n' 19:28:03.519428 Received DATA (on stdin) 19:28:03.519439 > 30 bytes data, server => client 19:28:03.519449 '230 Welcome you silly person\r\n' 19:28:03.519506 < 5 bytes data, client => server 19:28:03.519519 'PWD\r\n' 19:28:03.522636 Received DATA (on stdin) 19:28:03.522653 > 30 bytes data, server => client 19:28:03.522663 '257 "/" is current directory\r\n' 19:28:03.522744 < 6 bytes data, client => server 19:28:03.522760 'EPSV\r\n' 19:28:03.527558 Received DATA (on stdin) 19:28:03.527573 > 39 bytes data, server => client 19:28:03.527583 '229 Entering Passive Mode (|||37181|)\r\n' 19:28:03.527779 < 8 bytes data, client => server 19:28:03.527794 'TYPE I\r\n' 19:28:03.528023 Received DATA (on stdin) 19:28:03.528035 > 33 bytes data, server => client 19:28:03.528045 '200 I modify TYPE as you wanted\r\n' 19:28:03.528098 < 21 bytes data, client => server 19:28:03.528109 'SIZE verifiedserver\r\n' 19:28:03.528228 Received DATA (on stdin) 19:28:03.528239 > 8 bytes data, server => client 19:28:03.528249 '213 17\r\n' 19:28:03.528299 < 21 bytes data, client => server 19:28:03.528310 'RETR verifiedserver\r\n' 19:28:03.528571 Received DATA (on stdin) 19:28:03.528583 > 29 bytes data, server => client 19:28:03.528593 '150 Binary junk (17 bytes).\r\n' 19:28:03.529127 Received DATA (on stdin) 19:28:03.529139 > 28 bytes data, server => client 19:28:03.529150 '226 File transfer complete\r\n' 19:28:03.573129 < 6 bytes data, client => server 19:28:03.573161 'QUIT\r\n' 19:28:03.580822 Received DATA (on stdin) 19:28:03.580853 > 18 bytes data, server => client 19:28:03.580865 '221 bye bye baby\r\n' 19:28:03.586316 ====> Client disconnect 19:28:03.586579 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:02.526714 Running IPv4 version 19:28:02.526784 Listening on port 37181 19:28:02.526824 Wrote pid 139198 to log/1/server/ftp_sockdata.pid 19:28:02.526982 Received PING (on stdin) 19:28:02.527390 Received PORT (on stdin) 19:28:02.527814 ====> Client connect 19:28:02.528653 Received DATA (on stdin) 19:28:02.528667 > 17 bytes data, server => client 19:28:02.528677 'WE ROOLZ: 84935\r\n' 19:28:02.528706 Received DISC (on stdin) 19:28:02.528718 ====> Client forcibly disconnected 19:28:02.528850 Received QUIT (on stdin) 19:28:02.528863 quits 19:28:02.528921 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY RETR 550 no such file REPLY SIZE 500 command not understood Testnum 1096 === End of file server.cmd === Start of file valgrind1096 ==139246== ==139246== Process terminating with default action of signal 4 (SIGILL) ==139246== Illegal opcode at address 0x492B75F ==139246== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139246== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139246== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139246== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139246== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139246== by 0x49908EB: curl_version_info (version.c:600) ==139246== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139246== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139246== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139246== by 0x4003269: main (tool_main.c:195) === End of file valgrind1096 test 1091 [FTP URL with type=i] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1091 ../src/curl -q --output log/13/curl1091.out --include --trace-ascii log/13/trace1091 --trace-time "ftp://127.0.0.1:33695/%2ftmp/moo/1091;type=i" --use-ascii > log/13/stdout1091 2> log/13/stderr1091 1091: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1091 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1091 ../src/curl -q --output log/13/curl1091.out --include --trace-ascii log/13/trace1091 --trace-time "ftp://127.0.0.1:33695/%2ftmp/moo/1091;type=i" --use-ascii > log/13/stdout1091 2> log/13/stderr1091 === End of file commands.log === Start of file ftp_server.log 19:28:02.341699 ====> Client connect 19:28:02.341905 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:02.355582 < "USER anonymous" 19:28:02.355640 > "331 We are happy you popped in![CR][LF]" 19:28:02.359032 < "PASS ftp@example.com" 19:28:02.359072 > "230 Welcome you silly person[CR][LF]" 19:28:02.365467 < "PWD" 19:28:02.365517 > "257 "/" is current directory[CR][LF]" 19:28:02.365871 < "EPSV" 19:28:02.365898 ====> Passive DATA channel requested by client 19:28:02.365911 DATA sockfilt for passive data channel starting... 19:28:02.370091 DATA sockfilt for passive data channel started (pid 138897) 19:28:02.370200 DATA sockfilt for passive data channel listens on port 33605 19:28:02.370242 > "229 Entering Passive Mode (|||33605|)[CR][LF]" 19:28:02.370261 Client has been notified that upcoming DATA connection is awaited on port 33605 19:28:02.370536 Client connects to port 33605 19:28:02.370566 ====> Client established passive DATA connection on port 33605 19:28:02.370646 < "TYPE I" 19:28:02.370674 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:02.370826 < "SIZE verifiedserver" 19:28:02.370858 > "213 17[CR][LF]" 19:28:02.371001 < "RETR verifiedserver" 19:28:02.371031 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:02.371117 =====> Closing passive DATA connection... 19:28:02.371133 Server disconnects passive DATA connection 19:28:02.371343 Server disconnected passive DATA connection 19:28:02.371370 DATA sockfilt for passive data channel quits (pid 138897) 19:28:02.371575 DATA sockfilt for passive data channel quit (pid 138897) 19:28:02.371598 =====> Closed passive DATA connection 19:28:02.371624 > "226 File transfer complete[CR][LF]" 19:28:02.418076 < "QUIT" 19:28:02.418270 > "221 bye bye baby[CR][LF]" 19:28:02.421762 MAIN sockfilt said DISC 19:28:02.421786 ====> Client disconnected 19:28:02.421853 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:01.945904 ====> Client connect 19:28:01.946262 Received DATA (on stdin) 19:28:01.946276 > 146 bytes data, server => client 19:28:01.946287 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:01.946298 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:01.946307 '220 \___|\___/|_| \_\_____|\r\n' 19:28:01.959679 < 16 bytes data, client => server 19:28:01.959717 'USER anonymous\r\n' 19:28:01.959989 Received DATA (on stdin) 19:28:01.960002 > 33 bytes data, server => client 19:28:01.960012 '331 We are happy you popped in!\r\n' 19:28:01.963248 < 22 bytes data, client => server 19:28:01.963265 'PASS ftp@example.com\r\n' 19:28:01.963416 Received DATA (on stdin) 19:28:01.963426 > 30 bytes data, server => client 19:28:01.963435 '230 Welcome you silly person\r\n' 19:28:01.969670 < 5 bytes data, client => server 19:28:01.969691 'PWD\r\n' 19:28:01.969860 Received DATA (on stdin) 19:28:01.969869 > 30 bytes data, server => client 19:28:01.969878 '257 "/" is current directory\r\n' 19:28:01.970126 < 6 bytes data, client => server 19:28:01.970141 'EPSV\r\n' 19:28:01.974611 Received DATA (on stdin) 19:28:01.974625 > 39 bytes data, server => client 19:28:01.974635 '229 Entering Passive Mode (|||33605|)\r\n' 19:28:01.974801 < 8 bytes data, client => server 19:28:01.974814 'TYPE I\r\n' 19:28:01.975017 Received DATA (on stdin) 19:28:01.975028 > 33 bytes data, server => client 19:28:01.975037 '200 I modify TYPE as you wanted\r\n' 19:28:01.975087 < 21 bytes data, client => server 19:28:01.975097 'SIZE verifiedserver\r\n' 19:28:01.975201 Received DATA (on stdin) 19:28:01.975211 > 8 bytes data, server => client 19:28:01.975220 '213 17\r\n' 19:28:01.975267 < 21 bytes data, client => server 19:28:01.975277 'RETR verifiedserver\r\n' 19:28:01.975477 Received DATA (on stdin) 19:28:01.975487 > 29 bytes data, server => client 19:28:01.975497 '150 Binary junk (17 bytes).\r\n' 19:28:01.975966 Received DATA (on stdin) 19:28:01.975978 > 28 bytes data, server => client 19:28:01.975987 '226 File transfer complete\r\n' 19:28:02.021954 < 6 bytes data, client => server 19:28:02.021981 'QUIT\r\n' 19:28:02.022624 Received DATA (on stdin) 19:28:02.022669 > 18 bytes data, server => client 19:28:02.025010 '221 bye bye baby\r\n' 19:28:02.026016 ====> Client disconnect 19:28:02.026189 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:02.974106 Running IPv4 version 19:28:02.974182 Listening on port 33605 19:28:02.974218 Wrote pid 138897 to log/13/server/ftp_sockdata.pid 19:28:02.974377 Received PING (on stdin) 19:28:02.974458 Received PORT (on stdin) 19:28:02.974834 ====> Client connect 19:28:02.975521 Received DATA (on stdin) 19:28:02.975532 > 17 bytes data, server => client 19:28:02.975541 'WE ROOLZ: 93286\r\n' 19:28:02.975564 Received DISC (on stdin) 19:28:02.975574 ====> Client forcibly disconnected 19:28:02.975719 Received QUIT (on stdin) 19:28:02.975729 quits 19:28:02.975785 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==138956== ==138956== Process terminating with default action of signal 4 (SIGILL) ==138956== Illegal opcode at address 0x492B75F ==138956== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138956== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138956== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138956== by 0x49A9B9E: Curl_ossl_verCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1098 ../src/curl -q --include --trace-ascii log/23/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:44711 > log/23/stdout1098 2> log/23/stderr1098 sion (openssl.c:5473) ==138956== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138956== by 0x49908EB: curl_version_info (version.c:600) ==138956== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138956== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138956== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138956== by 0x4003269: main (tool_main.c:195) === End of file valgrind1091 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1090 ../src/curl -q --include --trace-ascii log/14/trace1090 --trace-time http://127.0.0.1:45467/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/14/stdout1090 2> log/14/stderr1090 test 1098 [FTP RETR twice over proxy confirming persistent connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1098 ../src/curl -q --include --trace-ascii log/23/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:44711 > log/23/stdout1098 2> log/23/stderr1098 1098: stdout FAILED: --- log/23/check-expected 2026-10-15 19:28:05.303171722 +0000 +++ log/23/check-generated 2026-10-15 19:28:05.300726852 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 6[CR][LF] -[CR][LF] -hello[LF] == Contents of files in the log/23/ directory after test 1098 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 6[CR][LF] [CR][LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1098 ../src/curl -q --include --trace-ascii log/23/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:44711 > log/23/stdout1098 2> log/23/stderr1098 === End of file commands.log === Start of file http_server.log 19:28:02.526356 ====> Client connect 19:28:02.526399 accept_connection 3 returned 4 19:28:02.529783 Read 93 bytes 19:28:02.529801 Process 93 bytes request 19:28:02.529812 Got request: GET /verifiedserver HTTP/1.1 19:28:02.529820 Are-we-friendly question received 19:28:02.529851 Wrote request (93 bytes) input to log/23/server.input 19:28:02.529867 Identifying ourselves as friends 19:28:02.529922 Response sent (56 bytes) and written to log/23/server.response 19:28:02.529930 special request received, no persistency 19:28:02.529938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 45344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1098 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1098 ==139219== ==139219== Process terminating with default action of signal 4 (SIGILL) ==139219== Illegal opcode at address 0x492B75F ==139219== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139219== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139219== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139219== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139219== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139219== by 0x49908EB: curl_version_info (version.c:600) ==139219== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139219== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139219== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139219== by 0x4003269: main (tool_main.c:195) === End of file valgrind1098 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1095 ../src/curl -q --output log/6/curl1095.out --include --trace-ascii log/6/trace1095 --trace-time http://127.0.0.1:33935/1095 -u testuser:testpass --digest > log/6/stdout1095 2> log/6/stderr1095 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1104 ../src/curl -q --output log/16/curl1104.out --include --trace-ascii log/16/trace1104 --trace-time http://127.0.0.1:35903/want/1104 -L -x 127.0.0.1:35903 -c log/16/cookies1104.jar > log/16/stdout1104 2> log/16/stderr1104 test 1090 [HTTP GET --write-out with redirected fetch and chunked reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1090 ../src/curl -q --include --trace-ascii log/14/trace1090 --trace-time http://127.0.0.1:45467/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/14/stdout1090 2> log/14/stderr1090 1090: stdout FAILED: --- log/14/check-expected 2026-10-15 19:28:05.329419482 +0000 +++ log/14/check-generated 2026-10-15 19:28:05.327395404 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./10900001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Transfer-Encoding: chunked[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -2[LF] -1[LF] -15[LF] -http://127.0.0.1:45467/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/14/ directory after test 1090 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./10900001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Transfer-Encoding: chunked[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] 2[LF] 1[LF] 15[LF] http://127.0.0.1:45467/10900001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1090 ../src/curl -q --include --trace-ascii log/14/trace1090 --trace-time http://127.0.0.1:45467/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/14/stdout1090 2> log/14/stderr1090 === End of file commands.log === Start of file http_server.log 19:28:01.713093 ====> Client connect 19:28:01.713140 accept_connection 3 returned 4 19:28:01.713326 Read 93 bytes 19:28:01.713342 Process 93 bytes request 19:28:01.713356 Got request: GET /verifiedserver HTTP/1.1 19:28:01.713365 Are-we-friendly question received 19:28:01.713398 Wrote request (93 bytes) input to log/14/server.input 19:28:01.713419 Identifying ourselves as friends 19:28:01.713490 Response sent (56 bytes) and written to log/14/server.response 19:28:01.713502 special request received, no persistency 19:28:01.713510 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1090 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1090 ==138726== ==138726== Process terminating with default action of signal 4 (SIGILL) ==138726== Illegal opcode at address 0x492B75F ==138726== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==138726== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==138726== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==138726== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==138726== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==138726== by 0x49908EB: curl_version_info (version.c:600) ==138726== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==138726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==138726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==138726== by 0x4003269: main (tool_main.c:195) === End of file valgrind1090 test 1095 [HTTP with Digest and realm with quoted quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1095 ../src/curl -q --output log/6/curl1095.out --include --trace-ascii log/6/trace1095 --trace-time http://127.0.0.1:33935/1095 -u testuser:testpass --digest > log/6/stdout1095 2> log/6/stderr1095 1095: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1095 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1095 ../src/curl -q --output log/6/curl1095.out --include --trace-ascii log/6/trace1095 --trace-time http://127.0.0.1:33935/1095 -u testuser:testpass --digest > log/6/stdout1095 2> log/6/stderr1095 === End of file commands.log === Start of file http_server.log 19:28:02.482906 ====> Client connect 19:28:02.482963 accept_connection 3 returned 4 19:28:02.484708 Read 93 bytes 19:28:02.484728 Process 93 bytes request 19:28:02.484742 Got request: GET /verifiedserver HTTP/1.1 19:28:02.484751 Are-we-friendly question received 19:28:02.484788 Wrote request (93 bytes) input to log/6/server.input 19:28:02.484805 Identifying ourselves as friends 19:28:02.484869 Response sent (56 bytes) and written to log/6/server.response 19:28:02.484879 special request received, no persistency 19:28:02.484887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 43526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1095 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1095 ==139197== ==139197== Process terminating with default action of signal 4 (SIGILL) ==139197== Illegal opcode at address 0x492B75F ==139197== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139197== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139197== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139197== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139197== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139197== by 0x49908EB: curl_version_info (version.c:600) ==139197== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139197== by 0x4003269: main (tool_main.c:195) === End of file valgrind1095 test 1104 [HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1104 ../src/curl -q --output log/16/curl1104.out --include --trace-ascii log/16/trace1104 --trace-time http://127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1103 ../src/curl -q --output log/17/curl1103.out --include --trace-ascii log/17/trace1103 --trace-time ftp://127.0.0.1:46137/1103 > log/17/stdout1103 2> log/17/stderr1103 .0.1:35903/want/1104 -L -x 127.0.0.1:35903 -c log/16/cookies1104.jar > log/16/stdout1104 2> log/16/stderr1104 1104: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1104 ../src/curl -q --output log/16/curl1104.out --include --trace-ascii log/16/trace1104 --trace-time http://127.0.0.1:35903/want/1104 -L -x 127.0.0.1:35903 -c log/16/cookies1104.jar > log/16/stdout1104 2> log/16/stderr1104 === End of file commands.log === Start of file http_server.log 19:28:04.173054 ====> Client connect 19:28:04.173089 accept_connection 3 returned 4 19:28:04.173112 Read 93 bytes 19:28:04.173122 Process 93 bytes request 19:28:04.173134 Got request: GET /verifiedserver HTTP/1.1 19:28:04.173142 Are-we-friendly question received 19:28:04.173171 Wrote request (93 bytes) input to log/16/server.input 19:28:04.173187 Identifying ourselves as friends 19:28:04.173254 Response sent (56 bytes) and written to log/16/server.response 19:28:04.173264 special request received, no persistency 19:28:04.173272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 37410 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1104 ==139604== ==139604== Process terminating with default action of signal 4 (SIGILL) ==139604== Illegal opcode at address 0x492B75F ==139604== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139604== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139604== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139604== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139604== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139604== by 0x49908EB: curl_version_info (version.c:600) ==139604== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139604== by 0x4003269: main (tool_main.c:195) === End of file valgrind1104 test 1103 [FTP non-OS/400 server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1103 ../src/curl -q --output log/17/curl1103.out --include --trace-ascii log/17/trace1103 --trace-time ftp://127.0.0.1:46137/1103 > log/17/stdout1103 2> log/17/stderr1103 1103: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1103 ../src/curl -q --output log/17/curl1103.out --include --trace-ascii log/17/trace1103 --trace-time ftp://127.0.0.1:46137/1103 > log/17/stdout1103 2> log/17/stderr1103 === End of file commands.log === Start of file ftp_server.log 19:28:03.432026 ====> Client connect 19:28:03.432251 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:03.435627 < "USER anonymous" 19:28:03.435676 > "331 We are happy you popped in![CR][LF]" 19:28:03.435843 < "PASS ftp@example.com" 19:28:03.435873 > "230 Welcome you silly person[CR][LF]" 19:28:03.436027 < "PWD" 19:28:03.436059 > "257 "/" is current directory[CR][LF]" 19:28:03.436211 < "EPSV" 19:28:03.436236 ====> Passive DATA channel requested by client 19:28:03.436248 DATA sockfilt for passive data channel starting... 19:28:03.445383 DATA sockfilt for passive data channel started (pid 139472) 19:28:03.445507 DATA sockfilt for passive data channel listens on port 37091 19:28:03.445558 > "229 Entering Passive Mode (|||37091|)[CR][LF]" 19:28:03.445578 Client has been notified that upcoming DATA connection is awaited on port 37091 19:28:03.445892 Client connects to port 37091 19:28:03.445922 ====> Client established passive DATA connection on port 37091 19:28:03.446019 < "TYPE I" 19:28:03.446053 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:03.446211 < "SIZE verifiedserver" 19:28:03.446248 > "213 17[CR][LF]" 19:28:03.446377 < "RETR verifiedserver" 19:28:03.446404 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:03.446486 =====> Closing passive DATA connection... 19:28:03.446501 Server disconnects passive DATA connection 19:28:03.446699 Server disconnected passive DATA connection 19:28:03.446725 DATA sockfilt for passive data channel quits (pid 139472) 19:28:03.446974 DATA sockfilt for passive data channel quit (pid 139472) 19:28:03.446998 =====> Closed passive DATA connection 19:28:03.447024 > "226 File transfer complete[CR][LF]" 19:28:03.492209 < "QUIT" 19:28:03.492267 > "221 bye bye baby[CR][LF]" 19:28:03.493584 MAIN sockfilt said DISC 19:28:03.493632 ====> Client disconnected 19:28:03.493716 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:03.035145 ====> Client connect 19:28:03.039587 Received DATA (on stdin) 19:28:03.039614 > 146 bytes data, server => client 19:28:03.039625 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:03.039636 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:03.039645 '220 \___|\___/|_| \_\_____|\r\n' 19:28:03.039732 < 16 bytes data, client => server 19:28:03.039743 'USER anonymous\r\n' 19:28:03.039942 Received DATA (on stdin) 19:28:03.039954 > 33 bytes data, server => client 19:28:03.039965 '331 We are happy you popped in!\r\n' 19:28:03.040017 < 22 bytes data, client => server 19:28:03.040027 'PASS ftp@example.com\r\n' 19:28:03.040135 Received DATA (on stdin) 19:28:03.040146 > 30 bytes data, server => client 19:28:03.040155 '230 Welcome you silly person\r\n' 19:28:03.040210 < 5 bytes data, client => server 19:28:03.040220 'PWD\r\n' 19:28:03.040321 Received DATA (on stdin) 19:28:03.040331 > 30 bytes data, server => client 19:28:03.040341 '257 "/" is current directory\r\n' 19:28:03.040397 < 6 bytes data, client => server 19:28:03.040406 'EPSV\r\n' 19:28:03.049851 Received DATA (on stdin) 19:28:03.049867 > 39 bytes data, server => client 19:28:03.049878 '229 Entering Passive Mode (|||37091|)\r\n' 19:28:03.050067 < 8 bytes data, client => server 19:28:03.050084 'TYPE I\r\n' 19:28:03.050318 Received DATA (on stdin) 19:28:03.050330 > 33 bytes data, server => client 19:28:03.050340 '200 I modify TYPE as you wanted\r\n' 19:28:03.050393 < 21 bytes data, client => server 19:28:03.050403 'SIZE verifiedserver\r\n' 19:28:03.050507 Received DATA (on stdin) 19:28:03.050516 > 8 bytes data, server => client 19:28:03.050524 '213 17\r\n' 19:28:03.050568 < 21 bytes data, client => server 19:28:03.050577 'RETR verifiedserver\r\n' 19:28:03.050762 Received DATA (on stdin) 19:28:03.050771 > 29 bytes data, server => client 19:28:03.050780 '150 Binary junk (17 bytes).\r\n' 19:28:03.051287 Received DATA (on stdin) 19:28:03.051299 > 28 bytes data, server => client 19:28:03.051309 '226 File transfer complete\r\n' 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1101 ../src/curl -q --output log/20/curl1101.out --include --trace-ascii log/20/trace1101 --trace-time http://user:secret@127.0.0.1:33897/gimme/1101 > log/20/stdout1101 2> log/20/stderr1101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1094 ../src/curl -q --output log/18/curl1094.out --include --trace-ascii log/18/trace1094 --trace-time "tftp://127.0.0.1:57959//1094;mode=netascii" > log/18/stdout1094 2> log/18/stderr1094 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/24/stdout1119 2> log/24/stderr1119 8:03.096275 < 6 bytes data, client => server 19:28:03.096307 'QUIT\r\n' 19:28:03.096534 Received DATA (on stdin) 19:28:03.096547 > 18 bytes data, server => client 19:28:03.096557 '221 bye bye baby\r\n' 19:28:03.097777 ====> Client disconnect 19:28:03.097979 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:03.045899 Running IPv4 version 19:28:03.045972 Listening on port 37091 19:28:03.046014 Wrote pid 139472 to log/17/server/ftp_sockdata.pid 19:28:03.049574 Received PING (on stdin) 19:28:03.049681 Received PORT (on stdin) 19:28:03.050106 ====> Client connect 19:28:03.050803 Received DATA (on stdin) 19:28:03.050814 > 17 bytes data, server => client 19:28:03.050822 'WE ROOLZ: 84749\r\n' 19:28:03.050844 Received DISC (on stdin) 19:28:03.050853 ====> Client forcibly disconnected 19:28:03.050995 Received QUIT (on stdin) 19:28:03.051005 quits 19:28:03.051068 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "C:/somedir" is the current directory REPLY SYST 215 unknown-OS runs this server Testnum 1103 === End of file server.cmd === Start of file valgrind1103 ==139510== ==139510== Process terminating with default action of signal 4 (SIGILL) ==139510== Illegal opcode at address 0x492B75F ==139510== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139510== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139510== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139510== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139510== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139510== by 0x49908EB: curl_version_info (version.c:600) ==139510== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139510== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139510== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139510== by 0x4003269: main (tool_main.c:195) === End of file valgrind1103 setenv no_proxy = 127.0.0.1 setenv http_proxy = http://non-existing-host.haxx.se:3128/ test 1101 [NO_PROXY test, with username in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1101 ../src/curl -q --output log/20/curl1101.out --include --trace-ascii log/20/trace1101 --trace-time http://user:secret@127.0.0.1:33897/gimme/1101 > log/20/stdout1101 2> log/20/stderr1101 1101: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1101 ../src/curl -q --output log/20/curl1101.out --include --trace-ascii log/20/trace1101 --trace-time http://user:secret@127.0.0.1:33897/gimme/1101 > log/20/stdout1101 2> log/20/stderr1101 === End of file commands.log === Start of file http_server.log 19:28:03.015538 ====> Client connect 19:28:03.015582 accept_connection 3 returned 4 19:28:03.015694 Read 93 bytes 19:28:03.015711 Process 93 bytes request 19:28:03.015725 Got request: GET /verifiedserver HTTP/1.1 19:28:03.015734 Are-we-friendly question received 19:28:03.015771 Wrote request (93 bytes) input to log/20/server.input 19:28:03.015789 Identifying ourselves as friends 19:28:03.015850 Response sent (56 bytes) and written to log/20/server.response 19:28:03.015860 special request received, no persistency 19:28:03.015869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 60826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1101 ==139474== ==139474== Process terminating with default action of signal 4 (SIGILL) ==139474== Illegal opcode at address 0x492B75F ==139474== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139474== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139474== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139474== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139474== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139474== by 0x49908EB: curl_version_info (version.c:600) ==139474== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139474== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139474== by 0x4003269: main (tool_main.c:195) === End of file valgrind1101 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/18/server/tftp_server.pid" --portfile "log/18/server/tftp_server.port" --logfile "log/18/tftp_server.log" --logdir "log/18" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 139095 port 57959 * pid tftp => 139095 139095 test 1094 [TFTP retrieve with mode=netascii] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1094 ../src/curl -q --output log/18/curl1094.out --include --trace-ascii log/18/trace1094 --trace-time "tftp://127.0.0.1:57959//1094;mode=netascii" > log/18/stdout1094 2> log/18/stderr1094 1094: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1094 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1094 ../src/curl -q --output log/18/curl1094.out --include --trace-ascii log/18/trace1094 --trace-time "tftp://127.0.0.1:57959//1094;mode=netascii" > log/18/stdout1094 2> log/18/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 19:28:02.386518 Wrote pid 139095 to log/18/server/tftp_server.pid 19:28:02.386579 Wrote port 57959 to log/18/server/tftp_server.port 19:28:02.386591 Running IPv4 version on port UDP/57959 === End of file tftp_server.log === Start of file valgrind1094 ==139760== ==139760== Process terminating with default action of signal 4 (SIGILL) ==139760== Illegal opcode at address 0x492B75F ==139760== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139760== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139760== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139760== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139760== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139760== by 0x49908EB: curl_version_info (version.c:600) ==139760== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139760== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139760== by 0x4003269: main (tool_main.c:195) === End of file valgrind1094 test 1119 [Verify that symbols-in-versions and headers are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/24/stdout1119 2> log/24/stderr1119 valgrind SKIPPED s------e--- OK (1020 out of 1890, remaining: 01:50, took 0.85CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1105 ../src/curl -q --output log/4/curl1105.out --include --trace-ascii log/4/trace1105 --trace-time "http://127.0.0.1:35735/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/4/cookie1105.txt -d "userid=myname&password=mypassword" > log/4/stdout1105 2> log/4/stderr1105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1102 ../src/curl -q --output log/10/curl1102.out --include --trace-ascii log/10/trace1102 --trace-time ftp://127.0.0.1:44817/1102 > log/10/stdout1102 2> log/10/stderr1102 9s, duration: 02:08) test 1105 [HTTP POST with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1105 ../src/curl -q --output log/4/curl1105.out --include --trace-ascii log/4/trace1105 --trace-time "http://127.0.0.1:35735/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/4/cookie1105.txt -d "userid=myname&password=mypassword" > log/4/stdout1105 2> log/4/stderr1105 1105: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1105 ../src/curl -q --output log/4/curl1105.out --include --trace-ascii log/4/trace1105 --trace-time "http://127.0.0.1:35735/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/4/cookie1105.txt -d "userid=myname&password=mypassword" > log/4/stdout1105 2> log/4/stderr1105 === End of file commands.log === Start of file http_server.log 19:28:04.162964 ====> Client connect 19:28:04.163011 accept_connection 3 returned 4 19:28:04.163036 Read 93 bytes 19:28:04.163045 Process 93 bytes request 19:28:04.163058 Got request: GET /verifiedserver HTTP/1.1 19:28:04.163066 Are-we-friendly question received 19:28:04.163095 Wrote request (93 bytes) input to log/4/server.input 19:28:04.163112 Identifying ourselves as friends 19:28:04.163189 Response sent (56 bytes) and written to log/4/server.response 19:28:04.163199 special request received, no persistency 19:28:04.163207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 51408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1105 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1105 ==139590== ==139590== Process terminating with default action of signal 4 (SIGILL) ==139590== Illegal opcode at address 0x492B75F ==139590== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139590== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139590== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139590== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139590== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139590== by 0x49908EB: curl_version_info (version.c:600) ==139590== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139590== by 0x4003269: main (tool_main.c:195) === End of file valgrind1105 test 1102 [FTP OS/400 server name format check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1102 ../src/curl -q --output log/10/curl1102.out --include --trace-ascii log/10/trace1102 --trace-time ftp://127.0.0.1:44817/1102 > log/10/stdout1102 2> log/10/stderr1102 1102: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1102 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1102 ../src/curl -q --output log/10/curl1102.out --include --trace-ascii log/10/trace1102 --trace-time ftp://127.0.0.1:44817/1102 > log/10/stdout1102 2> log/10/stderr1102 === End of file commands.log === Start of file ftp_server.log 19:28:03.421538 ====> Client connect 19:28:03.421753 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:03.429903 < "USER anonymous" 19:28:03.429960 > "331 We are happy you popped in![CR][LF]" 19:28:03.435419 < "PASS ftp@example.com" 19:28:03.435470 > "230 Welcome you silly person[CR][LF]" 19:28:03.435663 < "PWD" 19:28:03.435697 > "257 "/" is current directory[CR][LF]" 19:28:03.435859 < "EPSV" 19:28:03.435884 ====> Passive DATA channel requested by client 19:28:03.435899 DATA sockfilt for passive data channel starting... 19:28:03.443990 DATA sockfilt for passive data channel started (pid 139471) 19:28:03.444379 DATA sockfilt for passive data channel listens on port 35363 19:28:03.444441 > "229 Entering Passive Mode (|||35363|)[CR][LF]" 19:28:03.444468 Client has been notified that upcoming DATA connection is awaited on port 35363 19:28:03.452217 Client connects to port 35363 19:28:03.452273 ====> Client established passive DATA connection on port 35363 19:28:03.453028 < "TYPE I" 19:28:03.453070 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:03.453229 < "SIZE verifiedserver" 19:28:03.453266 > "213 17[CR][LF]" 19:28:03.453404 < "RETR verifiedserver" 19:28:03.453434 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:03.453527 =====> Closing passive DATA connection... 19:28:03.453543 Server disconnects passive DATA connection 19:28:03.453724 Server disconnected passive DATA connection 19:28:03.453745 DATA sockfilt for passive data channel quits (pid 139471) 19:28:03.454021 DATA sockfilt for passive data channel quit (pid 139471) 19:28:03.454044 =====> Closed passive DATA connection 19:28:03.454072 > "226 File transfer complete[CR][LF]" 19:28:03.495733 < "QUIT" 19:28:03.495789 > "221 bye bye baby[CR][LF]" 19:28:03.496991 MAIN sockfilt said DISC 19:28:03.497033 ====> Client disconnected 19:28:03.497116 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:04.025659 ====> Client connect 19:28:04.026032 Received DATA (on stdin) 19:28:04.026047 > 146 bytes data, server => client 19:28:04.026058 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:04.026068 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:04.026077 '220 \___|\___/|_| \_\_____|\r\n' 19:28:04.033012 < 16 bytes data, client => server 19:28:04.033039 'USER anonymous\r\n' 19:28:04.036246 Received DATA (on stdin) 19:28:04.036271 > 33 bytes data, server => client 19:28:04.036282 '331 We are happy you popped in!\r\n' 19:28:04.036350 < 22 bytes data, client => server 19:28:04.036361 'PASS ftp@example.com\r\n' 19:28:04.039744 Received DATA (on stdin) 19:28:04.039760 > 30 bytes data, server => client 19:28:04.039769 '230 Welcome you silly person\r\n' 19:28:04.039842 < 5 bytes data, client => server 19:28:04.039853 'PWD\r\n' 19:28:04.039961 Received DATA (on stdin) 19:28:04.039971 > 30 bytes data, server => client 19:28:04.039982 '257 "/" is current directory\r\n' 19:28:04.040040 < 6 bytes data, client => server 19:28:04.040049 'EPSV\r\n' 19:28:04.054601 Received DATA (on stdin) 19:28:04.054623 > 39 bytes data, server => client 19:28:04.054634 '229 Entering Passive Mode (|||35363|)\r\n' 19:28:04.057145 < 8 bytes data, client => server 19:28:04.057163 'TYPE I\r\n' 19:28:04.057334 Received DATA (on stdin) 19:28:04.057345 > 33 bytes data, server => client 19:28:04.057355 '200 I modify TYPE as you wanted\r\n' 19:28:04.057412 < 21 bytes data, client => server 19:28:04.057423 'SIZE verifiedserver\r\n' 19:28:04.057526 ReceiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1106 ../src/curl -q --output log/5/curl1106.out --include --trace-ascii log/5/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/5/stdout1106 2> log/5/stderr1106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:38555/fully_simulated/DOS/*.txt" > log/19/stdout1113 2> log/19/stderr1113 ved DATA (on stdin) 19:28:04.057535 > 8 bytes data, server => client 19:28:04.057545 '213 17\r\n' 19:28:04.057591 < 21 bytes data, client => server 19:28:04.057601 'RETR verifiedserver\r\n' 19:28:04.057806 Received DATA (on stdin) 19:28:04.057817 > 29 bytes data, server => client 19:28:04.057827 '150 Binary junk (17 bytes).\r\n' 19:28:04.058335 Received DATA (on stdin) 19:28:04.058346 > 28 bytes data, server => client 19:28:04.058357 '226 File transfer complete\r\n' 19:28:04.099823 < 6 bytes data, client => server 19:28:04.099849 'QUIT\r\n' 19:28:04.100056 Received DATA (on stdin) 19:28:04.100069 > 18 bytes data, server => client 19:28:04.100080 '221 bye bye baby\r\n' 19:28:04.101190 ====> Client disconnect 19:28:04.101378 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:03.044091 Running IPv4 version 19:28:03.044179 Listening on port 35363 19:28:03.044225 Wrote pid 139471 to log/10/server/ftp_sockdata.pid 19:28:03.044246 Received PING (on stdin) 19:28:03.048530 Received PORT (on stdin) 19:28:03.056409 ====> Client connect 19:28:03.057880 Received DATA (on stdin) 19:28:03.057893 > 17 bytes data, server => client 19:28:03.057903 'WE ROOLZ: 85153\r\n' 19:28:03.057927 Received DISC (on stdin) 19:28:03.057938 ====> Client forcibly disconnected 19:28:03.058055 Received QUIT (on stdin) 19:28:03.058066 quits 19:28:03.058132 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "QGPL" is the current library REPLY SYST 215 OS/400 runs this server REPLY SITE 250 Name format set to 1 Testnum 1102 === End of file server.cmd === Start of file valgrind1102 ==139523== ==139523== Process terminating with default action of signal 4 (SIGILL) ==139523== Illegal opcode at address 0x492B75F ==139523== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139523== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139523== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139523== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139523== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139523== by 0x49908EB: curl_version_info (version.c:600) ==139523== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139523== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139523== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139523== by 0x4003269: main (tool_main.c:195) === End of file valgrind1102 setenv ftp_proxy = http://127.0.0.1:37089/ test 1106 [FTP URL and with ftp_proxy environment variable set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1106 ../src/curl -q --output log/5/curl1106.out --include --trace-ascii log/5/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/5/stdout1106 2> log/5/stderr1106 1106: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1106 ../src/curl -q --output log/5/curl1106.out --include --trace-ascii log/5/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/5/stdout1106 2> log/5/stderr1106 === End of file commands.log === Start of file http_server.log 19:28:03.389616 ====> Client connect 19:28:03.389661 accept_connection 3 returned 4 19:28:03.389686 Read 93 bytes 19:28:03.389695 Process 93 bytes request 19:28:03.389708 Got request: GET /verifiedserver HTTP/1.1 19:28:03.389717 Are-we-friendly question received 19:28:03.389746 Wrote request (93 bytes) input to log/5/server.input 19:28:03.389762 Identifying ourselves as friends 19:28:03.389846 Response sent (56 bytes) and written to log/5/server.response 19:28:03.389856 special request received, no persistency 19:28:03.389864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 36696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1106 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1106 ==139792== ==139792== Process terminating with default action of signal 4 (SIGILL) ==139792== Illegal opcode at address 0x492B75F ==139792== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139792== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139792== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139792== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139792== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139792== by 0x49908EB: curl_version_info (version.c:600) ==139792== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139792== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139792== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139792== by 0x4003269: main (tool_main.c:195) === End of file valgrind1106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1107 ../src/curl -q --output log/21/curl1107.out --include --trace-ascii log/21/trace1107 --trace-time ftp://127.0.0.1:35787/1107 --ftp-pret > log/21/stdout1107 2> log/21/stderr1107 test 1113 [FTP wildcard download - changed fnmatch, 2x perform (DOS LIST)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:38555/fully_simulated/DOS/*.txt" > log/19/stdout1113 2> log/19/stderr1113 1113: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:06.526580271 +0000 +++ log/19/check-generated 2026-10-15 19:28:06.524145844 +0000 @@ -1,10 +0,0 @@ -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] -This file should have permissions 444[LF] -This file should have permissions 666[LF] -This file should have permissions 777[LF] -This is content of file "file.txt"[LF] -Some junk ;-) This file does not really exist.[LF] == Contents of files in the log/19/ directory after test 1113 === Start of file check-expected This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] This file should have permissions 444[LF] This file should have permissions 666[LF] This file should have permissions 777[LF] This is content of file "file.txt"[LF] Some junk ;-) This file does not really exist.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:38555/fully_simulated/DOS/*.txt" > log/19/stdout1113 2> log/19/stderr1113 === End of file commands.log === Start of file ftp_server.log 19:28:04.537586 ====> Client connect 19:28:04.537852 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:04.538463 < "USER anonymous" 19:28:04.538553 > "331 We are happy you popped in![CR][LF]" 19:28:04.538777 < "PASS ftp@example.com" 19:28:04.538818 > "230 Welcome you silly person[CR][LF]" 19:28:04.539031 < "PWD" 19:28:04.539072 > "257 "/" is current directory[CR][LF]" 19:28:04.539291 < "EPSV" 19:28:04.539319 ====> Passive DATA channel requested by client 19:28:04.539334 DATA sockfilt for passive data channel starting... 19:28:04.546460 DATA sockfilt for passive data channel started (pid 140225) 19:28:04.546592 DATA sockfilt for passive data channel listens on port 35423 19:28:04.546641 > "229 Entering Passive Mode (|||35423|)[CR][LF]" 19:28:04.546662 Client has been notified that upcoming DATA connection is awaited on port 35423 19:28:04.546956 Client connects to port 35423 19:28:04.546987 ====> Client established passive DATA connection on port 35423 19:28:04.547073 < "TYPE I" 19:28:04.547107 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:04.547278 < "SIZE verifiedserver" 19:28:04.547318 > "213 17[CR][LF]" 19:28:04.547482 < "RETR verifiedserver" 19:28:04.547516 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:04.547606 =====> Closing passive DATA connection... 19:28:04.547626 Server disconnects passive DATA connection 19:28:04.547786 Server disconnected passive DATA connection 19:28:04.547809 DATA sockfilt for passive data channel quits (pid 140225) 19:28:04.548041 DATA sockfilt for passive data channel quit (pid 140225) 19:28:04.548067 =====> Closed passive DATA connection 19:28:04.548097 > "226 File transfer complete[CR][LF]" 19:28:04.595599 < "QUIT" 19:28:04.595662 > "221 bye bye baby[CR][LF]" 19:28:04.596739 MAIN sockfilt said DISC 19:28:04.596782 ====> Client disconnected 19:28:04.596869 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:04.141629 ====> Client connect 19:28:04.142304 Received DATA (on stdin) 19:28:04.142331 > 146 bytes data, server => client 19:28:04.142344 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:04.142354 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:04.142364 '220 \___|\___/|_| \_\_____|\r\n' 19:28:04.142452 < 16 bytes data, client => server 19:28:04.142467 'USER anonymous\r\n' 19:28:04.142746 Received DATA (on stdin) 19:28:04.142759 > 33 bytes data, server => client 19:28:04.142770 '331 We are happy you popped in!\r\n' 19:28:04.142838 < 22 bytes data, client => server 19:28:04.142852 'PASS ftp@example.com\r\n' 19:28:04.143004 Received DATA (on stdin) 19:28:04.143016 > 30 bytes data, server => client 19:28:04.143054 '230 Welcome you silly person\r\n' 19:28:04.143115 < 5 bytes data, client => server 19:28:04.143127 'PWD\r\n' 19:28:04.143257 Received DATA (on stdin) 19:28:04.143268 > 30 bytes data, server => client 19:28:04.143278 '257 "/" is current directory\r\n' 19:28:04.143350 < 6 bytes data, client => server 19:28:04.143363 'EPSV\r\n' 19:28:04.150853 Received DATA (on stdin) 19:28:04.150867 > 39 bytes data, server => client 19:28:04.150878 '229 Entering Passive Mode (|||35423|)\r\n' 19:28:04.151085 < 8 bytes data, client => server 19:28:04.151097 'TYPE I\r\n' 19:28:04.151291 Received DATA (on stdin) 19:28:04.151302 > 33 bytes data, server => client 19:28:04.151312 '200 I modify TYPE as you wanted\r\n' 19:28:04.151370 < 21 bytes data, client => server 19:28:04.151381 'SIZE verifiedserver\r\n' 19:28:04.151503 Received DATA (on stdin) 19:28:04.151514 > 8 bytes data, server => client 19:28:04.151523 '213 17\r\n' 19:28:04.151577 < 21 bytes data, client => server 19:28:04.151588 'RETR verifiedserver\r\n' 19:28:04.151898 Received DATA (on stdin) 19:28:04.151910 > 29 bytes data, server => client 19:28:04.151920 '150 Binary junk (17 bytes).\r\n' 19:28:04.152282 Received DATA (on stdin) 19:28:04.152294 > 28 bytes data, server => client 19:28:04.152304 '226 File transfer complete\r\n' 19:28:04.199595 < 6 bytes data, client => server 19:28:04.199628 'QUIT\r\n' 19:28:04.199853 Received DATA (on stdin) 19:28:04.199866 > 18 bytes data, server => client 19:28:04.199877 '221 bye bye baby\r\n' 19:28:04.200855 ====> Client disconnect 19:28:04.201055 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:04.150282 Running IPv4 version 19:28:04.150367 Listening on port 35423 19:28:04.150409 Wrote pid 140225 to log/19/server/ftp_sockdata.pid 19:28:04.150581 Received PING (on stdin) 19:28:04.150677 Received PORT (on stdin) 19:28:04.151055 ====> Client connect 19:28:04.151810 Received DATA (on stdin) 19:28:04.151822 > 17 bytes data, server => client 19:28:04.151832 'WE ROOLZ: 84587\r\n' 19:28:04.151860 Received DISC (on stdin) 19:28:04.151873 ====> Client forcibly disconnected 19:28:04.151999 Received QUIT (on stdin) 19:28:04.152010 quits 19:28:04.152075 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1113 === End of file server.cmd === Start of file valgrind1113 ==140250== ==140250== Process terminating with default action of signal 4 (SIGILL) ==140250== Illegal opcode at address 0x51CC63F ==140250== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==140250== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==140250== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==140250== by 0x40041AF: main (first.c:264) === End of file valgrind1113 test 1107 [FTP RETR PASV with PRET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1107 ../src/curl -q --output log/21/curl1107.out --include --trace-ascii log/21/trace1107 --trace-time ftp://127.0.0.1:35787/1107 --ftp-pret > log/21/stdout1107 2> log/21/stderr1107 1107: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files inCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:44883/fully_simulated/DOS/* > log/15/stdout1114 2> log/15/stderr1114 the log/21/ directory after test 1107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1107 ../src/curl -q --output log/21/curl1107.out --include --trace-ascii log/21/trace1107 --trace-time ftp://127.0.0.1:35787/1107 --ftp-pret > log/21/stdout1107 2> log/21/stderr1107 === End of file commands.log === Start of file ftp_server.log 19:28:04.038885 ====> Client connect 19:28:04.039164 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:04.042346 < "USER anonymous" 19:28:04.042392 > "331 We are happy you popped in![CR][LF]" 19:28:04.042554 < "PASS ftp@example.com" 19:28:04.042576 > "230 Welcome you silly person[CR][LF]" 19:28:04.042722 < "PWD" 19:28:04.042750 > "257 "/" is current directory[CR][LF]" 19:28:04.042903 < "EPSV" 19:28:04.042926 ====> Passive DATA channel requested by client 19:28:04.042940 DATA sockfilt for passive data channel starting... 19:28:04.048903 DATA sockfilt for passive data channel started (pid 139916) 19:28:04.049043 DATA sockfilt for passive data channel listens on port 42397 19:28:04.049089 > "229 Entering Passive Mode (|||42397|)[CR][LF]" 19:28:04.049105 Client has been notified that upcoming DATA connection is awaited on port 42397 19:28:04.055501 Client connects to port 42397 19:28:04.055570 ====> Client established passive DATA connection on port 42397 19:28:04.055689 < "TYPE I" 19:28:04.055731 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:04.055948 < "SIZE verifiedserver" 19:28:04.055990 > "213 17[CR][LF]" 19:28:04.056141 < "RETR verifiedserver" 19:28:04.056177 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:04.056277 =====> Closing passive DATA connection... 19:28:04.056292 Server disconnects passive DATA connection 19:28:04.056509 Server disconnected passive DATA connection 19:28:04.056535 DATA sockfilt for passive data channel quits (pid 139916) 19:28:04.067214 DATA sockfilt for passive data channel quit (pid 139916) 19:28:04.067266 =====> Closed passive DATA connection 19:28:04.067313 > "226 File transfer complete[CR][LF]" 19:28:04.100369 < "QUIT" 19:28:04.100437 > "221 bye bye baby[CR][LF]" 19:28:04.101752 MAIN sockfilt said DISC 19:28:04.101786 ====> Client disconnected 19:28:04.101885 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:03.641237 ====> Client connect 19:28:03.646211 Received DATA (on stdin) 19:28:03.646244 > 146 bytes data, server => client 19:28:03.646255 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:03.646265 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:03.646274 '220 \___|\___/|_| \_\_____|\r\n' 19:28:03.646397 < 16 bytes data, client => server 19:28:03.646409 'USER anonymous\r\n' 19:28:03.646616 Received DATA (on stdin) 19:28:03.646627 > 33 bytes data, server => client 19:28:03.646637 '331 We are happy you popped in!\r\n' 19:28:03.646690 < 22 bytes data, client => server 19:28:03.646700 'PASS ftp@example.com\r\n' 19:28:03.646794 Received DATA (on stdin) 19:28:03.646804 > 30 bytes data, server => client 19:28:03.646814 '230 Welcome you silly person\r\n' 19:28:03.646863 < 5 bytes data, client => server 19:28:03.646873 'PWD\r\n' 19:28:03.646967 Received DATA (on stdin) 19:28:03.646978 > 30 bytes data, server => client 19:28:03.646987 '257 "/" is current directory\r\n' 19:28:03.647046 < 6 bytes data, client => server 19:28:03.647055 'EPSV\r\n' 19:28:03.656213 Received DATA (on stdin) 19:28:03.656242 > 39 bytes data, server => client 19:28:03.656254 '229 Entering Passive Mode (|||42397|)\r\n' 19:28:03.656448 < 8 bytes data, client => server 19:28:03.656464 'TYPE I\r\n' 19:28:03.659954 Received DATA (on stdin) 19:28:03.659968 > 33 bytes data, server => client 19:28:03.659979 '200 I modify TYPE as you wanted\r\n' 19:28:03.660077 < 21 bytes data, client => server 19:28:03.660089 'SIZE verifiedserver\r\n' 19:28:03.660207 Received DATA (on stdin) 19:28:03.660217 > 8 bytes data, server => client 19:28:03.660227 '213 17\r\n' 19:28:03.660279 < 21 bytes data, client => server 19:28:03.660290 'RETR verifiedserver\r\n' 19:28:03.660509 Received DATA (on stdin) 19:28:03.660520 > 29 bytes data, server => client 19:28:03.660529 '150 Binary junk (17 bytes).\r\n' 19:28:03.671549 Received DATA (on stdin) 19:28:03.671569 > 28 bytes data, server => client 19:28:03.671580 '226 File transfer complete\r\n' 19:28:03.704357 < 6 bytes data, client => server 19:28:03.704397 'QUIT\r\n' 19:28:03.704665 Received DATA (on stdin) 19:28:03.704679 > 18 bytes data, server => client 19:28:03.704689 '221 bye bye baby\r\n' 19:28:03.705913 ====> Client disconnect 19:28:03.706114 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:04.649311 Running IPv4 version 19:28:04.649385 Listening on port 42397 19:28:04.649423 Wrote pid 139916 to log/21/server/ftp_sockdata.pid 19:28:04.653045 Received PING (on stdin) 19:28:04.653158 Received PORT (on stdin) 19:28:04.659633 ====> Client connect 19:28:04.660555 Received DATA (on stdin) 19:28:04.660567 > 17 bytes data, server => client 19:28:04.660576 'WE ROOLZ: 84694\r\n' 19:28:04.660600 Received DISC (on stdin) 19:28:04.660610 ====> Client forcibly disconnected 19:28:04.660760 Received QUIT (on stdin) 19:28:04.660770 quits 19:28:04.669850 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 200 fine Testnum 1107 === End of file server.cmd === Start of file valgrind1107 ==139939== ==139939== Process terminating with default action of signal 4 (SIGILL) ==139939== Illegal opcode at address 0x492B75F ==139939== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139939== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139939== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139939== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139939== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139939== by 0x49908EB: curl_version_info (version.c:600) ==139939== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139939== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139939== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139939== by 0x4003269: main (tool_main.c:195) === End of file valgrind1107 test 1114 [FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:44883/fully_simulated/DOS/* > log/15/stdout1114 2> log/15/stderr1114 1114: stdout FAILED: --- log/15/check-expected 2026-10-15 19:28:06.673878808 +0000 +++ log/15/check-generated 2026-10-15 19:28:06.670822651 +0000 @@ -1,96 +0,0 @@ -=============================================================[LF] -Remains: 12[LF] -Filename: .[LF] -Size: 0B[LF] -Time: 04-27-10 05:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 11[LF] -Filename: ..[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 10[LF] -Filename: chmod1[LF] -Size: 38B[LF] -Time: 01-11-10 10:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 444[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 9[LF] -Filename: chmod2[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 666[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 8[LF] -Filename: chmod3[LF] -Size: 38B[LF] -Time: 02-01-10 08:00AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This file should have permissions 777[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 7[LF] -Filename: chmod4[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 6[LF] -Filename: chmod5[LF] -Size: 0B[LF] -Time: 05-04-10 04:31AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 5[LF] -Filename: empty_file.dat[LF] -Size: 0B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 4[LF] -Filename: file.txt[LF] -Size: 35B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -This is content of file "file.txt"[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 3[LF] -Filename: .NeXT[LF] -Size: 0B[LF] -Time: 01-23-05 02:05AM[LF] -Filetype: directory[LF] -=============================================================[LF] -Remains: 2[LF] -Filename: someothertext.txt[LF] -Size: 47B[LF] -Time: 04-27-10 11:01AM[LF] -Filetype: regular file[LF] -Content:[LF] --------------------------------------------------------------[LF] -# THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] --------------------------------------------------------------[LF] -=============================================================[LF] -Remains: 1[LF] -Filename: weirddir.txt[LF] -Size: 0B[LF] -Time: 04-23-10 03:12AM[LF] -Filetype: directory[LF] -=============================================================[LF] == Contents of files in the log/15/ directory after test 1114 === Start of file check-expected =============================================================[LF] Remains: 12[LF] Filename: .[LF] Size: 0B[LF] Time: 04-27-10 05:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 11[LF] Filename: ..[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 10[LF] Filename: chmod1[LF] Size: 38B[LF] Time: 01-11-10 10:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 444[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 9[LF] Filename: chmod2[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 666[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 8[LF] Filename: chmod3[LF] Size: 38B[LF] Time: 02-01-10 08:00AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This file should have permissions 777[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 7[LF] Filename: chmod4[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 6[LF] Filename: chmod5[LF] Size: 0B[LF] Time: 05-04-10 04:31AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 5[LF] Filename: empty_file.dat[LF] Size: 0B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 4[LF] Filename: file.txt[LF] Size: 35B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] This is content of file "file.txt"[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 3[LF] Filename: .NeXT[LF] Size: 0B[LF] Time: 01-23-05 02:05AM[LF] Filetype: directory[LF] =============================================================[LF] Remains: 2[LF] Filename: someothertext.txt[LF] Size: 47B[LF] Time: 04-27-10 11:01AM[LF] Filetype: regular file[LF] Content:[LF] -------------------------------------------------------------[LF] # THIS CONTENT WAS SKIPPED IN CHUNK_BGN CALLBACK #[LF] -------------------------------------------------------------[LF] =============================================================[LF] Remains: 1[LF] Filename: weirddir.txt[LF] Size: 0B[LF] Time: 04-23-10 03:12AM[LF] Filetype: directory[LF] =============================================================[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1114 ./libtest/libtCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/15/stdout1135 2> log/15/stderr1135 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1115 ../src/curl -q --output log/2/curl1115.out --include --trace-ascii log/2/trace1115 --trace-time http://127.0.0.1:34531/1115 > log/2/stdout1115 2> log/2/stderr1115 ests lib576 ftp://127.0.0.1:44883/fully_simulated/DOS/* > log/15/stdout1114 2> log/15/stderr1114 === End of file commands.log === Start of file ftp_server.log 19:28:04.509627 ====> Client connect 19:28:04.509885 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:04.510516 < "USER anonymous" 19:28:04.510563 > "331 We are happy you popped in![CR][LF]" 19:28:04.510765 < "PASS ftp@example.com" 19:28:04.510801 > "230 Welcome you silly person[CR][LF]" 19:28:04.510977 < "PWD" 19:28:04.511014 > "257 "/" is current directory[CR][LF]" 19:28:04.511201 < "EPSV" 19:28:04.511227 ====> Passive DATA channel requested by client 19:28:04.511241 DATA sockfilt for passive data channel starting... 19:28:04.516606 DATA sockfilt for passive data channel started (pid 140213) 19:28:04.516737 DATA sockfilt for passive data channel listens on port 36851 19:28:04.516791 > "229 Entering Passive Mode (|||36851|)[CR][LF]" 19:28:04.516813 Client has been notified that upcoming DATA connection is awaited on port 36851 19:28:04.517156 Client connects to port 36851 19:28:04.517189 ====> Client established passive DATA connection on port 36851 19:28:04.517279 < "TYPE I" 19:28:04.517316 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:04.517495 < "SIZE verifiedserver" 19:28:04.517535 > "213 17[CR][LF]" 19:28:04.517704 < "RETR verifiedserver" 19:28:04.517739 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:04.517831 =====> Closing passive DATA connection... 19:28:04.517851 Server disconnects passive DATA connection 19:28:04.518051 Server disconnected passive DATA connection 19:28:04.518079 DATA sockfilt for passive data channel quits (pid 140213) 19:28:04.518402 DATA sockfilt for passive data channel quit (pid 140213) 19:28:04.518430 =====> Closed passive DATA connection 19:28:04.518459 > "226 File transfer complete[CR][LF]" 19:28:04.568839 < "QUIT" 19:28:04.568903 > "221 bye bye baby[CR][LF]" 19:28:04.570198 MAIN sockfilt said DISC 19:28:04.570247 ====> Client disconnected 19:28:04.570343 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:04.109137 ====> Client connect 19:28:04.114352 Received DATA (on stdin) 19:28:04.114383 > 146 bytes data, server => client 19:28:04.114395 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:04.114406 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:04.114415 '220 \___|\___/|_| \_\_____|\r\n' 19:28:04.114532 < 16 bytes data, client => server 19:28:04.114547 'USER anonymous\r\n' 19:28:04.114756 Received DATA (on stdin) 19:28:04.114769 > 33 bytes data, server => client 19:28:04.114779 '331 We are happy you popped in!\r\n' 19:28:04.114842 < 22 bytes data, client => server 19:28:04.114854 'PASS ftp@example.com\r\n' 19:28:04.114990 Received DATA (on stdin) 19:28:04.115001 > 30 bytes data, server => client 19:28:04.115011 '230 Welcome you silly person\r\n' 19:28:04.115069 < 5 bytes data, client => server 19:28:04.115079 'PWD\r\n' 19:28:04.115201 Received DATA (on stdin) 19:28:04.115212 > 30 bytes data, server => client 19:28:04.115224 '257 "/" is current directory\r\n' 19:28:04.115294 < 6 bytes data, client => server 19:28:04.115307 'EPSV\r\n' 19:28:04.121013 Received DATA (on stdin) 19:28:04.121038 > 39 bytes data, server => client 19:28:04.121049 '229 Entering Passive Mode (|||36851|)\r\n' 19:28:04.121248 < 8 bytes data, client => server 19:28:04.121270 'TYPE I\r\n' 19:28:04.121503 Received DATA (on stdin) 19:28:04.121515 > 33 bytes data, server => client 19:28:04.121526 '200 I modify TYPE as you wanted\r\n' 19:28:04.121586 < 21 bytes data, client => server 19:28:04.121599 'SIZE verifiedserver\r\n' 19:28:04.121721 Received DATA (on stdin) 19:28:04.121733 > 8 bytes data, server => client 19:28:04.121742 '213 17\r\n' 19:28:04.121799 < 21 bytes data, client => server 19:28:04.121810 'RETR verifiedserver\r\n' 19:28:04.122037 Received DATA (on stdin) 19:28:04.122049 > 29 bytes data, server => client 19:28:04.122059 '150 Binary junk (17 bytes).\r\n' 19:28:04.122647 Received DATA (on stdin) 19:28:04.122659 > 28 bytes data, server => client 19:28:04.122669 '226 File transfer complete\r\n' 19:28:04.169562 < 6 bytes data, client => server 19:28:04.169600 'QUIT\r\n' 19:28:04.173096 Received DATA (on stdin) 19:28:04.173118 > 18 bytes data, server => client 19:28:04.173129 '221 bye bye baby\r\n' 19:28:04.174312 ====> Client disconnect 19:28:04.174534 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:04.117633 Running IPv4 version 19:28:04.117702 Listening on port 36851 19:28:04.117739 Wrote pid 140213 to log/15/server/ftp_sockdata.pid 19:28:04.120723 Received PING (on stdin) 19:28:04.120827 Received PORT (on stdin) 19:28:04.121292 ====> Client connect 19:28:04.122120 Received DATA (on stdin) 19:28:04.122134 > 17 bytes data, server => client 19:28:04.122144 'WE ROOLZ: 84744\r\n' 19:28:04.122172 Received DISC (on stdin) 19:28:04.122184 ====> Client forcibly disconnected 19:28:04.122332 Received QUIT (on stdin) 19:28:04.122347 quits 19:28:04.122411 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1114 === End of file server.cmd === Start of file valgrind1114 ==140238== ==140238== Process terminating with default action of signal 4 (SIGILL) ==140238== Illegal opcode at address 0x51CC63F ==140238== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==140238== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==140238== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==140238== by 0x40041AF: main (first.c:264) === End of file valgrind1114 test 1135 [Verify CURL_EXTERN order] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/15/stdout1135 2> log/15/stderr1135 valgrind SKIPPED s------e--- OK (1036 out of 1890, remaining: 01:47, took 0.073s, duration: 02:09) test 1115 [HTTP GET with unexpected 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1115 ../src/curl -q --output log/2/curl1115.out --include --trace-ascii log/2/trace1115 --trace-time http://127.0.0.1:34531/1115 > log/2/stdout1115 2> log/2/stderr1115 1115: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1115 ../src/curl -q --output log/2/curl1115.out --include --trace-ascii log/2/trace1115 --trace-time http://127.0.0.1:34531/1115 > log/2/stdout1115 2> log/2/stderr1115 === End of file commands.log === Start of file http_server.log 19:28:05.277144 ====> Client connect 19:28:05.277197 accept_connection 3 returned 4 19:28:05.277224 Read 93 bytes 19:28:05.277235 Process 93 bytes request 19:28:05.277249 Got request: GET /verifiedserver HTTP/1.1 19:28:05.277257 Are-we-friendly question received 19:28:05.277290 Wrote request (93 bytes) input to log/2/server.input 19:28:05.277317 Identifying ourselves as friends 19:28:05.277394 Response sent (56 bytes) and written to log/2/server.response 19:28:05.277406 special request received, no persistency 19:28:05.277415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 41880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1109 ../src/curl -q --output log/7/curl1109.out --include --trace-ascii log/7/trace1109 --trace-time http://127.0.0.1:40859/1109#test > log/7/stdout1109 2> log/7/stderr1109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1108 ../src/curl -q --output log/22/curl1108.out --include --trace-ascii log/22/trace1108 --trace-time ftp://127.0.0.1:33255/1108 --ftp-pret > log/22/stdout1108 2> log/22/stderr1108 === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1115 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1115 ==140334== ==140334== Process terminating with default action of signal 4 (SIGILL) ==140334== Illegal opcode at address 0x492B75F ==140334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140334== by 0x49908EB: curl_version_info (version.c:600) ==140334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140334== by 0x4003269: main (tool_main.c:195) === End of file valgrind1115 test 1109 [HTTP GET with URL that contains fragment after the path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1109 ../src/curl -q --output log/7/curl1109.out --include --trace-ascii log/7/trace1109 --trace-time http://127.0.0.1:40859/1109#test > log/7/stdout1109 2> log/7/stderr1109 1109: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1109 ../src/curl -q --output log/7/curl1109.out --include --trace-ascii log/7/trace1109 --trace-time http://127.0.0.1:40859/1109#test > log/7/stdout1109 2> log/7/stderr1109 === End of file commands.log === Start of file http_server.log 19:28:03.746253 ====> Client connect 19:28:03.746291 accept_connection 3 returned 4 19:28:03.746314 Read 93 bytes 19:28:03.746324 Process 93 bytes request 19:28:03.746335 Got request: GET /verifiedserver HTTP/1.1 19:28:03.746343 Are-we-friendly question received 19:28:03.746367 Wrote request (93 bytes) input to log/7/server.input 19:28:03.746382 Identifying ourselves as friends 19:28:03.746465 Response sent (56 bytes) and written to log/7/server.response 19:28:03.746474 special request received, no persistency 19:28:03.746481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 49224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1109 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1109 ==139953== ==139953== Process terminating with default action of signal 4 (SIGILL) ==139953== Illegal opcode at address 0x492B75F ==139953== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139953== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139953== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139953== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139953== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139953== by 0x49908EB: curl_version_info (version.c:600) ==139953== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139953== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139953== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139953== by 0x4003269: main (tool_main.c:195) === End of file valgrind1109 test 1108 [FTP RETR PASV with PRET not supported] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1108 ../src/curl -q --output log/22/curl1108.out --include --trace-ascii log/22/trace1108 --trace-time ftp://127.0.0.1:33255/1108 --ftp-pret > log/22/stdout1108 2> log/22/stderr1108 1108: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1108 ../src/curl -q --output log/22/curl1108.out --include --trace-ascii log/22/trace1108 --trace-time ftp://127.0.0.1:33255/1108 --ftp-pret > log/22/stdout1108 2> log/22/stderr1108 === End of file commands.log === Start of file ftp_server.log 19:28:04.052029 ====> Client connect 19:28:04.060764 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:04.065457 < "USER anonymous" 19:28:04.065524 > "331 We are happy you popped in![CR][LF]" 19:28:04.066006 < "PASS ftp@example.com" 19:28:04.066047 > "230 Welcome you silly person[CR][LF]" 19:28:04.066232 < "PWD" 19:28:04.066273 > "257 "/" is current directory[CR][LF]" 19:28:04.066455 < "EPSV" 19:28:04.066482 ====> Passive DATA channel requested by client 19:28:04.066497 DATA sockfilt for passive data channel starting... 19:28:04.073964 DATA sockfilt for passive data channel started (pid 139922) 19:28:04.074117 DATA sockfilt for passive data channel listens on port 44805 19:28:04.074177 > "229 Entering Passive Mode (|||44805|)[CR][LF]" 19:28:04.074200 Client has been notified that upcoming DATA connection is awaited on port 44805 19:28:04.074561 Client connects to port 44805 19:28:04.074599 ====> Client established passive DATA connection on port 44805 19:28:04.074707 < "TYPE I" 19:28:04.074748 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:04.074950 < "SIZE verifiedserver" 19:28:04.074993 > "213 17[CR][LF]" 19:28:04.075180 < "RETR verifiedserver" 19:28:04.075224 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:04.075326 =====> Closing passive DATA connection... 19:28:04.075349 Server disconnects passive DATA connection 19:28:04.075624 Server disconnected passive DATA connection 19:28:04.075653 DATA sockfilt for passive data channel quits (pid 139922) 19:28:04.075931 DATA sockfilt for passive data channel quit (pid 139922) 19:28:04.075963 =====> Closed passive DATA connection 19:28:04.076025 > "226 File transfer complete[CR][LF]" 19:28:04.122314 < "QUIT" 19:28:04.122368 > "221 bye bye baby[CR][LF]" 19:28:04.123639 MAIN sockfilt said DISC 19:28:04.123681 ====> Client disconnected 19:28:04.123768 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:04.648197 ====> Client connect 19:28:04.665010 Received DATA (on stdin) 19:28:04.665030 > 146 bytes data, server => client 19:28:04.665040 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:04.665049 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:04.665057 '220 \___|\___/|_| \_\_____|\r\n' 19:28:04.665174 < 16 bytes data, client => server 19:28:04.665185 'USER anonymous\r\n' 19:28:04.669759 Received DATA (on stdin) 19:28:04.669779 > 33 bytes data, server => client 19:28:04.669789 '331 We are happy you popped in!\r\n' 19:28:04.670084 < 22 bytes data, client => server 19:28:04.670100 'PASS ftp@example.com\r\n' 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1118 ../src/curl -q --output log/12/curl1118.out --include --trace-ascii log/12/trace1118 --trace-time http://127.0.0.1:40921?email=name@example.com/1118 > log/12/stdout1118 2> log/12/stderr1118 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/22/stdout1139 2> log/22/stderr1139 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/12/stdout1140 2> log/12/stderr1140 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1111 ../src/curl -q --output log/11/curl1111.out --include --trace-ascii log/11/trace1111 --trace-time http://127.0.0.1:40989/1111?q=foobar#fragment#fragment2 > log/11/stdout1111 2> log/11/stderr1111 :28:04.670267 Received DATA (on stdin) 19:28:04.670279 > 30 bytes data, server => client 19:28:04.670289 '230 Welcome you silly person\r\n' 19:28:04.670348 < 5 bytes data, client => server 19:28:04.670359 'PWD\r\n' 19:28:04.670491 Received DATA (on stdin) 19:28:04.670501 > 30 bytes data, server => client 19:28:04.670514 '257 "/" is current directory\r\n' 19:28:04.670580 < 6 bytes data, client => server 19:28:04.670592 'EPSV\r\n' 19:28:04.678432 Received DATA (on stdin) 19:28:04.678451 > 39 bytes data, server => client 19:28:04.678462 '229 Entering Passive Mode (|||44805|)\r\n' 19:28:04.678687 < 8 bytes data, client => server 19:28:04.678706 'TYPE I\r\n' 19:28:04.678972 Received DATA (on stdin) 19:28:04.678987 > 33 bytes data, server => client 19:28:04.678998 '200 I modify TYPE as you wanted\r\n' 19:28:04.679065 < 21 bytes data, client => server 19:28:04.679079 'SIZE verifiedserver\r\n' 19:28:04.679213 Received DATA (on stdin) 19:28:04.679225 > 8 bytes data, server => client 19:28:04.679234 '213 17\r\n' 19:28:04.679298 < 21 bytes data, client => server 19:28:04.679312 'RETR verifiedserver\r\n' 19:28:04.679570 Received DATA (on stdin) 19:28:04.679583 > 29 bytes data, server => client 19:28:04.679594 '150 Binary junk (17 bytes).\r\n' 19:28:04.680188 Received DATA (on stdin) 19:28:04.680200 > 28 bytes data, server => client 19:28:04.680245 '226 File transfer complete\r\n' 19:28:04.726332 < 6 bytes data, client => server 19:28:04.726366 'QUIT\r\n' 19:28:04.726585 Received DATA (on stdin) 19:28:04.726598 > 18 bytes data, server => client 19:28:04.726607 '221 bye bye baby\r\n' 19:28:04.727793 ====> Client disconnect 19:28:04.727980 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:04.677736 Running IPv4 version 19:28:04.677859 Listening on port 44805 19:28:04.677912 Wrote pid 139922 to log/22/server/ftp_sockdata.pid 19:28:04.678110 Received PING (on stdin) 19:28:04.678227 Received PORT (on stdin) 19:28:04.678729 ====> Client connect 19:28:04.679659 Received DATA (on stdin) 19:28:04.679674 > 17 bytes data, server => client 19:28:04.679685 'WE ROOLZ: 84714\r\n' 19:28:04.679717 Received DISC (on stdin) 19:28:04.679732 ====> Client forcibly disconnected 19:28:04.679884 Received QUIT (on stdin) 19:28:04.679897 quits 19:28:04.679963 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PRET 550 unknown command Testnum 1108 === End of file server.cmd === Start of file valgrind1108 ==139945== ==139945== Process terminating with default action of signal 4 (SIGILL) ==139945== Illegal opcode at address 0x492B75F ==139945== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==139945== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==139945== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==139945== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==139945== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==139945== by 0x49908EB: curl_version_info (version.c:600) ==139945== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==139945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==139945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==139945== by 0x4003269: main (tool_main.c:195) === End of file valgrind1108 test 1118 [URL without slash and @-letter in query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1118 ../src/curl -q --output log/12/curl1118.out --include --trace-ascii log/12/trace1118 --trace-time http://127.0.0.1:40921?email=name@example.com/1118 > log/12/stdout1118 2> log/12/stderr1118 1118: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1118 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1118 ../src/curl -q --output log/12/curl1118.out --include --trace-ascii log/12/trace1118 --trace-time http://127.0.0.1:40921?email=name@example.com/1118 > log/12/stdout1118 2> log/12/stderr1118 === End of file commands.log === Start of file http_server.log 19:28:04.710120 ====> Client connect 19:28:04.710170 accept_connection 3 returned 4 19:28:04.711842 Read 93 bytes 19:28:04.711860 Process 93 bytes request 19:28:04.711874 Got request: GET /verifiedserver HTTP/1.1 19:28:04.711884 Are-we-friendly question received 19:28:04.711922 Wrote request (93 bytes) input to log/12/server.input 19:28:04.711942 Identifying ourselves as friends 19:28:04.712016 Response sent (56 bytes) and written to log/12/server.response 19:28:04.712029 special request received, no persistency 19:28:04.712038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1118 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1118 ==140565== ==140565== Process terminating with default action of signal 4 (SIGILL) ==140565== Illegal opcode at address 0x492B75F ==140565== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140565== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140565== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140565== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140565== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140565== by 0x49908EB: curl_version_info (version.c:600) ==140565== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140565== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140565== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140565== by 0x4003269: main (tool_main.c:195) === End of file valgrind1118 test 1139 [Verify that all libcurl options have man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1139.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/22/stdout1139 2> log/22/stderr1139 valgrind SKIPPED -r-----e--- OK (1040 out of 1890, remaining: 01:46, took 0.082s, duration: 02:10) test 1140 [Verify the nroff of man pages] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1140.pl /startdir/src/build-curl/tests/../docs/ /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 > log/12/stdout1140 2> log/12/stderr1140 valgrind SKIPPED s------e--- OK (1041 out of 1890, remaining: 01:46, took 0.077s, duration: 02:10) test 1111 [HTTP GET with URL whose fragment contains a # (which is illegal)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1111 ../src/curl -q --output log/11/curl1111.out --include --trace-ascii log/11/trace1111 --trace-time http://127.0.0.1:40989/1111?q=foobar#fragment#fragment2 > log/11/stdout1111 2> log/11/stderr1111 1111: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1117 ../src/curl -q --include --trace-ascii log/8/trace1117 --trace-time -r 10-22 http://127.0.0.1:44467/want/1117 http://127.0.0.1:44467/wantmore/11170001 > log/8/stdout1117 2> log/8/stderr1117 rind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1111 ../src/curl -q --output log/11/curl1111.out --include --trace-ascii log/11/trace1111 --trace-time http://127.0.0.1:40989/1111?q=foobar#fragment#fragment2 > log/11/stdout1111 2> log/11/stderr1111 === End of file commands.log === Start of file http_server.log 19:28:04.031397 ====> Client connect 19:28:04.031439 accept_connection 3 returned 4 19:28:04.031463 Read 93 bytes 19:28:04.031473 Process 93 bytes request 19:28:04.031486 Got request: GET /verifiedserver HTTP/1.1 19:28:04.031495 Are-we-friendly question received 19:28:04.031523 Wrote request (93 bytes) input to log/11/server.input 19:28:04.031540 Identifying ourselves as friends 19:28:04.031614 Response sent (56 bytes) and written to log/11/server.response 19:28:04.031624 special request received, no persistency 19:28:04.031633 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 54218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1111 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1111 ==140185== ==140185== Process terminating with default action of signal 4 (SIGILL) ==140185== Illegal opcode at address 0x492B75F ==140185== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140185== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140185== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140185== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140185== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140185== by 0x49908EB: curl_version_info (version.c:600) ==140185== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140185== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140185== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140185== by 0x4003269: main (tool_main.c:195) === End of file valgrind1111 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1110 ../src/curl -q --output log/3/curl1110.out --include --trace-ascii log/3/trace1110 --trace-time http://127.0.0.1:36161/1110?q=foobar#fragment > log/3/stdout1110 2> log/3/stderr1110 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1120 ../src/curl -q --output log/13/curl1120.out --include --trace-ascii log/13/trace1120 --trace-time ftp://127.0.0.1:33695/a/path/1120 > log/13/stdout1120 2> log/13/stderr1120 test 1117 [HTTP with invalid range then another URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1117 ../src/curl -q --include --trace-ascii log/8/trace1117 --trace-time -r 10-22 http://127.0.0.1:44467/want/1117 http://127.0.0.1:44467/wantmore/11170001 > log/8/stdout1117 2> log/8/stderr1117 1117: stdout FAILED: --- log/8/check-expected 2026-10-15 19:28:07.291076426 +0000 +++ log/8/check-generated 2026-10-15 19:28:07.287531523 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] -Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 115[CR][LF] -[CR][LF] -This is a long error message that is large enough that the test server is[LF] -guaranteed to split it into two packets.[LF] -HTTP/1.1 206 Partial Content[CR][LF] -Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Range: bytes 10-18/155[CR][LF] -Content-Length: 13[CR][LF] -Content-Type: text/plain[CR][LF] -[CR][LF] -partial body[LF] == Contents of files in the log/8/ directory after test 1117 === Start of file check-expected HTTP/1.1 416 Requested Range Not Satisfiable[CR][LF] Date: Tue, 09 Sep 2010 14:49:00 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 115[CR][LF] [CR][LF] This is a long error message that is large enough that the test server is[LF] guaranteed to split it into two packets.[LF] HTTP/1.1 206 Partial Content[CR][LF] Date: Tue, 09 Sep 2010 14:49:01 GMT[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Range: bytes 10-18/155[CR][LF] Content-Length: 13[CR][LF] Content-Type: text/plain[CR][LF] [CR][LF] partial body[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1117 ../src/curl -q --include --trace-ascii log/8/trace1117 --trace-time -r 10-22 http://127.0.0.1:44467/want/1117 http://127.0.0.1:44467/wantmore/11170001 > log/8/stdout1117 2> log/8/stderr1117 === End of file commands.log === Start of file http_server.log 19:28:04.562932 ====> Client connect 19:28:04.562969 accept_connection 3 returned 4 19:28:04.562992 Read 93 bytes 19:28:04.563002 Process 93 bytes request 19:28:04.563014 Got request: GET /verifiedserver HTTP/1.1 19:28:04.563023 Are-we-friendly question received 19:28:04.563049 Wrote request (93 bytes) input to log/8/server.input 19:28:04.563064 Identifying ourselves as friends 19:28:04.563140 Response sent (56 bytes) and written to log/8/server.response 19:28:04.563149 special request received, no persistency 19:28:04.563157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 50594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd writedelay: 100 Testnum 1117 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1117 ==140468== ==140468== Process terminating with default action of signal 4 (SIGILL) ==140468== Illegal opcode at address 0x492B75F ==140468== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140468== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140468== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140468== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140468== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140468== by 0x49908EB: curl_version_info (version.c:600) ==140468== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140468== by 0x4003269: main (tool_main.c:195) === End of file valgrind1117 test 1110 [HTTP GET with URL that contains a fragment after the query part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1110 ../src/curl -q --output log/3/curl1110.out --include --trace-ascii log/3/trace1110 --trace-time http://127.0.0.1:36161/1110?q=foobar#fragment > log/3/stdout1110 2> log/3/stderr1110 1110: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1110 ../src/curl -q --output log/3/curl1110.out --include --trace-ascii log/3/trace1110 --trace-time http://127.0.0.1:36161/1110?q=foobar#fragment > log/3/stdout1110 2> log/3/stderr1110 === End of file commands.log === Start of file http_server.log 19:28:04.822930 ====> Client connect 19:28:04.822968 accept_connection 3 returned 4 19:28:04.822990 Read 93 bytes 19:28:04.822999 Process 93 bytes request 19:28:04.823012 Got request: GET /verifiedserver HTTP/1.1 19:28:04.823020 Are-we-friendly question received 19:28:04.823049 Wrote request (93 bytes) input to log/3/server.input 19:28:04.823065 Identifying ourselves as friends 19:28:04.823131 Response sent (56 bytes) and written to log/3/server.response 19:28:04.823140 special request received, no persistency 19:28:04.823147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 58670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1110 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1110 ==140050== ==140050== Process terminating with default action of signal 4 (SIGILL) ==140050== Illegal opcode at address 0x492B75F ==140050== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140050== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140050== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140050== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140050== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140050== by 0x49908EB: curl_version_info (version.c:600) ==140050== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140050== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140050== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140050== by 0x4003269: main (tool_main.c:195) === End of file valgrind1110 test 1120 [FTP with 421 timeout response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1120 ../src/curl -q --output log/13/curl1120.out --include --trace-ascii log/13/trace1120 --trace-time ftp://127.0.0.1:33695/a/path/1120 > log/13/stdout1120 2> log/13/stderr1120 1120: protocol FAILED! There was no content at all in the file log/13/server.input. Server gCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1123 ../src/curl -q --output log/6/curl1123.out --include --trace-ascii log/6/trace1123 --trace-time http://127.0.0.1:33935/1123 --tr-encoding > log/6/stdout1123 2> log/6/stderr1123 litch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1120 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1120 ../src/curl -q --output log/13/curl1120.out --include --trace-ascii log/13/trace1120 --trace-time ftp://127.0.0.1:33695/a/path/1120 > log/13/stdout1120 2> log/13/stderr1120 === End of file commands.log === Start of file ftp_server.log 19:28:05.382169 ====> Client connect 19:28:05.382394 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:05.392326 < "USER anonymous" 19:28:05.392389 > "331 We are happy you popped in![CR][LF]" 19:28:05.392657 < "PASS ftp@example.com" 19:28:05.392704 > "230 Welcome you silly person[CR][LF]" 19:28:05.392908 < "PWD" 19:28:05.392950 > "257 "/" is current directory[CR][LF]" 19:28:05.393157 < "EPSV" 19:28:05.393187 ====> Passive DATA channel requested by client 19:28:05.393203 DATA sockfilt for passive data channel starting... 19:28:05.405450 DATA sockfilt for passive data channel started (pid 140705) 19:28:05.405612 DATA sockfilt for passive data channel listens on port 43707 19:28:05.405665 > "229 Entering Passive Mode (|||43707|)[CR][LF]" 19:28:05.405684 Client has been notified that upcoming DATA connection is awaited on port 43707 19:28:05.418708 Client connects to port 43707 19:28:05.418787 ====> Client established passive DATA connection on port 43707 19:28:05.418905 < "TYPE I" 19:28:05.418945 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:05.422278 < "SIZE verifiedserver" 19:28:05.422335 > "213 17[CR][LF]" 19:28:05.422520 < "RETR verifiedserver" 19:28:05.422560 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:05.422653 =====> Closing passive DATA connection... 19:28:05.422668 Server disconnects passive DATA connection 19:28:05.422952 Server disconnected passive DATA connection 19:28:05.422985 DATA sockfilt for passive data channel quits (pid 140705) 19:28:05.423270 DATA sockfilt for passive data channel quit (pid 140705) 19:28:05.423301 =====> Closed passive DATA connection 19:28:05.423335 > "226 File transfer complete[CR][LF]" 19:28:05.472336 < "QUIT" 19:28:05.472394 > "221 bye bye baby[CR][LF]" 19:28:05.473801 MAIN sockfilt said DISC 19:28:05.473848 ====> Client disconnected 19:28:05.473958 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:04.986131 ====> Client connect 19:28:04.986544 Received DATA (on stdin) 19:28:04.986563 > 146 bytes data, server => client 19:28:04.986574 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:04.986585 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:04.986594 '220 \___|\___/|_| \_\_____|\r\n' 19:28:04.996177 < 16 bytes data, client => server 19:28:04.996216 'USER anonymous\r\n' 19:28:04.996524 Received DATA (on stdin) 19:28:04.996539 > 33 bytes data, server => client 19:28:04.996550 '331 We are happy you popped in!\r\n' 19:28:04.996653 < 22 bytes data, client => server 19:28:04.996670 'PASS ftp@example.com\r\n' 19:28:04.996833 Received DATA (on stdin) 19:28:04.996847 > 30 bytes data, server => client 19:28:04.996857 '230 Welcome you silly person\r\n' 19:28:04.996925 < 5 bytes data, client => server 19:28:04.996939 'PWD\r\n' 19:28:04.997078 Received DATA (on stdin) 19:28:04.997091 > 30 bytes data, server => client 19:28:04.997101 '257 "/" is current directory\r\n' 19:28:04.997179 < 6 bytes data, client => server 19:28:04.997194 'EPSV\r\n' 19:28:05.019440 Received DATA (on stdin) 19:28:05.019476 > 39 bytes data, server => client 19:28:05.019487 '229 Entering Passive Mode (|||43707|)\r\n' 19:28:05.019691 < 8 bytes data, client => server 19:28:05.019707 'TYPE I\r\n' 19:28:05.026111 Received DATA (on stdin) 19:28:05.026145 > 33 bytes data, server => client 19:28:05.026156 '200 I modify TYPE as you wanted\r\n' 19:28:05.026251 < 21 bytes data, client => server 19:28:05.026265 'SIZE verifiedserver\r\n' 19:28:05.026458 Received DATA (on stdin) 19:28:05.026469 > 8 bytes data, server => client 19:28:05.026477 '213 17\r\n' 19:28:05.026538 < 21 bytes data, client => server 19:28:05.026550 'RETR verifiedserver\r\n' 19:28:05.026790 Received DATA (on stdin) 19:28:05.026800 > 29 bytes data, server => client 19:28:05.026810 '150 Binary junk (17 bytes).\r\n' 19:28:05.027459 Received DATA (on stdin) 19:28:05.027471 > 28 bytes data, server => client 19:28:05.027482 '226 File transfer complete\r\n' 19:28:05.076228 < 6 bytes data, client => server 19:28:05.076274 'QUIT\r\n' 19:28:05.076517 Received DATA (on stdin) 19:28:05.076531 > 18 bytes data, server => client 19:28:05.076540 '221 bye bye baby\r\n' 19:28:05.077852 ====> Client disconnect 19:28:05.078086 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:05.000829 Running IPv4 version 19:28:05.000931 Listening on port 43707 19:28:05.000970 Wrote pid 140705 to log/13/server/ftp_sockdata.pid 19:28:05.009462 Received PING (on stdin) 19:28:05.009624 Received PORT (on stdin) 19:28:05.019733 ====> Client connect 19:28:05.026885 Received DATA (on stdin) 19:28:05.026905 > 17 bytes data, server => client 19:28:05.026915 'WE ROOLZ: 93286\r\n' 19:28:05.026945 Received DISC (on stdin) 19:28:05.026957 ====> Client forcibly disconnected 19:28:05.027115 Received QUIT (on stdin) 19:28:05.027129 quits 19:28:05.027204 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 421 Timeout Testnum 1120 === End of file server.cmd === Start of file valgrind1120 ==140790== ==140790== Process terminating with default action of signal 4 (SIGILL) ==140790== Illegal opcode at address 0x492B75F ==140790== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140790== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140790== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140790== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140790== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140790== by 0x49908EB: curl_version_info (version.c:600) ==140790== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140790== by 0x4003269: main (tool_main.c:195) === End of file valgrind1120 test 1123 [HTTP GET deflate transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1123 ../src/curl -q --output log/6/curl1123.out --include --trace-ascii log/6/trace1123 --trace-time http://127.0.0.1:33935/1123 --tr-encoding > log/6/stdout1123 2> log/6/stderr1123 1123: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1123 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1123 ../src/curl -q --output log/6/curl1123.out --include --trace-ascii log/6/trace1123 --trace-time http://127.0.0.1:33935/1123 --tr-encoding > log/6/stdout1123 2> log/6/stderr1123 === End of file commands.log === Start of file http_server.log 19:28:05.041102 ====> Client connect 19:28:05.041144 accept_connection 3 returned 4 19:28:05.041171 Read 93 bytes 19:28:05.041181 Process 93 bytes request 19:28:05.041194 Got request: GET /verifiedserver HTTP/1.1 19:28:05.041203 Are-we-friendly question received 19:28:05.041231 Wrote request (93 bytes) input to log/6/server.input 19:28:05.041247 Identifying ourselves as friends 19:28:05.041333 Response sent (56 bytes) and written to log/6/server.reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1122 ../src/curl -q --output log/14/curl1122.out --include --trace-ascii log/14/trace1122 --trace-time http://127.0.0.1:45467/1122 --tr-encoding > log/14/stdout1122 2> log/14/stderr1122 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:33897/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/stderr1127 sponse 19:28:05.041343 special request received, no persistency 19:28:05.041352 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 43532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1123 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1123 ==140755== ==140755== Process terminating with default action of signal 4 (SIGILL) ==140755== Illegal opcode at address 0x492B75F ==140755== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140755== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140755== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140755== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140755== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140755== by 0x49908EB: curl_version_info (version.c:600) ==140755== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140755== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140755== by 0x4003269: main (tool_main.c:195) === End of file valgrind1123 test 1122 [HTTP GET gzip transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1122 ../src/curl -q --output log/14/curl1122.out --include --trace-ascii log/14/trace1122 --trace-time http://127.0.0.1:45467/1122 --tr-encoding > log/14/stdout1122 2> log/14/stderr1122 1122: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1122 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1122 ../src/curl -q --output log/14/curl1122.out --include --trace-ascii log/14/trace1122 --trace-time http://127.0.0.1:45467/1122 --tr-encoding > log/14/stdout1122 2> log/14/stderr1122 === End of file commands.log === Start of file http_server.log 19:28:05.018470 ====> Client connect 19:28:05.018505 accept_connection 3 returned 4 19:28:05.018527 Read 93 bytes 19:28:05.018537 Process 93 bytes request 19:28:05.018549 Got request: GET /verifiedserver HTTP/1.1 19:28:05.018557 Are-we-friendly question received 19:28:05.018584 Wrote request (93 bytes) input to log/14/server.input 19:28:05.018600 Identifying ourselves as friends 19:28:05.018660 Response sent (56 bytes) and written to log/14/server.response 19:28:05.018670 special request received, no persistency 19:28:05.018678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1122 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1122 ==140729== ==140729== Process terminating with default action of signal 4 (SIGILL) ==140729== Illegal opcode at address 0x492B75F ==140729== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140729== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140729== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140729== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140729== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140729== by 0x49908EB: curl_version_info (version.c:600) ==140729== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140729== by 0x4003269: main (tool_main.c:195) === End of file valgrind1122 test 1127 [HTTP 200 If-Modified-Since with older document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:33897/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/stderr1127 1127: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1127 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1127 ../src/curl -q --output log/20/curl1127.out --include --trace-ascii log/20/trace1127 --trace-time http://127.0.0.1:33897/1127 -z "dec 12 12:00:00 1999 GMT" > log/20/stdout1127 2> log/20/stderr1127 === End of file commands.log === Start of file http_server.log 19:28:05.454813 ====> Client connect 19:28:05.454855 accept_connection 3 returned 4 19:28:05.454880 Read 93 bytes 19:28:05.454891 Process 93 bytes request 19:28:05.454903 Got request: GET /verifiedserver HTTP/1.1 19:28:05.454912 Are-we-friendly question received 19:28:05.454945 Wrote request (93 bytes) input to log/20/server.input 19:28:05.454963 Identifying ourselves as friends 19:28:05.455037 Response sent (56 bytes) and written to log/20/server.response 19:28:05.455049 special request received, no persistency 19:28:05.455058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 60838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1127 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1127 ==141104== ==141104== Process terminating with default action of signal 4 (SIGILL) ==141104== Illegal opcode at address 0x492B75F ==141104== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141104== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141104== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141104== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141104== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141104== by 0x49908EB: curl_version_info (version.c:600) ==141104== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141104== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141104== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141104== by 0x4003269: main (tool_main.c:195) === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1116 ../src/curl -q --output log/9/curl1116.out --include --trace-ascii log/9/trace1116 --trace-time http://127.0.0.1:43733/1116 -D log/9/heads1116 > log/9/stdout1116 2> log/9/stderr1116 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1121 ../src/curl -q --output log/23/curl1121.out --include --trace-ascii log/23/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:44711/1121 > log/23/stdout1121 2> log/23/stderr1121 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1124 ../src/curl -q --output log/1/curl1124.out --include --trace-ascii log/1/trace1124 --trace-time http://127.0.0.1:38815/1124 --tr-encoding > log/1/stdout1124 2> log/1/stderr1124 End of file valgrind1127 test 1116 [HTTP GET with chunked trailer without Trailer:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1116 ../src/curl -q --output log/9/curl1116.out --include --trace-ascii log/9/trace1116 --trace-time http://127.0.0.1:43733/1116 -D log/9/heads1116 > log/9/stdout1116 2> log/9/stderr1116 1116: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1116 ../src/curl -q --output log/9/curl1116.out --include --trace-ascii log/9/trace1116 --trace-time http://127.0.0.1:43733/1116 -D log/9/heads1116 > log/9/stdout1116 2> log/9/stderr1116 === End of file commands.log === Start of file http_server.log 19:28:04.494961 ====> Client connect 19:28:04.494994 accept_connection 3 returned 4 19:28:04.495096 Read 93 bytes 19:28:04.495109 Process 93 bytes request 19:28:04.495122 Got request: GET /verifiedserver HTTP/1.1 19:28:04.495130 Are-we-friendly question received 19:28:04.495158 Wrote request (93 bytes) input to log/9/server.input 19:28:04.495174 Identifying ourselves as friends 19:28:04.495228 Response sent (56 bytes) and written to log/9/server.response 19:28:04.495237 special request received, no persistency 19:28:04.495245 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 46318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1116 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1116 ==140456== ==140456== Process terminating with default action of signal 4 (SIGILL) ==140456== Illegal opcode at address 0x492B75F ==140456== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140456== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140456== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140456== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140456== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140456== by 0x49908EB: curl_version_info (version.c:600) ==140456== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140456== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140456== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140456== by 0x4003269: main (tool_main.c:195) === End of file valgrind1116 test 1121 [HTTP multiple provided Host: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1121 ../src/curl -q --output log/23/curl1121.out --include --trace-ascii log/23/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:44711/1121 > log/23/stdout1121 2> log/23/stderr1121 1121: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1121 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1121 ../src/curl -q --output log/23/curl1121.out --include --trace-ascii log/23/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:44711/1121 > log/23/stdout1121 2> log/23/stderr1121 === End of file commands.log === Start of file http_server.log 19:28:05.021292 ====> Client connect 19:28:05.021325 accept_connection 3 returned 4 19:28:05.021346 Read 93 bytes 19:28:05.021356 Process 93 bytes request 19:28:05.021367 Got request: GET /verifiedserver HTTP/1.1 19:28:05.021376 Are-we-friendly question received 19:28:05.021403 Wrote request (93 bytes) input to log/23/server.input 19:28:05.021420 Identifying ourselves as friends 19:28:05.021494 Response sent (56 bytes) and written to log/23/server.response 19:28:05.021504 special request received, no persistency 19:28:05.021513 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 45350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1121 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1121 ==140728== ==140728== Process terminating with default action of signal 4 (SIGILL) ==140728== Illegal opcode at address 0x492B75F ==140728== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140728== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140728== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140728== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140728== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140728== by 0x49908EB: curl_version_info (version.c:600) ==140728== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140728== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140728== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140728== by 0x4003269: main (tool_main.c:195) === End of file valgrind1121 test 1124 [HTTP GET gzip+chunked transfer-encoded content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1124 ../src/curl -q --output log/1/curl1124.out --include --trace-ascii log/1/trace1124 --trace-time http://127.0.0.1:38815/1124 --tr-encoding > log/1/stdout1124 2> log/1/stderr1124 1124: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1124 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1124 ../src/curl -q --output log/1/curl1124.out --include --trace-ascii log/1/trace1124 --trace-time http://127.0.0.1:38815/1124 --tr-encoding > log/1/stdout1124 2> log/1/stderr1124 === End of file commands.log === Start of file http_server.log 19:28:06.110316 ====> Client connect 19:28:06.110353 accept_connection 3 returned 4 19:28:06.110374 Read 93 bytes 19:28:06.110384 Process 93 bytes request 19:28:06.110398 Got request: GET /verifiedserver HTTP/1.1 19:28:06.110407 Are-we-friendly question received 19:28:06.110437 Wrote request (93 bytes) input to log/1/server.input 19:28:06.110455 Identifying ourselves as friends 19:28:06.110524 Response sent (56 bytes) and written to log/1/server.response 19:28:06.110535 special request received, no CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1130 ../src/curl -q --include --trace-ascii log/4/trace1130 --trace-time -d @log/4/file1130 http://127.0.0.1:35735/1130 http://127.0.0.1:35735/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/4/stdout1130 2> log/4/stderr1130 persistency 19:28:06.110543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 46786 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1124 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1124 ==140828== ==140828== Process terminating with default action of signal 4 (SIGILL) ==140828== Illegal opcode at address 0x492B75F ==140828== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140828== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140828== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140828== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140828== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140828== by 0x49908EB: curl_version_info (version.c:600) ==140828== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140828== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140828== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140828== by 0x4003269: main (tool_main.c:195) === End of file valgrind1124 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1128 ../src/curl -q --include --trace-ascii log/18/trace1128 --trace-time http://127.0.0.1:43739/1128 http://127.0.0.1:43739/11280001 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1128 2> log/18/stderr1128 test 1130 [HTTP POST forced expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1130 ../src/curl -q --include --trace-ascii log/4/trace1130 --trace-time -d @log/4/file1130 http://127.0.0.1:35735/1130 http://127.0.0.1:35735/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/4/stdout1130 2> log/4/stderr1130 1130: stdout FAILED: --- log/4/check-expected 2026-10-15 19:28:08.210241977 +0000 +++ log/4/check-generated 2026-10-15 19:28:08.207593428 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/4/ directory after test 1130 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1130 ../src/curl -q --include --trace-ascii log/4/trace1130 --trace-time -d @log/4/file1130 http://127.0.0.1:35735/1130 http://127.0.0.1:35735/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/4/stdout1130 2> log/4/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 19:28:06.616151 ====> Client connect 19:28:06.616203 accept_connection 3 returned 4 19:28:06.616232 Read 93 bytes 19:28:06.616241 Process 93 bytes request 19:28:06.616253 Got request: GET /verifiedserver HTTP/1.1 19:28:06.616261 Are-we-friendly question received 19:28:06.616289 Wrote request (93 bytes) input to log/4/server.input 19:28:06.616305 Identifying ourselves as friends 19:28:06.616403 Response sent (56 bytes) and written to log/4/server.response 19:28:06.616415 special request received, no persistency 19:28:06.616424 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 51422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1130 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1130 ==141262== ==141262== Process terminating with default action of signal 4 (SIGILL) ==141262== Illegal opcode at address 0x492B75F ==141262== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141262== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141262== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141262== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141262== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141262== by 0x49908EB: curl_version_info (version.c:600) ==141262== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141262== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141262== by 0x4003269: main (tool_main.c:195) === End of file valgrind1130 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1125 ../src/curl -q --output log/16/curl1125.out --include --trace-ascii log/16/trace1125 --trace-time http://127.0.0.1:35903/1125 --tr-encoding -H "Connection: close" > log/16/stdout1125 2> log/16/stderr1125 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:40913/1131 -T log/10/file1131 http://127.0.0.1:40913/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 test 1128 [HTTP 200 If-Modified-Since with old+new documents] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1128 ../src/curl -q --include --trace-ascii log/18/trace1128 --trace-time http://127.0.0.1:43739/1128 http://127.0.0.1:43739/11280001 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1128 2> log/18/stderr1128 1128: stdout FAILED: --- log/18/check-expected 2026-10-15 19:28:08.227987968 +0000 +++ log/18/check-generated 2026-10-15 19:28:08.224261198 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] -Content-Length: 11[LF] -Content-Type: text/html[LF] -[LF] -0123456789[LF] == Contents of files in the log/18/ directory after test 1128 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 1980 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:01 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2002 12:10:00 GMT[LF] Content-Length: 11[LF] Content-Type: text/html[LF] [LF] 0123456789[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1128 ../src/curl -q --include --trace-ascii log/18/trace1128 --trace-time http://127.0.0.1:43739/1128 http://127.0.0.1:43739/11280001 -z "dec 12 12:00:00 1999 GMT" > log/18/stdout1128 2> log/18/stderr1128 === End of file commands.log === Start of file http_server.log 19:28:06.463574 ====> Client connect 19:28:06.463610 accept_connection 3 returned 4 19:28:06.463632 Read 93 bytes 19:28:06.463642 Process 93 bytes request 19:28:06.463654 Got request: GET /verifiedserver HTTP/1.1 19:28:06.463662 Are-we-friendly question received 19:28:06.463689 Wrote request (93 bytes) input to log/18/server.input 19:28:06.463705 Identifying ourselves as friends 19:28:06.463765 Response sent (56 bytes) and written to log/18/server.response 19:28:06.463775 special request received, no persistency 19:28:06.463783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1128 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1128 ==141113== ==141113== Process terminating with default action of signal 4 (SIGILL) ==141113== Illegal opcode at address 0x492B75F ==141113== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141113== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141113== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141113== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141113== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141113== by 0x49908EB: curl_version_info (version.c:600) ==141113== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141113== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141113== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141113== by 0x4003269: main (tool_main.c:195) === End of file valgrind1128 test 1125 [HTTP GET transfer-encoding with custom Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1125 ../src/curl -q --output log/16/curl1125.out --include --trace-ascii log/16/trace1125 --trace-time http://127.0.0.1:35903/1125 --tr-encoding -H "Connection: close" > log/16/stdout1125 2> log/16/stderr1125 1125: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1125 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1125 ../src/curl -q --output log/16/curl1125.out --include --trace-ascii log/16/trace1125 --trace-time http://127.0.0.1:35903/1125 --tr-encoding -H "Connection: close" > log/16/stdout1125 2> log/16/stderr1125 === End of file commands.log === Start of file http_server.log 19:28:06.275859 ====> Client connect 19:28:06.275902 accept_connection 3 returned 4 19:28:06.275925 Read 93 bytes 19:28:06.275936 Process 93 bytes request 19:28:06.275950 Got request: GET /verifiedserver HTTP/1.1 19:28:06.275960 Are-we-friendly question received 19:28:06.275993 Wrote request (93 bytes) input to log/16/server.input 19:28:06.276013 Identifying ourselves as friends 19:28:06.276105 Response sent (56 bytes) and written to log/16/server.response 19:28:06.276116 special request received, no persistency 19:28:06.276124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 37414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1125 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1125 ==140998== ==140998== Process terminating with default action of signal 4 (SIGILL) ==140998== Illegal opcode at address 0x492B75F ==140998== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==140998== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==140998== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==140998== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==140998== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==140998== by 0x49908EB: curl_version_info (version.c:600) ==140998== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==140998== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==140998== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==140998== by 0x4003269: main (tool_main.c:195) === End of file valgrind1125 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1129 ../src/curl -q --include --trace-ascii log/24/trace1129 --trace-time -d @log/24/file1129 --expect100-timeout 99 http://127.0.0.1:38895/1129 http://127.0.0.1:38895/11290001 > log/24/stdout1129 2> log/24/stderr1129 test 1131 [HTTP PUT expect 100-continue with a 400] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:40913/1131 -T log/10/file1131 http://127.0.0.1:40913/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 1131: stdout FAILED: --- log/10/check-expected 2026-10-15 19:28:08.482744927 +0000 +++ log/10/check-generated 2026-10-15 19:28:08.480944834 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 400 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE1[LF] -HTTP/1.1 400 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 9[LF] -Content-Type: text/html[LF] -[LF] -FAILURE2[LF] == Contents of files in the log/10/ directory after test 1131 === Start of file check-expected HTTP/1.1 400 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE1[LF] HTTP/1.1 400 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 9[LF] Content-Type: text/html[LF] [LF] FAILURE2[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1131 ../src/curl -q --include --trace-ascii log/10/trace1131 --trace-time -H "Expect: 100-continue" -T log/10/file1131 http://127.0.0.1:40913/1131 -T log/10/file1131 http://127.0.0.1:40913/11310001 --expect100-timeout 99 > log/10/stdout1131 2> log/10/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 19:28:05.654027 ====> Client connect 19:28:05.654065 accept_connection 3 returned 4 19:28:05.654088 Read 93 bytes 19:28:05.654098 Process 93 bytes request 19:28:05.654110 Got request: GET /verifiedserver HTTP/1.1 19:28:05.654119 Are-we-friendly question received 19:28:05.654148 Wrote request (93 bytes) input to log/10/server.input 19:28:05.654164 Identifying ourselves as friends 19:28:05.655396 Response sent (56 bytes) and written to log/10/server.response 19:28:05.655411 special request received, no persistency 19:28:05.655420 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd skip: 100 Testnum 1131 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1131 ==141334== ==141334== Process terminating with default action of signal 4 (SIGILL) ==141334== Illegal opcode at address 0x492B75F ==141334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141334== by 0x49908EB: curl_version_info (version.c:600) ==141334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141334== by 0x4003269: main (tool_main.c:195) === End of file valgrind1131 test 1129 [HTTP POST expect 100-continue with a 404] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1129 ../src/curl -q --include --trace-ascii log/24/trace1129 --trace-time -d @log/24/file1129 --expect100-timeout 99 http://127.0.0.1:38895/1129 http://127.0.0.1:38895/11290001 > log/24/stdout1129 2> log/24/stderr1129 1129: stdout FAILED: --- log/24/check-expected 2026-10-15 19:28:08.509432202 +0000 +++ log/24/check-generated 2026-10-15 19:28:08.507613264 +0000 @@ -1,14 +0,0 @@ -HTTP/1.1 404 NOOOOOOOOO[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] -HTTP/1.1 404 NEITHER[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 6[LF] -Content-Type: text/html[LF] -[LF] --foo-[LF] == Contents of files in the log/24/ directory after test 1129 === Start of file check-expected HTTP/1.1 404 NOOOOOOOOO[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] HTTP/1.1 404 NEITHER[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 6[LF] Content-Type: text/html[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1129 ../src/curl -q --include --trace-ascii log/24/trace1129 --trace-time -d @log/24/file1129 --expect100-timeout 99 http://127.0.0.1:38895/1129 http://127.0.0.1:38895/11290001 > log/24/stdout1129 2> log/24/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 19:28:05.589322 ====> Client connect 19:28:05.589356 accept_connection 3 returned 4 19:28:05.589392 Read 93 bytes 19:28:05.589401 Process 93 bytes request 19:28:05.589416 Got request: GET /verifiedserver HTTP/1.1 19:28:05.589423 Are-we-friendly question received 19:28:05.589448 Wrote request (93 bytes) input to log/24/server.input 19:28:05.589463 Identifying ourselves as friends 19:28:05.589522 Response sent (56 bytes) and written to log/24/server.response 19:28:05.589530 special request received, no persistency 19:28:05.589537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 37046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:35993/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1137 ../src/curl -q --output log/2/curl1137.out --include --trace-ascii log/2/trace1137 --trace-time ftp://127.0.0.1:38033/1137 --ignore-content-length > log/2/stdout1137 2> log/2/stderr1137 982 === End of file http_verify.out === Start of file server.cmd skip: 1053700 Testnum 1129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1129 ==141251== ==141251== Process terminating with default action of signal 4 (SIGILL) ==141251== Illegal opcode at address 0x492B75F ==141251== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141251== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141251== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141251== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141251== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141251== by 0x49908EB: curl_version_info (version.c:600) ==141251== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141251== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141251== by 0x4003269: main (tool_main.c:195) === End of file valgrind1129 test 1126 [HTTP 200 If-Modified-Since with newer document] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:35993/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 1126: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1126 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1126 ../src/curl -q --output log/17/curl1126.out --include --trace-ascii log/17/trace1126 --trace-time http://127.0.0.1:35993/1126 -z "dec 12 12:00:00 1999 GMT" > log/17/stdout1126 2> log/17/stderr1126 === End of file commands.log === Start of file http_server.log 19:28:06.459439 ====> Client connect 19:28:06.459485 accept_connection 3 returned 4 19:28:06.459511 Read 93 bytes 19:28:06.459522 Process 93 bytes request 19:28:06.459537 Got request: GET /verifiedserver HTTP/1.1 19:28:06.459546 Are-we-friendly question received 19:28:06.459579 Wrote request (93 bytes) input to log/17/server.input 19:28:06.459599 Identifying ourselves as friends 19:28:06.459668 Response sent (56 bytes) and written to log/17/server.response 19:28:06.459679 special request received, no persistency 19:28:06.459688 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 36780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1126 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1126 ==141105== ==141105== Process terminating with default action of signal 4 (SIGILL) ==141105== Illegal opcode at address 0x492B75F ==141105== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141105== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141105== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141105== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141105== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141105== by 0x49908EB: curl_version_info (version.c:600) ==141105== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141105== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141105== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141105== by 0x4003269: main (tool_main.c:195) === End of file valgrind1126 test 1137 [FTP RETR --ignore-content-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1137 ../src/curl -q --output log/2/curl1137.out --include --trace-ascii log/2/trace1137 --trace-time ftp://127.0.0.1:38033/1137 --ignore-content-length > log/2/stdout1137 2> log/2/stderr1137 1137: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1137 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1137 ../src/curl -q --output log/2/curl1137.out --include --trace-ascii log/2/trace1137 --trace-time ftp://127.0.0.1:38033/1137 --ignore-content-length > log/2/stdout1137 2> log/2/stderr1137 === End of file commands.log === Start of file ftp_server.log 19:28:07.002120 ====> Client connect 19:28:07.005641 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:07.006039 < "USER anonymous" 19:28:07.006082 > "331 We are happy you popped in![CR][LF]" 19:28:07.006282 < "PASS ftp@example.com" 19:28:07.006312 > "230 Welcome you silly person[CR][LF]" 19:28:07.006487 < "PWD" 19:28:07.006522 > "257 "/" is current directory[CR][LF]" 19:28:07.006691 < "EPSV" 19:28:07.006716 ====> Passive DATA channel requested by client 19:28:07.006730 DATA sockfilt for passive data channel starting... 19:28:07.022131 DATA sockfilt for passive data channel started (pid 141709) 19:28:07.022308 DATA sockfilt for passive data channel listens on port 37155 19:28:07.022359 > "229 Entering Passive Mode (|||37155|)[CR][LF]" 19:28:07.022377 Client has been notified that upcoming DATA connection is awaited on port 37155 19:28:07.032606 Client connects to port 37155 19:28:07.032681 ====> Client established passive DATA connection on port 37155 19:28:07.032805 < "TYPE I" 19:28:07.032853 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:07.033854 < "SIZE verifiedserver" 19:28:07.033943 > "213 17[CR][LF]" 19:28:07.034173 < "RETR verifiedserver" 19:28:07.034221 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:07.034322 =====> Closing passive DATA connection... 19:28:07.034342 Server disconnects passive DATA connection 19:28:07.035419 Server disconnected passive DATA connection 19:28:07.035454 DATA sockfilt for passive data channel quits (pid 141709) 19:28:07.035746 DATA sockfilt for passive data channel quit (pid 141709) 19:28:07.035774 =====> Closed passive DATA connection 19:28:07.035810 > "226 File transfer complete[CR][LF]" 19:28:07.081140 < "QUIT" 19:28:07.081198 > "221 bye bye baby[CR][LF]" 19:28:07.082473 MAIN sockfilt said DISC 19:28:07.082510 ====> Client disconnected 19:28:07.082590 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:06.606005 ====> Client connect 19:28:06.609682 Received DATA (on stdin) 19:28:06.609705 > 146 bytes data, server => client 19:28:06.609718 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:06.609729 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:06.609739 '220 \___|\___/|_| \_\_____|\r\n' 19:28:06.609884 < 16 bytes data, client => server 19:28:06.609898 'USER anonymous\r\n' 19:28:06.610097 Received DATA (on stdin) 19:28:06.610110 > 33 bytes data, server => client 19:28:06.610120 '331 We are happy you popped in!\r\n' 19:28:06.610187 < 22 bytes data, client => server 19:28:06.610201 'PASS ftp@example.com\r\n' 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1133 ../src/curl -q --output log/19/curl1133.out --include --trace-ascii log/19/trace1133 --trace-time http://127.0.0.1:46497/we/want/1133 -F "file=@\"log/19/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/19/test1133,and;.txt"' -F 'file3=@"log/19/test1133,and;.txt";type=m/f,"log/19/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/19/stdout1133 2> log/19/stderr1133 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:39881/1134 -u user1:password1 --next http://127.0.0.1:39881/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 :28:06.610323 Received DATA (on stdin) 19:28:06.610335 > 30 bytes data, server => client 19:28:06.610346 '230 Welcome you silly person\r\n' 19:28:06.610404 < 5 bytes data, client => server 19:28:06.610416 'PWD\r\n' 19:28:06.610530 Received DATA (on stdin) 19:28:06.610541 > 30 bytes data, server => client 19:28:06.610551 '257 "/" is current directory\r\n' 19:28:06.610614 < 6 bytes data, client => server 19:28:06.610625 'EPSV\r\n' 19:28:06.629333 Received DATA (on stdin) 19:28:06.629371 > 39 bytes data, server => client 19:28:06.629384 '229 Entering Passive Mode (|||37155|)\r\n' 19:28:06.629664 < 8 bytes data, client => server 19:28:06.629683 'TYPE I\r\n' 19:28:06.637562 Received DATA (on stdin) 19:28:06.637593 > 33 bytes data, server => client 19:28:06.637606 '200 I modify TYPE as you wanted\r\n' 19:28:06.637711 < 21 bytes data, client => server 19:28:06.637728 'SIZE verifiedserver\r\n' 19:28:06.637968 Received DATA (on stdin) 19:28:06.637983 > 8 bytes data, server => client 19:28:06.637993 '213 17\r\n' 19:28:06.638064 < 21 bytes data, client => server 19:28:06.638083 'RETR verifiedserver\r\n' 19:28:06.638361 Received DATA (on stdin) 19:28:06.638377 > 29 bytes data, server => client 19:28:06.638388 '150 Binary junk (17 bytes).\r\n' 19:28:06.639827 Received DATA (on stdin) 19:28:06.639843 > 28 bytes data, server => client 19:28:06.639853 '226 File transfer complete\r\n' 19:28:06.684970 < 6 bytes data, client => server 19:28:06.685001 'QUIT\r\n' 19:28:06.685206 Received DATA (on stdin) 19:28:06.685219 > 18 bytes data, server => client 19:28:06.685229 '221 bye bye baby\r\n' 19:28:06.686422 ====> Client disconnect 19:28:06.686597 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:07.617203 Running IPv4 version 19:28:07.617318 Listening on port 37155 19:28:07.617361 Wrote pid 141709 to log/2/server/ftp_sockdata.pid 19:28:07.626014 Received PING (on stdin) 19:28:07.626202 Received PORT (on stdin) 19:28:07.636518 ====> Client connect 19:28:07.638251 Received DATA (on stdin) 19:28:07.638272 > 17 bytes data, server => client 19:28:07.638283 'WE ROOLZ: 85208\r\n' 19:28:07.639318 Received DISC (on stdin) 19:28:07.639342 ====> Client forcibly disconnected 19:28:07.639462 Received QUIT (on stdin) 19:28:07.639472 quits 19:28:07.639555 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1137 === End of file server.cmd === Start of file valgrind1137 ==141762== ==141762== Process terminating with default action of signal 4 (SIGILL) ==141762== Illegal opcode at address 0x492B75F ==141762== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141762== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141762== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141762== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141762== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141762== by 0x49908EB: curl_version_info (version.c:600) ==141762== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141762== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141762== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141762== by 0x4003269: main (tool_main.c:195) === End of file valgrind1137 test 1133 [HTTP formpost with filename/data containing ',', ';', '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1133 ../src/curl -q --output log/19/curl1133.out --include --trace-ascii log/19/trace1133 --trace-time http://127.0.0.1:46497/we/want/1133 -F "file=@\"log/19/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/19/test1133,and;.txt"' -F 'file3=@"log/19/test1133,and;.txt";type=m/f,"log/19/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/19/stdout1133 2> log/19/stderr1133 1133: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1133 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1133 ../src/curl -q --output log/19/curl1133.out --include --trace-ascii log/19/trace1133 --trace-time http://127.0.0.1:46497/we/want/1133 -F "file=@\"log/19/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/19/test1133,and;.txt"' -F 'file3=@"log/19/test1133,and;.txt";type=m/f,"log/19/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/19/stdout1133 2> log/19/stderr1133 === End of file commands.log === Start of file http_server.log 19:28:06.209425 ====> Client connect 19:28:06.209466 accept_connection 3 returned 4 19:28:06.209490 Read 93 bytes 19:28:06.209500 Process 93 bytes request 19:28:06.209514 Got request: GET /verifiedserver HTTP/1.1 19:28:06.209523 Are-we-friendly question received 19:28:06.209551 Wrote request (93 bytes) input to log/19/server.input 19:28:06.209568 Identifying ourselves as friends 19:28:06.209642 Response sent (56 bytes) and written to log/19/server.response 19:28:06.209651 special request received, no persistency 19:28:06.209659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 34202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1133 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file test1133,and;.txt foo bar This is a bar foo bar foo === End of file test1133,and;.txt === Start of file valgrind1133 ==141512== ==141512== Process terminating with default action of signal 4 (SIGILL) ==141512== Illegal opcode at address 0x492B75F ==141512== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141512== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141512== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141512== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141512== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141512== by 0x49908EB: curl_version_info (version.c:600) ==141512== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141512== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141512== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141512== by 0x4003269: main (tool_main.c:195) === End of file valgrind1133 test 1134 [HTTP connection reuse with different credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:39881/1134 -u user1:password1 --next http://127.0.0.1:39881/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 1134: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1134 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressionCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1132 ../src/curl -q --output log/5/curl1132.out --include --trace log/5/trace1132 --trace-time mqtt://127.0.0.1:34785/1132 > log/5/stdout1132 2> log/5/stderr1132 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:40859/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/stderr1138 s=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1134 ../src/curl -q --output log/21/curl1134.out --include --trace-ascii log/21/trace1134 --trace-time http://127.0.0.1:39881/1134 -u user1:password1 --next http://127.0.0.1:39881/11340001 -u 2user:password2 > log/21/stdout1134 2> log/21/stderr1134 === End of file commands.log === Start of file http_server.log 19:28:06.315968 ====> Client connect 19:28:06.322747 accept_connection 3 returned 4 19:28:06.322791 Read 93 bytes 19:28:06.322801 Process 93 bytes request 19:28:06.322815 Got request: GET /verifiedserver HTTP/1.1 19:28:06.322825 Are-we-friendly question received 19:28:06.322870 Wrote request (93 bytes) input to log/21/server.input 19:28:06.322886 Identifying ourselves as friends 19:28:06.322957 Response sent (56 bytes) and written to log/21/server.response 19:28:06.322966 special request received, no persistency 19:28:06.322974 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 37568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1134 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1134 ==141550== ==141550== Process terminating with default action of signal 4 (SIGILL) ==141550== Illegal opcode at address 0x492B75F ==141550== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141550== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141550== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141550== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141550== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141550== by 0x49908EB: curl_version_info (version.c:600) ==141550== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141550== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141550== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141550== by 0x4003269: main (tool_main.c:195) === End of file valgrind1134 startnew: ./server/servers mqttd --port 0 --pidfile log/5/server/mqtt_server.pid --portfile log/5/server/mqtt_server.port --config log/5/server.cmd --logfile log/5/mqtt_server.log --logdir log/5 RUN: MQTT server is now running PID 141441 on PORT 34785 * pid mqtt => 141441 141441 test 1132 [MQTT CONNACK with bad Remaining Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1132 ../src/curl -q --output log/5/curl1132.out --include --trace log/5/trace1132 --trace-time mqtt://127.0.0.1:34785/1132 > log/5/stdout1132 2> log/5/stderr1132 1132: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1132 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1132 ../src/curl -q --output log/5/curl1132.out --include --trace log/5/trace1132 --trace-time mqtt://127.0.0.1:34785/1132 > log/5/stdout1132 2> log/5/stderr1132 === End of file commands.log === Start of file mqtt_server.log 19:28:06.858671 Running IPv4 version 19:28:06.858757 Listening on port 34785 19:28:06.858794 Wrote pid 141441 to log/5/server/mqtt_server.pid 19:28:06.858825 Wrote port 34785 to log/5/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd remlen-CONNACK 3 Testnum 1132 === End of file server.cmd === Start of file valgrind1132 ==141932== ==141932== Process terminating with default action of signal 4 (SIGILL) ==141932== Illegal opcode at address 0x492B75F ==141932== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141932== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141932== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141932== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141932== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141932== by 0x49908EB: curl_version_info (version.c:600) ==141932== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141932== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141932== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141932== by 0x4003269: main (tool_main.c:195) === End of file valgrind1132 test 1138 [HTTP redirect with UTF-8 characters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:40859/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/stderr1138 1138: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1138 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:40859/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/stderr1138 === End of file commands.log === Start of file http_server.log 19:28:06.591832 ====> Client connect 19:28:06.591886 accept_connection 3 returned 4 19:28:06.591906 Read 93 bytes 19:28:06.591916 Process 93 bytes request 19:28:06.591929 Got request: GET /verifiedserver HTTP/1.1 19:28:06.591938 Are-we-friendly question received 19:28:06.591964 Wrote request (93 bytes) input to log/7/server.input 19:28:06.591983 Identifying ourselves as friends 19:28:06.592041 Response sent (56 bytes) and written to log/7/server.response 19:28:06.592050 special request received, no persistency 19:28:06.592058 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 49228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1138 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1138 ==141706== ==141706== Process terminating with default action of signal 4 (SIGILL) ==141706== Illegal opcode at address 0x492B75F ==141706== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141706== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141706== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141706== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141706== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141706== by 0x49908EB: curl_version_info (version.c:600) ==141706== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141706== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141706== by 0x4003269: UnknownInlinedFun (tool_cfgableCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1142 ../src/curl -q --output log/12/curl1142.out --include --trace-ascii log/12/trace1142 --trace-time 127.0.0.1:40921/want/1142 -L -x http://127.0.0.1:40921 > log/12/stdout1142 2> log/12/stderr1142 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1136 ../src/curl -q --output log/15/curl1136.out --include --trace-ascii log/15/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/15/jar1136.txt -x 127.0.0.1:40321 > log/15/stdout1136 2> log/15/stderr1136 .c:310) ==141706== by 0x4003269: main (tool_main.c:195) === End of file valgrind1138 test 1142 [HTTP redirect to http://// (four slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1142 ../src/curl -q --output log/12/curl1142.out --include --trace-ascii log/12/trace1142 --trace-time 127.0.0.1:40921/want/1142 -L -x http://127.0.0.1:40921 > log/12/stdout1142 2> log/12/stderr1142 1142: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1142 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1142 ../src/curl -q --output log/12/curl1142.out --include --trace-ascii log/12/trace1142 --trace-time 127.0.0.1:40921/want/1142 -L -x http://127.0.0.1:40921 > log/12/stdout1142 2> log/12/stderr1142 === End of file commands.log === Start of file http_server.log 19:28:06.812719 ====> Client connect 19:28:06.812769 accept_connection 3 returned 4 19:28:06.812795 Read 93 bytes 19:28:06.812805 Process 93 bytes request 19:28:06.812817 Got request: GET /verifiedserver HTTP/1.1 19:28:06.812826 Are-we-friendly question received 19:28:06.812855 Wrote request (93 bytes) input to log/12/server.input 19:28:06.812872 Identifying ourselves as friends 19:28:06.812957 Response sent (56 bytes) and written to log/12/server.response 19:28:06.812967 special request received, no persistency 19:28:06.812975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1142 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1142 ==141886== ==141886== Process terminating with default action of signal 4 (SIGILL) ==141886== Illegal opcode at address 0x492B75F ==141886== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141886== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141886== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141886== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141886== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141886== by 0x49908EB: curl_version_info (version.c:600) ==141886== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141886== by 0x4003269: main (tool_main.c:195) === End of file valgrind1142 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/15/stdout1165 2> log/15/stderr1165 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1146 ../src/curl -q --output log/13/curl1146.out --trace-ascii log/13/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/13/test1146.txt > log/13/stdout1146 2> log/13/stderr1146 setenv TZ = GMT test 1136 [Check cookies against PSL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1136 ../src/curl -q --output log/15/curl1136.out --include --trace-ascii log/15/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/15/jar1136.txt -x 127.0.0.1:40321 > log/15/stdout1136 2> log/15/stderr1136 1136: data FAILED: --- log/15/check-expected 2026-10-15 19:28:09.677045727 +0000 +++ log/15/check-generated 2026-10-15 19:28:09.674356066 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Content-Length: 4[LF] -Content-Type: text/html[LF] -Funny-head: yesyes[LF] -Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] -Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] -Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] -Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] -Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] -[LF] -boo[LF] == Contents of files in the log/15/ directory after test 1136 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Content-Length: 4[LF] Content-Type: text/html[LF] Funny-head: yesyes[LF] Set-Cookie: test1=forbidden1; domain=example.ck; path=/;[LF] Set-Cookie: test2=allowed2; domain=www.example.ck; path=/;[LF] Set-Cookie: test3=forbidden3; domain=ck; path=/;[LF] Set-Cookie: test4=allowed4; domain=www.ck; path=/;[LF] Set-Cookie: test5=forbidden5; domain=z-1.compute-1.amazonaws.com; path=/;[LF] [LF] boo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1136 ../src/curl -q --output log/15/curl1136.out --include --trace-ascii log/15/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/15/jar1136.txt -x 127.0.0.1:40321 > log/15/stdout1136 2> log/15/stderr1136 === End of file commands.log === Start of file http_server.log 19:28:07.472443 ====> Client connect 19:28:07.472476 accept_connection 3 returned 4 19:28:07.472959 Read 93 bytes 19:28:07.472977 Process 93 bytes request 19:28:07.472990 Got request: GET /verifiedserver HTTP/1.1 19:28:07.472998 Are-we-friendly question received 19:28:07.473032 Wrote request (93 bytes) input to log/15/server.input 19:28:07.473049 Identifying ourselves as friends 19:28:07.473106 Response sent (56 bytes) and written to log/15/server.response 19:28:07.473114 special request received, no persistency 19:28:07.473122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 53238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1136 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1136 ==141663== ==141663== Process terminating with default action of signal 4 (SIGILL) ==141663== Illegal opcode at address 0x492B75F ==141663== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141663== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141663== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141663== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141663== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141663== by 0x49908EB: curl_version_info (version.c:600) ==141663== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141663== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141663== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141663== by 0x4003269: main (tool_main.c:195) === End of file valgrind1136 test 1165 [Verify configure.ac and source code CURL_DISABLE_-sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/15/stdout1165 2> log/15/stderr1165 valgrind SKIPPED -------e--- OK (1066 out of 1890, remaining: 01:42, took 0.134s, duration: 02:12) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1141 ../src/curl -q --output log/22/curl1141.out --include --trace-ascii log/22/trace1141 --trace-time 127.0.0.1:35989/want/1141 -L -x http://127.0.0.1:35989 > log/22/stdout1141 2> log/22/stderr1141 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1144 ../src/curl -q --output log/8/curl1144.out --include --trace-ascii log/8/trace1144 --trace-time -I http://127.0.0.1:44467/1144 --http0.9 > log/8/stdout1144 2> log/8/stderr1144 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1147 ../src/curl -q --output log/6/curl1147.out --include --trace-ascii log/6/trace1147 --trace-time http://127.0.0.1:33935/1147 -H @log/6/heads1147.txt > log/6/stdout1147 2> log/6/stderr1147 test 1146 [--proto-default file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1146 ../src/curl -q --output log/13/curl1146.out --trace-ascii log/13/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/13/test1146.txt > log/13/stdout1146 2> log/13/stderr1146 1146: data FAILED: --- log/13/check-expected 2026-10-15 19:28:09.909366430 +0000 +++ log/13/check-generated 2026-10-15 19:28:09.908208894 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/13/ directory after test 1146 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1146 ../src/curl -q --output log/13/curl1146.out --trace-ascii log/13/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/13/test1146.txt > log/13/stdout1146 2> log/13/stderr1146 === End of file commands.log === Start of file server.cmd Testnum 1146 === End of file server.cmd === Start of file test1146.txt foo bar bar foo moo === End of file test1146.txt === Start of file valgrind1146 ==142069== ==142069== Process terminating with default action of signal 4 (SIGILL) ==142069== Illegal opcode at address 0x492B75F ==142069== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142069== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142069== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142069== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142069== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142069== by 0x49908EB: curl_version_info (version.c:600) ==142069== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142069== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142069== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142069== by 0x4003269: main (tool_main.c:195) === End of file valgrind1146 test 1147 [Get -H headers from a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1147 ../src/curl -q --output log/6/curl1147.out --include --trace-ascii log/6/trace1147 --trace-time http://127.0.0.1:33935/1147 -H @log/6/heads1147.txt > log/6/stdout1147 2> log/6/stderr1147 1147: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1147 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1147 ../src/curl -q --output log/6/curl1147.out --include --trace-ascii log/6/trace1147 --trace-time http://127.0.0.1:33935/1147 -H @log/6/heads1147.txt > log/6/stdout1147 2> log/6/stderr1147 === End of file commands.log === Start of file heads1147.txt One: 1 Two: 2 no-colon And A Funny One : wohoo User-Agent: === End of file heads1147.txt === Start of file http_server.log 19:28:07.262706 ====> Client connect 19:28:07.262746 accept_connection 3 returned 4 19:28:07.262771 Read 93 bytes 19:28:07.262781 Process 93 bytes request 19:28:07.262793 Got request: GET /verifiedserver HTTP/1.1 19:28:07.262801 Are-we-friendly question received 19:28:07.262828 Wrote request (93 bytes) input to log/6/server.input 19:28:07.262845 Identifying ourselves as friends 19:28:07.262913 Response sent (56 bytes) and written to log/6/server.response 19:28:07.262923 special request received, no persistency 19:28:07.262932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 43546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1147 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1147 ==142294== ==142294== Process terminating with default action of signal 4 (SIGILL) ==142294== Illegal opcode at address 0x492B75F ==142294== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142294== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142294== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142294== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142294== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142294== by 0x49908EB: curl_version_info (version.c:600) ==142294== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142294== by 0x4003269: main (tool_main.c:195) === End of file valgrind1147 test 1144 [HTTP HEAD, receive no headers only body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1144 ../src/curl -q --output log/8/curl1144.out --include --trace-ascii log/8/trace1144 --trace-time -I http://127.0.0.1:44467/1144 --http0.9 > log/8/stdout1144 2> log/8/stderr1144 1144: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1144 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1144 ../src/curl -q --output log/8/curl1144.out --include --trace-ascii log/8/trace1144 --trace-time -I http://127.0.0.1:44467/1144 --http0.9 > log/8/stdout1144 2> log/8/stderr1144 === End of file commands.log === Start of file http_server.log 19:28:06.978182 ====> Client connect 19:28:06.978226 accept_connection 3 returned 4 19:28:06.978341 Read 93 bytes 19:28:06.978359 Process 93 bytes request 19:28:06.978372 Got request: GET /verifiedserver HTTP/1.1 19:28:06.978381 Are-we-friendly question received 19:28:06.978415 Wrote request (93 bytes) input to log/8/server.input 19:28:06.978435 Identifying ourselves as friends 19:28:06.978502 Response sent (56 bytes) and written to log/8/server.response 19:28:06.978513 special request received, no persistency 19:28:06.978522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 50604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1144 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1144 ==142042== ==142042== Process terminating with default action of signal 4 (SIGILL) ==142042== Illegal opcode at address 0x492B75F ==142042== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1143 ../src/curl -q --output log/11/curl1143.out --include --trace-ascii log/11/trace1143 --trace-time http:/127.0.0.1:40989/want/1143 > log/11/stdout1143 2> log/11/stderr1143 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1145 ../src/curl -q --output log/3/curl1145.out --include --trace-ascii log/3/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/3/test1145.txt > log/3/stdout1145 2> log/3/stderr1145 at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142042== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142042== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142042== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142042== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142042== by 0x49908EB: curl_version_info (version.c:600) ==142042== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142042== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142042== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142042== by 0x4003269: main (tool_main.c:195) === End of file valgrind1144 test 1141 [HTTP redirect to http:/// (three slashes!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1141 ../src/curl -q --output log/22/curl1141.out --include --trace-ascii log/22/trace1141 --trace-time 127.0.0.1:35989/want/1141 -L -x http://127.0.0.1:35989 > log/22/stdout1141 2> log/22/stderr1141 1141: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1141 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1141 ../src/curl -q --output log/22/curl1141.out --include --trace-ascii log/22/trace1141 --trace-time 127.0.0.1:35989/want/1141 -L -x http://127.0.0.1:35989 > log/22/stdout1141 2> log/22/stderr1141 === End of file commands.log === Start of file http_server.log 19:28:06.797879 ====> Client connect 19:28:06.797908 accept_connection 3 returned 4 19:28:06.797927 Read 93 bytes 19:28:06.797935 Process 93 bytes request 19:28:06.797947 Got request: GET /verifiedserver HTTP/1.1 19:28:06.797954 Are-we-friendly question received 19:28:06.797975 Wrote request (93 bytes) input to log/22/server.input 19:28:06.797989 Identifying ourselves as friends 19:28:06.798039 Response sent (56 bytes) and written to log/22/server.response 19:28:06.798047 special request received, no persistency 19:28:06.798054 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 43338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1141 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1141 ==141871== ==141871== Process terminating with default action of signal 4 (SIGILL) ==141871== Illegal opcode at address 0x492B75F ==141871== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==141871== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==141871== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==141871== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==141871== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==141871== by 0x49908EB: curl_version_info (version.c:600) ==141871== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==141871== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==141871== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==141871== by 0x4003269: main (tool_main.c:195) === End of file valgrind1141 setenv MSYS2_ARG_CONV_EXCL = http:/ test 1143 [HTTP URL with http:/ (one slash!)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1143 ../src/curl -q --output log/11/curl1143.out --include --trace-ascii log/11/trace1143 --trace-time http:/127.0.0.1:40989/want/1143 > log/11/stdout1143 2> log/11/stderr1143 1143: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1143 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1143 ../src/curl -q --output log/11/curl1143.out --include --trace-ascii log/11/trace1143 --trace-time http:/127.0.0.1:40989/want/1143 > log/11/stdout1143 2> log/11/stderr1143 === End of file commands.log === Start of file http_server.log 19:28:06.962735 ====> Client connect 19:28:06.962786 accept_connection 3 returned 4 19:28:06.962814 Read 93 bytes 19:28:06.962831 Process 93 bytes request 19:28:06.962847 Got request: GET /verifiedserver HTTP/1.1 19:28:06.962856 Are-we-friendly question received 19:28:06.962887 Wrote request (93 bytes) input to log/11/server.input 19:28:06.962906 Identifying ourselves as friends 19:28:06.963009 Response sent (56 bytes) and written to log/11/server.response 19:28:06.963022 special request received, no persistency 19:28:06.963031 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 54226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1143 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1143 ==142019== ==142019== Process terminating with default action of signal 4 (SIGILL) ==142019== Illegal opcode at address 0x492B75F ==142019== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142019== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142019== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142019== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142019== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142019== by 0x49908EB: curl_version_info (version.c:600) ==142019== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142019== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142019== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142019== by 0x4003269: main (tool_main.c:195) === End of file valgrind1143 test 1145 [file:// bad host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1145 ../src/curl -q --output log/3/curl1145.out --include --trace-ascii log/3/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/3/test1145.txt > log/3/stdout1145 2> log/3/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/3/ directory after test 1145 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1145 ../src/curl -q --output log/3/curl1145.out --include --trace-ascii log/3/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/3/test1145.txt > log/3/stdout1145 2> log/3/stderr1145 === End of file commands.log === Start of file server.cmd Testnum 1145CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1148 ../src/curl -q --output log/14/curl1148.out --include --trace-ascii log/14/trace1148 --trace-time http://127.0.0.1:45467/1148 -# --stderr log/14/stderrlog1148 > log/14/stdout1148 2> log/14/stderr1148 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1151 ../src/curl -q --output log/23/curl1151.out --include --trace-ascii log/23/trace1151 --trace-time http://127.0.0.1:44711/1151 -c log/23/cookies1151.txt > log/23/stdout1151 2> log/23/stderr1151 CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/8/test1169-library.pl > log/8/stdout1169 2> log/8/stderr1169 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/8/stdout1175 2> log/8/stderr1175 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/13/stdout1167 2> log/13/stderr1167 === End of file server.cmd === Start of file test1145.txt foo bar bar foo moo === End of file test1145.txt === Start of file valgrind1145 ==142045== ==142045== Process terminating with default action of signal 4 (SIGILL) ==142045== Illegal opcode at address 0x492B75F ==142045== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142045== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142045== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142045== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142045== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142045== by 0x49908EB: curl_version_info (version.c:600) ==142045== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142045== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142045== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142045== by 0x4003269: main (tool_main.c:195) === End of file valgrind1145 test 1148 [progress-bar] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1148 ../src/curl -q --output log/14/curl1148.out --include --trace-ascii log/14/trace1148 --trace-time http://127.0.0.1:45467/1148 -# --stderr log/14/stderrlog1148 > log/14/stdout1148 2> log/14/stderr1148 1148: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1148 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1148 ../src/curl -q --output log/14/curl1148.out --include --trace-ascii log/14/trace1148 --trace-time http://127.0.0.1:45467/1148 -# --stderr log/14/stderrlog1148 > log/14/stdout1148 2> log/14/stderr1148 === End of file commands.log === Start of file http_server.log 19:28:07.349358 ====> Client connect 19:28:07.349404 accept_connection 3 returned 4 19:28:07.349431 Read 93 bytes 19:28:07.349440 Process 93 bytes request 19:28:07.349454 Got request: GET /verifiedserver HTTP/1.1 19:28:07.349462 Are-we-friendly question received 19:28:07.349488 Wrote request (93 bytes) input to log/14/server.input 19:28:07.349504 Identifying ourselves as friends 19:28:07.349582 Response sent (56 bytes) and written to log/14/server.response 19:28:07.349590 special request received, no persistency 19:28:07.349598 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1148 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1148 ==142334== ==142334== Process terminating with default action of signal 4 (SIGILL) ==142334== Illegal opcode at address 0x492B75F ==142334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142334== by 0x49908EB: curl_version_info (version.c:600) ==142334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142334== by 0x4003269: main (tool_main.c:195) === End of file valgrind1148 test 1151 [HTTP with too long cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1151 ../src/curl -q --output log/23/curl1151.out --include --trace-ascii log/23/trace1151 --trace-time http://127.0.0.1:44711/1151 -c log/23/cookies1151.txt > log/23/stdout1151 2> log/23/stderr1151 1151: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1151 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1151 ../src/curl -q --output log/23/curl1151.out --include --trace-ascii log/23/trace1151 --trace-time http://127.0.0.1:44711/1151 -c log/23/cookies1151.txt > log/23/stdout1151 2> log/23/stderr1151 === End of file commands.log === Start of file http_server.log 19:28:07.659623 ====> Client connect 19:28:07.659657 accept_connection 3 returned 4 19:28:07.659680 Read 93 bytes 19:28:07.659690 Process 93 bytes request 19:28:07.659704 Got request: GET /verifiedserver HTTP/1.1 19:28:07.659712 Are-we-friendly question received 19:28:07.659738 Wrote request (93 bytes) input to log/23/server.input 19:28:07.659754 Identifying ourselves as friends 19:28:07.659824 Response sent (56 bytes) and written to log/23/server.response 19:28:07.659834 special request received, no persistency 19:28:07.659842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 45366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1151 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1151 ==142485== ==142485== Process terminating with default action of signal 4 (SIGILL) ==142485== Illegal opcode at address 0x492B75F ==142485== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142485== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142485== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142485== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142485== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142485== by 0x49908EB: curl_version_info (version.c:600) ==142485== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142485== by 0x4003269: main (tool_main.c:195) === End of file valgrind1151 test 1169 [Verify that runtests.pl accepts an -L option] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/8/test1169-library.pl > log/8/stdout1169 2> log/8/stderr1169 valgrind SKIPPED -------e--- OK (1070 out of 1890, remaining: 01:42, took 0.268s, duration: 02:13) test 1175 [Verify that symbols-in-versions and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/8/stdout1175 2> log/8/stderr1175 valgrind SKIPPED -------e--- OK (1076 out of 1890, remaining: 01:40, took 0.033s, duration: 02:13) test 1167 [Verify curl prefix of public symbols in header files] /usr/bin/peCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/13/stdout1177 2> log/13/stderr1177 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/14/stdout1173 2> log/14/stderr1173 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:40221/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 rl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/13/stdout1167 2> log/13/stderr1167 valgrind SKIPPED -------e--- OK (1068 out of 1890, remaining: 01:42, took 0.464s, duration: 02:13) test 1177 [Verify feature names and CURL_VERSION_* in lib and docs in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1177.pl /startdir/src/build-curl/tests/../docs/libcurl/curl_version_info.3 /startdir/src/curl/tests/../include/curl/curl.h /startdir/src/curl/tests/../lib/version.c > log/13/stdout1177 2> log/13/stderr1177 valgrind SKIPPED -------e--- OK (1078 out of 1890, remaining: 01:40, took 0.020s, duration: 02:13) test 1173 [Man page syntax checks] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1173.pl /startdir/src/curl/tests/../docs/libcurl/symbols-in-versions /startdir/src/build-curl/tests/../docs/*.1 /startdir/src/build-curl/tests/../docs/cmdline-opts/*.1 /startdir/src/build-curl/tests/../docs/libcurl/*.3 /startdir/src/build-curl/tests/../docs/libcurl/opts/*.3 > log/14/stdout1173 2> log/14/stderr1173 valgrind SKIPPED -r-----e--- OK (1074 out of 1890, remaining: 01:41, took 0.334s, duration: 02:13) test 1152 [FTP with unclosed quote in PWD response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:40221/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 1152: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1152 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1152 ../src/curl -q --output log/1/curl1152.out --include --trace-ascii log/1/trace1152 --trace-time ftp://127.0.0.1:40221/test-1152/ > log/1/stdout1152 2> log/1/stderr1152 === End of file commands.log === Start of file ftp_server.log 19:28:08.094083 ====> Client connect 19:28:08.094337 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:08.099605 < "USER anonymous" 19:28:08.099667 > "331 We are happy you popped in![CR][LF]" 19:28:08.099893 < "PASS ftp@example.com" 19:28:08.099937 > "230 Welcome you silly person[CR][LF]" 19:28:08.100134 < "PWD" 19:28:08.100174 > "257 "/" is current directory[CR][LF]" 19:28:08.100374 < "EPSV" 19:28:08.100403 ====> Passive DATA channel requested by client 19:28:08.100420 DATA sockfilt for passive data channel starting... 19:28:08.109231 DATA sockfilt for passive data channel started (pid 142491) 19:28:08.109396 DATA sockfilt for passive data channel listens on port 40367 19:28:08.109448 > "229 Entering Passive Mode (|||40367|)[CR][LF]" 19:28:08.109464 Client has been notified that upcoming DATA connection is awaited on port 40367 19:28:08.109759 Client connects to port 40367 19:28:08.109790 ====> Client established passive DATA connection on port 40367 19:28:08.109911 < "TYPE I" 19:28:08.109944 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:08.110092 < "SIZE verifiedserver" 19:28:08.110127 > "213 17[CR][LF]" 19:28:08.110271 < "RETR verifiedserver" 19:28:08.110301 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:08.110392 =====> Closing passive DATA connection... 19:28:08.110408 Server disconnects passive DATA connection 19:28:08.110521 Server disconnected passive DATA connection 19:28:08.110541 DATA sockfilt for passive data channel quits (pid 142491) 19:28:08.110808 DATA sockfilt for passive data channel quit (pid 142491) 19:28:08.110831 =====> Closed passive DATA connection 19:28:08.110856 > "226 File transfer complete[CR][LF]" 19:28:08.155671 < "QUIT" 19:28:08.155735 > "221 bye bye baby[CR][LF]" 19:28:08.156975 MAIN sockfilt said DISC 19:28:08.157013 ====> Client disconnected 19:28:08.157107 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:08.697910 ====> Client connect 19:28:08.703099 Received DATA (on stdin) 19:28:08.703136 > 146 bytes data, server => client 19:28:08.703147 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:08.703156 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:08.703164 '220 \___|\___/|_| \_\_____|\r\n' 19:28:08.703321 < 16 bytes data, client => server 19:28:08.703339 'USER anonymous\r\n' 19:28:08.703613 Received DATA (on stdin) 19:28:08.703627 > 33 bytes data, server => client 19:28:08.703637 '331 We are happy you popped in!\r\n' 19:28:08.703707 < 22 bytes data, client => server 19:28:08.703723 'PASS ftp@example.com\r\n' 19:28:08.703879 Received DATA (on stdin) 19:28:08.703891 > 30 bytes data, server => client 19:28:08.703901 '230 Welcome you silly person\r\n' 19:28:08.703965 < 5 bytes data, client => server 19:28:08.703981 'PWD\r\n' 19:28:08.704114 Received DATA (on stdin) 19:28:08.704126 > 30 bytes data, server => client 19:28:08.704136 '257 "/" is current directory\r\n' 19:28:08.704211 < 6 bytes data, client => server 19:28:08.704226 'EPSV\r\n' 19:28:08.713411 Received DATA (on stdin) 19:28:08.713427 > 39 bytes data, server => client 19:28:08.713437 '229 Entering Passive Mode (|||40367|)\r\n' 19:28:08.713741 < 8 bytes data, client => server 19:28:08.713751 'TYPE I\r\n' 19:28:08.713879 Received DATA (on stdin) 19:28:08.713889 > 33 bytes data, server => client 19:28:08.713898 '200 I modify TYPE as you wanted\r\n' 19:28:08.713947 < 21 bytes data, client => server 19:28:08.713956 'SIZE verifiedserver\r\n' 19:28:08.714059 Received DATA (on stdin) 19:28:08.714069 > 8 bytes data, server => client 19:28:08.714078 '213 17\r\n' 19:28:08.714129 < 21 bytes data, client => server 19:28:08.714139 'RETR verifiedserver\r\n' 19:28:08.714790 Received DATA (on stdin) 19:28:08.714802 > 29 bytes data, server => client 19:28:08.714811 '150 Binary junk (17 bytes).\r\n' 19:28:08.714833 Received DATA (on stdin) 19:28:08.714842 > 28 bytes data, server => client 19:28:08.714851 '226 File transfer complete\r\n' 19:28:08.759379 < 6 bytes data, client => server 19:28:08.759423 'QUIT\r\n' 19:28:08.759672 Received DATA (on stdin) 19:28:08.759684 > 18 bytes data, server => client 19:28:08.759694 '221 bye bye baby\r\n' 19:28:08.760852 ====> Client disconnect 19:28:08.761041 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:08.707164 Running IPv4 version 19:28:08.707250 Listening on port 40367 19:28:08.707283 Wrote pid 142491 to log/1/server/ftp_sockdata.pid 19:28:08.712588 Received PING (on stdin) 19:28:08.713222 Received PORT (on stdin) 19:28:08.713644 ====> Client connect 19:28:08.714344 Received DATA (on stdin) 19:28:08.714356 > 17 bytes data, server => client 19:28:08.714366 'WE ROOLZ: 84935\r\n' 19:28:08.714392 Received DISC (on stdin) 19:28:08.714404 ====> Client forcibly disconnected 19:28:08.714480 Received QUIT (on stdin) 19:28:08.714489 quits 19:28:08.714564 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "Only one Testnum 1152 === End of file server.cmd === Start of file valgrind1152 ==142561== ==142561== Process terminating with default action of signal 4 (SIGILL) ==142561== Illegal opcode at address 0x492B75F ==142561== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142561== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142561== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142561== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142561== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142561== by 0x49908EB: curl_version_info (version.c:600) ==142561== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142561== by 0x4003269: UnknoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:40913/want/1156 > log/10/stdout1156 2> log/10/stderr1156 wnInlinedFun (tool_cfgable.c:339) ==142561== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142561== by 0x4003269: main (tool_main.c:195) === End of file valgrind1152 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1157 ../src/curl -q --output log/24/curl1157.out --include --trace-ascii log/24/trace1157 --trace-time http://127.0.0.1:38895/1157 -H @log/24/heads1157.txt > log/24/stdout1157 2> log/24/stderr1157 CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/24/code1185.c > log/24/stdout1185 2> log/24/stderr1185 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1149 ../src/curl -q --output log/20/curl1149.out --include --trace-ascii log/20/trace1149 --trace-time ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method nocwd > log/20/stdout1149 2> log/20/stderr1149 test 1156 [HTTP resume/range fail range-error content-range combinations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:40913/want/1156 > log/10/stdout1156 2> log/10/stderr1156 1156: stdout FAILED: --- log/10/check-expected 2026-10-15 19:28:10.697359742 +0000 +++ log/10/check-generated 2026-10-15 19:28:10.694420958 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/10/ directory after test 1156 === Start of file check-expected 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:40913/want/1156 > log/10/stdout1156 2> log/10/stderr1156 === End of file commands.log === Start of file http_server.log 19:28:08.192647 ====> Client connect 19:28:08.192692 accept_connection 3 returned 4 19:28:08.192718 Read 93 bytes 19:28:08.192729 Process 93 bytes request 19:28:08.192743 Got request: GET /verifiedserver HTTP/1.1 19:28:08.192752 Are-we-friendly question received 19:28:08.192785 Wrote request (93 bytes) input to log/10/server.input 19:28:08.192803 Identifying ourselves as friends 19:28:08.192878 Response sent (56 bytes) and written to log/10/server.response 19:28:08.192889 special request received, no persistency 19:28:08.192898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47462 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1156 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1156 ==142883== ==142883== Process terminating with default action of signal 4 (SIGILL) ==142883== Illegal opcode at address 0x51CC63F ==142883== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==142883== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==142883== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==142883== by 0x40041AF: main (first.c:264) === End of file valgrind1156 test 1157 [Get -H headers from empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1157 ../src/curl -q --output log/24/curl1157.out --include --trace-ascii log/24/trace1157 --trace-time http://127.0.0.1:38895/1157 -H @log/24/heads1157.txt > log/24/stdout1157 2> log/24/stderr1157 1157: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1157 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1157 ../src/curl -q --output log/24/curl1157.out --include --trace-ascii log/24/trace1157 --trace-time http://127.0.0.1:38895/1157 -H @log/24/heads1157.txt > log/24/stdout1157 2> log/24/stderr1157 === End of file commands.log === Start of file http_server.log 19:28:08.285967 ====> Client connect 19:28:08.286002 accept_connection 3 returned 4 19:28:08.286024 Read 93 bytes 19:28:08.286034 Process 93 bytes request 19:28:08.286047 Got request: GET /verifiedserver HTTP/1.1 19:28:08.286056 Are-we-friendly question received 19:28:08.286081 Wrote request (93 bytes) input to log/24/server.input 19:28:08.286097 Identifying ourselves as friends 19:28:08.286160 Response sent (56 bytes) and written to log/24/server.response 19:28:08.286169 special request received, no persistency 19:28:08.286177 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 37056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1157 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1157 ==142936== ==142936== Process terminating with default action of signal 4 (SIGILL) ==142936== Illegal opcode at address 0x492B75F ==142936== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142936== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142936== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142936== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142936== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142936== by 0x49908EB: curl_version_info (version.c:600) ==142936== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142936== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142936== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142936== by 0x4003269: main (tool_main.c:195) === End of file valgrind1157 test 1185 [checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/24/code1185.c > log/24/stdout1185 2> log/24/stderr1185 valgrind SKIPPED s------e--- OK (1083 out of 1890, remaining: 01:39, took 0.074s, duration: 02:13) test 1149 [FTP dir list multicwd then again nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1149 ../src/curl -q --output log/20/curl1149.out --include --trace-ascii log/20/trace1149 --trace-time ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method nocwd > log/20/stdout1149 2> log/20/stderr1149 1149: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1149 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1149 ../src/curl -q --output log/20/curl1149.out --include --trace-ascii log/20/trace1149 --trace-time ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:41549/list/this/path/1149/ --ftp-method nocwd > log/20/stdout1149 2> log/20/stderr1149 === End of file commands.log === Start of file ftp_server.log 19:28:07.935369 ====> Client connect 19:28:07.935628 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:07.942331 < "USER anonymous" 19:28:07.942388 > "331 We are happy you popped in![CR][LF]" 19:28:07.942565 < "PASS ftp@example.com" 19:28:07.942591 > "230 Welcome you silly person[CR][LF]" 19:28:07.942737 < "PWD" 19:28:07.942768 > "257 "/" is current directory[CR][LF]" 19:28:07.942928 < "EPSV" 19:28:07.942952 ====> PassCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1153 ../src/curl -q --output log/4/curl1153.out --include --trace-ascii log/4/trace1153 --trace-time ftp://127.0.0.1:39739/test-1153/ > log/4/stdout1153 2> log/4/stderr1153 ive DATA channel requested by client 19:28:07.942965 DATA sockfilt for passive data channel starting... 19:28:07.950205 DATA sockfilt for passive data channel started (pid 142404) 19:28:07.950376 DATA sockfilt for passive data channel listens on port 33559 19:28:07.950439 > "229 Entering Passive Mode (|||33559|)[CR][LF]" 19:28:07.950461 Client has been notified that upcoming DATA connection is awaited on port 33559 19:28:07.950826 Client connects to port 33559 19:28:07.950859 ====> Client established passive DATA connection on port 33559 19:28:07.950964 < "TYPE I" 19:28:07.951000 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:07.951197 < "SIZE verifiedserver" 19:28:07.951243 > "213 17[CR][LF]" 19:28:07.951429 < "RETR verifiedserver" 19:28:07.951469 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:07.951574 =====> Closing passive DATA connection... 19:28:07.951594 Server disconnects passive DATA connection 19:28:07.951857 Server disconnected passive DATA connection 19:28:07.951886 DATA sockfilt for passive data channel quits (pid 142404) 19:28:07.952215 DATA sockfilt for passive data channel quit (pid 142404) 19:28:07.952246 =====> Closed passive DATA connection 19:28:07.952278 > "226 File transfer complete[CR][LF]" 19:28:08.002157 < "QUIT" 19:28:08.002208 > "221 bye bye baby[CR][LF]" 19:28:08.003435 MAIN sockfilt said DISC 19:28:08.003479 ====> Client disconnected 19:28:08.003556 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:07.535947 ====> Client connect 19:28:07.539598 Received DATA (on stdin) 19:28:07.539621 > 146 bytes data, server => client 19:28:07.539633 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:07.539643 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:07.539652 '220 \___|\___/|_| \_\_____|\r\n' 19:28:07.546038 < 16 bytes data, client => server 19:28:07.546066 'USER anonymous\r\n' 19:28:07.546340 Received DATA (on stdin) 19:28:07.546353 > 33 bytes data, server => client 19:28:07.546363 '331 We are happy you popped in!\r\n' 19:28:07.546422 < 22 bytes data, client => server 19:28:07.546433 'PASS ftp@example.com\r\n' 19:28:07.546535 Received DATA (on stdin) 19:28:07.546545 > 30 bytes data, server => client 19:28:07.546555 '230 Welcome you silly person\r\n' 19:28:07.546604 < 5 bytes data, client => server 19:28:07.546614 'PWD\r\n' 19:28:07.546712 Received DATA (on stdin) 19:28:07.546722 > 30 bytes data, server => client 19:28:07.546732 '257 "/" is current directory\r\n' 19:28:07.546792 < 6 bytes data, client => server 19:28:07.546802 'EPSV\r\n' 19:28:07.554422 Received DATA (on stdin) 19:28:07.554441 > 39 bytes data, server => client 19:28:07.554453 '229 Entering Passive Mode (|||33559|)\r\n' 19:28:07.554677 < 8 bytes data, client => server 19:28:07.554696 'TYPE I\r\n' 19:28:07.554947 Received DATA (on stdin) 19:28:07.554961 > 33 bytes data, server => client 19:28:07.554972 '200 I modify TYPE as you wanted\r\n' 19:28:07.555038 < 21 bytes data, client => server 19:28:07.555052 'SIZE verifiedserver\r\n' 19:28:07.555193 Received DATA (on stdin) 19:28:07.555206 > 8 bytes data, server => client 19:28:07.555216 '213 17\r\n' 19:28:07.555277 < 21 bytes data, client => server 19:28:07.555291 'RETR verifiedserver\r\n' 19:28:07.555543 Received DATA (on stdin) 19:28:07.555555 > 29 bytes data, server => client 19:28:07.555566 '150 Binary junk (17 bytes).\r\n' 19:28:07.556231 Received DATA (on stdin) 19:28:07.556245 > 28 bytes data, server => client 19:28:07.556256 '226 File transfer complete\r\n' 19:28:07.600936 < 6 bytes data, client => server 19:28:07.600964 'QUIT\r\n' 19:28:07.606160 Received DATA (on stdin) 19:28:07.606179 > 18 bytes data, server => client 19:28:07.606189 '221 bye bye baby\r\n' 19:28:07.607314 ====> Client disconnect 19:28:07.607501 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:07.553578 Running IPv4 version 19:28:07.553808 Listening on port 33559 19:28:07.553859 Wrote pid 142404 to log/20/server/ftp_sockdata.pid 19:28:07.554077 Received PING (on stdin) 19:28:07.554208 Received PORT (on stdin) 19:28:07.554721 ====> Client connect 19:28:07.555629 Received DATA (on stdin) 19:28:07.555644 > 17 bytes data, server => client 19:28:07.555655 'WE ROOLZ: 84833\r\n' 19:28:07.555685 Received DISC (on stdin) 19:28:07.555698 ====> Client forcibly disconnected 19:28:07.555848 Received QUIT (on stdin) 19:28:07.555861 quits 19:28:07.555950 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==142454== ==142454== Process terminating with default action of signal 4 (SIGILL) ==142454== Illegal opcode at address 0x492B75F ==142454== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142454== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142454== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142454== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142454== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142454== by 0x49908EB: curl_version_info (version.c:600) ==142454== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142454== by 0x4003269: main (tool_main.c:195) === End of file valgrind1149 test 1153 [FTP with quoted double quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1153 ../src/curl -q --output log/4/curl1153.out --include --trace-ascii log/4/trace1153 --trace-time ftp://127.0.0.1:39739/test-1153/ > log/4/stdout1153 2> log/4/stderr1153 1153: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1153 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1153 ../src/curl -q --output log/4/curl1153.out --include --trace-ascii log/4/trace1153 --trace-time ftp://127.0.0.1:39739/test-1153/ > log/4/stdout1153 2> log/4/stderr1153 === End of file commands.log === Start of file ftp_server.log 19:28:08.288703 ====> Client connect 19:28:08.288958 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:08.295502 < "USER anonymous" 19:28:08.295557 > "331 We are happy you popped in![CR][LF]" 19:28:08.308921 < "PASS ftp@example.com" 19:28:08.308980 > "230 Welcome you silly person[CR][LF]" 19:28:08.312219 < "PWD" 19:28:08.312272 > "257 "/" is current directory[CR][LF]" 19:28:08.312464 < "EPSV" 19:28:08.312495 ====> Passive DATA channel requested by client 19:28:08.312509 DATA sockfilt for passive data channel starting... 19:28:08.314578 DATA sockfilt for passive data channel started (pid 142694) 19:28:08.314696 DATA sockfilt for passive data channel listens on port 35565 19:28:08.314732 > "229 Entering Passive Mode (|||35565|)[CR][LF]" 19:28:08.314749 Client has been notified that upcoming DATA connection is awaited on port 35565 19:28:08.315019 Client connects to port 35565 19:28:08.315050 ====> Client established passive DATA connection on port 35565 19:28:08.315132 < "TYPE I" 19:28:08.315164 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:08.315331 < "SIZE verifiedserver" 19:28:08.315376 > "213 17[CR][LF]" 19:28:08.315561 < "RETR verifiedserver" 19:28:08.315601 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:08.315698 =====> Closing passive DATA connection... 19:28:08.315718 Server disconnects passive DATA connection 19:28:08.315999 Server disconnected passive DATA connection 19:28:08.316026 DATA sockfilt for passive data channel quits (pid 142694) 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1154 ../src/curl -q --output log/18/curl1154.out --include --trace-ascii log/18/trace1154 --trace-time http://127.0.0.1:43739/1154 > log/18/stdout1154 2> log/18/stderr1154 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:43733 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 :28:08.322043 DATA sockfilt for passive data channel quit (pid 142694) 19:28:08.322107 =====> Closed passive DATA connection 19:28:08.322150 > "226 File transfer complete[CR][LF]" 19:28:08.362251 < "QUIT" 19:28:08.362317 > "221 bye bye baby[CR][LF]" 19:28:08.372106 MAIN sockfilt said DISC 19:28:08.372178 ====> Client disconnected 19:28:08.372270 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:07.889245 ====> Client connect 19:28:07.892859 Received DATA (on stdin) 19:28:07.892889 > 146 bytes data, server => client 19:28:07.892902 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:07.892913 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:07.892922 '220 \___|\___/|_| \_\_____|\r\n' 19:28:07.893022 < 16 bytes data, client => server 19:28:07.893037 'USER anonymous\r\n' 19:28:07.899495 Received DATA (on stdin) 19:28:07.899511 > 33 bytes data, server => client 19:28:07.899521 '331 We are happy you popped in!\r\n' 19:28:07.912608 < 22 bytes data, client => server 19:28:07.912646 'PASS ftp@example.com\r\n' 19:28:07.912910 Received DATA (on stdin) 19:28:07.912923 > 30 bytes data, server => client 19:28:07.912933 '230 Welcome you silly person\r\n' 19:28:07.915990 < 5 bytes data, client => server 19:28:07.916013 'PWD\r\n' 19:28:07.916197 Received DATA (on stdin) 19:28:07.916209 > 30 bytes data, server => client 19:28:07.916219 '257 "/" is current directory\r\n' 19:28:07.916293 < 6 bytes data, client => server 19:28:07.916304 'EPSV\r\n' 19:28:07.918676 Received DATA (on stdin) 19:28:07.918690 > 39 bytes data, server => client 19:28:07.918701 '229 Entering Passive Mode (|||35565|)\r\n' 19:28:07.918862 < 8 bytes data, client => server 19:28:07.918876 'TYPE I\r\n' 19:28:07.919085 Received DATA (on stdin) 19:28:07.919096 > 33 bytes data, server => client 19:28:07.919106 '200 I modify TYPE as you wanted\r\n' 19:28:07.919163 < 21 bytes data, client => server 19:28:07.919173 'SIZE verifiedserver\r\n' 19:28:07.919304 Received DATA (on stdin) 19:28:07.919316 > 8 bytes data, server => client 19:28:07.919325 '213 17\r\n' 19:28:07.919389 < 21 bytes data, client => server 19:28:07.919402 'RETR verifiedserver\r\n' 19:28:07.919644 Received DATA (on stdin) 19:28:07.919656 > 29 bytes data, server => client 19:28:07.919667 '150 Binary junk (17 bytes).\r\n' 19:28:07.926087 Received DATA (on stdin) 19:28:07.926107 > 28 bytes data, server => client 19:28:07.926118 '226 File transfer complete\r\n' 19:28:07.965921 < 6 bytes data, client => server 19:28:07.965955 'QUIT\r\n' 19:28:07.966249 Received DATA (on stdin) 19:28:07.966266 > 18 bytes data, server => client 19:28:07.966276 '221 bye bye baby\r\n' 19:28:07.975922 ====> Client disconnect 19:28:07.976193 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:08.918155 Running IPv4 version 19:28:08.918234 Listening on port 35565 19:28:08.918276 Wrote pid 142694 to log/4/server/ftp_sockdata.pid 19:28:08.918440 Received PING (on stdin) 19:28:08.918528 Received PORT (on stdin) 19:28:08.918894 ====> Client connect 19:28:08.919739 Received DATA (on stdin) 19:28:08.919756 > 17 bytes data, server => client 19:28:08.919767 'WE ROOLZ: 85249\r\n' 19:28:08.919844 Received DISC (on stdin) 19:28:08.919859 ====> Client forcibly disconnected 19:28:08.919957 Received QUIT (on stdin) 19:28:08.919969 quits 19:28:08.920045 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "/""hello""" Testnum 1153 === End of file server.cmd === Start of file valgrind1153 ==142724== ==142724== Process terminating with default action of signal 4 (SIGILL) ==142724== Illegal opcode at address 0x492B75F ==142724== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142724== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142724== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142724== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142724== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142724== by 0x49908EB: curl_version_info (version.c:600) ==142724== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142724== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142724== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142724== by 0x4003269: main (tool_main.c:195) === End of file valgrind1153 test 1154 [HTTP GET with 100K (too long) response header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1154 ../src/curl -q --output log/18/curl1154.out --include --trace-ascii log/18/trace1154 --trace-time http://127.0.0.1:43739/1154 > log/18/stdout1154 2> log/18/stderr1154 1154: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1154 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1154 ../src/curl -q --output log/18/curl1154.out --include --trace-ascii log/18/trace1154 --trace-time http://127.0.0.1:43739/1154 > log/18/stdout1154 2> log/18/stderr1154 === End of file commands.log === Start of file http_server.log 19:28:08.929323 ====> Client connect 19:28:08.929371 accept_connection 3 returned 4 19:28:08.932789 Read 93 bytes 19:28:08.932818 Process 93 bytes request 19:28:08.932833 Got request: GET /verifiedserver HTTP/1.1 19:28:08.932841 Are-we-friendly question received 19:28:08.932892 Wrote request (93 bytes) input to log/18/server.input 19:28:08.932913 Identifying ourselves as friends 19:28:08.934190 Response sent (56 bytes) and written to log/18/server.response 19:28:08.934205 special request received, no persistency 19:28:08.934215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1154 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1154 ==142708== ==142708== Process terminating with default action of signal 4 (SIGILL) ==142708== Illegal opcode at address 0x492B75F ==142708== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142708== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142708== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142708== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142708== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142708== by 0x49908EB: curl_version_info (version.c:600) ==142708== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142708== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142708== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142708== by 0x4003269: main (tool_main.c:195) === End of file valgrind1154 test 1150 [HTTP proxy with URLs using different ports] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:43733 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 1150: protCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39641/fully_simulated/DOS/[*\\s-'tl" > log/5/stdout1162 2> log/5/stderr1162 ocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1150 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1150 ../src/curl -q --output log/9/curl1150.out --include --trace-ascii log/9/trace1150 --trace-time --proxy http://127.0.0.1:43733 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/9/stdout1150 2> log/9/stderr1150 === End of file commands.log === Start of file http_server.log 19:28:07.695982 ====> Client connect 19:28:07.696022 accept_connection 3 returned 4 19:28:07.696048 Read 93 bytes 19:28:07.696060 Process 93 bytes request 19:28:07.696072 Got request: GET /verifiedserver HTTP/1.1 19:28:07.696080 Are-we-friendly question received 19:28:07.696104 Wrote request (93 bytes) input to log/9/server.input 19:28:07.696119 Identifying ourselves as friends 19:28:07.696204 Response sent (56 bytes) and written to log/9/server.response 19:28:07.696213 special request received, no persistency 19:28:07.696221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 46326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1150 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1150 ==142506== ==142506== Process terminating with default action of signal 4 (SIGILL) ==142506== Illegal opcode at address 0x492B75F ==142506== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142506== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142506== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142506== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142506== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142506== by 0x49908EB: curl_version_info (version.c:600) ==142506== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142506== by 0x4003269: main (tool_main.c:195) === End of file valgrind1150 setenv MSYS2_ARG_CONV_EXCL = ftp:// test 1162 [FTP wildcard with crazy pattern] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39641/fully_simulated/DOS/[*\\s-'tl" > log/5/stdout1162 2> log/5/stderr1162 1162: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1162 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:39641/fully_simulated/DOS/[*\\s-'tl" > log/5/stdout1162 2> log/5/stderr1162 === End of file commands.log === Start of file ftp_server.log 19:28:09.572143 ====> Client connect 19:28:09.572501 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:09.575575 < "USER anonymous" 19:28:09.575619 > "331 We are happy you popped in![CR][LF]" 19:28:09.575780 < "PASS ftp@example.com" 19:28:09.575804 > "230 Welcome you silly person[CR][LF]" 19:28:09.575942 < "PWD" 19:28:09.575973 > "257 "/" is current directory[CR][LF]" 19:28:09.576121 < "EPSV" 19:28:09.576146 ====> Passive DATA channel requested by client 19:28:09.576159 DATA sockfilt for passive data channel starting... 19:28:09.585466 DATA sockfilt for passive data channel started (pid 143338) 19:28:09.585660 DATA sockfilt for passive data channel listens on port 36725 19:28:09.585716 > "229 Entering Passive Mode (|||36725|)[CR][LF]" 19:28:09.585736 Client has been notified that upcoming DATA connection is awaited on port 36725 19:28:09.586117 Client connects to port 36725 19:28:09.586156 ====> Client established passive DATA connection on port 36725 19:28:09.586264 < "TYPE I" 19:28:09.586301 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:09.586474 < "SIZE verifiedserver" 19:28:09.586517 > "213 17[CR][LF]" 19:28:09.586678 < "RETR verifiedserver" 19:28:09.586717 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:09.586822 =====> Closing passive DATA connection... 19:28:09.586840 Server disconnects passive DATA connection 19:28:09.587072 Server disconnected passive DATA connection 19:28:09.587102 DATA sockfilt for passive data channel quits (pid 143338) 19:28:09.587382 DATA sockfilt for passive data channel quit (pid 143338) 19:28:09.587408 =====> Closed passive DATA connection 19:28:09.587437 > "226 File transfer complete[CR][LF]" 19:28:09.635682 < "QUIT" 19:28:09.635744 > "221 bye bye baby[CR][LF]" 19:28:09.636952 MAIN sockfilt said DISC 19:28:09.636983 ====> Client disconnected 19:28:09.637072 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:09.175844 ====> Client connect 19:28:09.176176 Received DATA (on stdin) 19:28:09.176198 > 146 bytes data, server => client 19:28:09.176221 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:09.176232 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:09.176241 '220 \___|\___/|_| \_\_____|\r\n' 19:28:09.179235 < 16 bytes data, client => server 19:28:09.179258 'USER anonymous\r\n' 19:28:09.179460 Received DATA (on stdin) 19:28:09.179471 > 33 bytes data, server => client 19:28:09.179481 '331 We are happy you popped in!\r\n' 19:28:09.179534 < 22 bytes data, client => server 19:28:09.179544 'PASS ftp@example.com\r\n' 19:28:09.179641 Received DATA (on stdin) 19:28:09.179651 > 30 bytes data, server => client 19:28:09.179661 '230 Welcome you silly person\r\n' 19:28:09.179704 < 5 bytes data, client => server 19:28:09.179713 'PWD\r\n' 19:28:09.179811 Received DATA (on stdin) 19:28:09.179821 > 30 bytes data, server => client 19:28:09.179830 '257 "/" is current directory\r\n' 19:28:09.179883 < 6 bytes data, client => server 19:28:09.179892 'EPSV\r\n' 19:28:09.189586 Received DATA (on stdin) 19:28:09.189604 > 39 bytes data, server => client 19:28:09.189614 '229 Entering Passive Mode (|||36725|)\r\n' 19:28:09.189865 < 8 bytes data, client => server 19:28:09.189882 'TYPE I\r\n' 19:28:09.190141 Received DATA (on stdin) 19:28:09.190153 > 33 bytes data, server => client 19:28:09.190163 '200 I modify TYPE as you wanted\r\n' 19:28:09.190221 < 21 bytes data, client => server 19:28:09.190233 'SIZE verifiedserver\r\n' 19:28:09.190355 Received DATA (on stdin) 19:28:09.190366 > 8 bytes data, server => client 19:28:09.190376 '213 17\r\n' 19:28:09.190429 < 21 bytes data, client => server 19:28:09.190441 'RETR verifiedserver\r\n' 19:28:09.190679 Received DATA (on stdin) 19:28:09.190690 > 29 bytes data, server => client 19:28:09.190700 '150 Binary junk (17 bytes).\r\n' 19:28:09.191275 Received DATA (on stdin) 19:28:09.191287 > 28 bytes data, server => client 19:28:09.191298 '226 File transfer complete\r\n' 19:28:09.239297 < 6 bytes data, client => server 19:28:09.239328 'QUIT\r\n' 19:28:09.239582 Received DATA (on stdin) 19:28:09.239594 > 18 bytes CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1155 ../src/curl -q --output log/16/curl1155.out --include --trace-ascii log/16/trace1155 --trace-time http://127.0.0.1:35903/1155 -c log/16/cookies1155.txt > log/16/stdout1155 2> log/16/stderr1155 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:46497/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:44283/fully_simulated/DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 data, server => client 19:28:09.239603 '221 bye bye baby\r\n' 19:28:09.240733 ====> Client disconnect 19:28:09.240907 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:09.183699 Running IPv4 version 19:28:09.183780 Listening on port 36725 19:28:09.183816 Wrote pid 143338 to log/5/server/ftp_sockdata.pid 19:28:09.189170 Received PING (on stdin) 19:28:09.189380 Received PORT (on stdin) 19:28:09.189906 ====> Client connect 19:28:09.190727 Received DATA (on stdin) 19:28:09.190739 > 17 bytes data, server => client 19:28:09.190748 'WE ROOLZ: 85245\r\n' 19:28:09.190773 Received DISC (on stdin) 19:28:09.190785 ====> Client forcibly disconnected 19:28:09.190953 Received QUIT (on stdin) 19:28:09.190964 quits 19:28:09.191032 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1162 === End of file server.cmd === Start of file valgrind1162 ==143360== ==143360== Process terminating with default action of signal 4 (SIGILL) ==143360== Illegal opcode at address 0x51CC63F ==143360== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==143360== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==143360== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==143360== by 0x40041AF: main (first.c:264) === End of file valgrind1162 test 1155 [HTTP cookie with parameter word as name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1155 ../src/curl -q --output log/16/curl1155.out --include --trace-ascii log/16/trace1155 --trace-time http://127.0.0.1:35903/1155 -c log/16/cookies1155.txt > log/16/stdout1155 2> log/16/stderr1155 1155: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1155 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1155 ../src/curl -q --output log/16/curl1155.out --include --trace-ascii log/16/trace1155 --trace-time http://127.0.0.1:35903/1155 -c log/16/cookies1155.txt > log/16/stdout1155 2> log/16/stderr1155 === End of file commands.log === Start of file http_server.log 19:28:09.096146 ====> Client connect 19:28:09.096183 accept_connection 3 returned 4 19:28:09.096204 Read 93 bytes 19:28:09.096214 Process 93 bytes request 19:28:09.096227 Got request: GET /verifiedserver HTTP/1.1 19:28:09.096235 Are-we-friendly question received 19:28:09.096261 Wrote request (93 bytes) input to log/16/server.input 19:28:09.096276 Identifying ourselves as friends 19:28:09.096332 Response sent (56 bytes) and written to log/16/server.response 19:28:09.096340 special request received, no persistency 19:28:09.096348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 37426 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1155 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1155 ==142827== ==142827== Process terminating with default action of signal 4 (SIGILL) ==142827== Illegal opcode at address 0x492B75F ==142827== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==142827== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==142827== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==142827== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==142827== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==142827== by 0x49908EB: curl_version_info (version.c:600) ==142827== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==142827== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==142827== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==142827== by 0x4003269: main (tool_main.c:195) === End of file valgrind1155 test 1160 [HTTP with long funny format cookie] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:46497/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 1160: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1160 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1160 ../src/curl -q --output log/19/curl1160.out --include --trace-ascii log/19/trace1160 --trace-time http://127.0.0.1:46497/1160 -c log/19/cookies1160.txt > log/19/stdout1160 2> log/19/stderr1160 === End of file commands.log === Start of file http_server.log 19:28:08.882588 ====> Client connect 19:28:08.882637 accept_connection 3 returned 4 19:28:08.882666 Read 93 bytes 19:28:08.882677 Process 93 bytes request 19:28:08.882691 Got request: GET /verifiedserver HTTP/1.1 19:28:08.882700 Are-we-friendly question received 19:28:08.882730 Wrote request (93 bytes) input to log/19/server.input 19:28:08.882749 Identifying ourselves as friends 19:28:08.882840 Response sent (56 bytes) and written to log/19/server.response 19:28:08.882851 special request received, no persistency 19:28:08.882859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 34206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1160 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind1160 ==143202== ==143202== Process terminating with default action of signal 4 (SIGILL) ==143202== Illegal opcode at address 0x492B75F ==143202== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143202== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143202== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143202== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143202== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143202== by 0x49908EB: curl_version_info (version.c:600) ==143202== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143202== by 0x4003269: main (tool_main.c:195) === End of file valgrind1160 test 1163 [FTP wildcard with pattern ending with an open-bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:44283/fully_simulated/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1159 ../src/curl -q --include --trace-ascii log/2/trace1159 --trace-time http://127.0.0.1:34531/we/want/our/1159 -w '%{redirect_url}\n' > log/2/stdout1159 2> log/2/stderr1159 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1158 ../src/curl -q --output log/17/curl1158.out --include --trace-ascii log/17/trace1158 --trace-time http://127.0.0.1:35993/we/want/1158 -F "file=@\"log/17/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/17/test1158\".txt"' -F 'file3=@"log/17/test1158\".txt";type=m/f,"log/17/test1158\".txt"' > log/17/stdout1158 2> log/17/stderr1158 DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 1163: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1163 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:44283/fully_simulated/DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 === End of file commands.log === Start of file ftp_server.log 19:28:09.561178 ====> Client connect 19:28:09.561400 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:09.561712 < "USER anonymous" 19:28:09.561746 > "331 We are happy you popped in![CR][LF]" 19:28:09.561900 < "PASS ftp@example.com" 19:28:09.561922 > "230 Welcome you silly person[CR][LF]" 19:28:09.562081 < "PWD" 19:28:09.562115 > "257 "/" is current directory[CR][LF]" 19:28:09.562267 < "EPSV" 19:28:09.562293 ====> Passive DATA channel requested by client 19:28:09.562305 DATA sockfilt for passive data channel starting... 19:28:09.569937 DATA sockfilt for passive data channel started (pid 143336) 19:28:09.570092 DATA sockfilt for passive data channel listens on port 34333 19:28:09.570141 > "229 Entering Passive Mode (|||34333|)[CR][LF]" 19:28:09.570156 Client has been notified that upcoming DATA connection is awaited on port 34333 19:28:09.575581 Client connects to port 34333 19:28:09.575631 ====> Client established passive DATA connection on port 34333 19:28:09.575733 < "TYPE I" 19:28:09.575769 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:09.575911 < "SIZE verifiedserver" 19:28:09.575944 > "213 17[CR][LF]" 19:28:09.576074 < "RETR verifiedserver" 19:28:09.576103 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:09.576182 =====> Closing passive DATA connection... 19:28:09.576197 Server disconnects passive DATA connection 19:28:09.576392 Server disconnected passive DATA connection 19:28:09.576415 DATA sockfilt for passive data channel quits (pid 143336) 19:28:09.576648 DATA sockfilt for passive data channel quit (pid 143336) 19:28:09.576668 =====> Closed passive DATA connection 19:28:09.576692 > "226 File transfer complete[CR][LF]" 19:28:09.621096 < "QUIT" 19:28:09.621149 > "221 bye bye baby[CR][LF]" 19:28:09.625414 MAIN sockfilt said DISC 19:28:09.625464 ====> Client disconnected 19:28:09.625545 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:10.164868 ====> Client connect 19:28:10.165254 Received DATA (on stdin) 19:28:10.165269 > 146 bytes data, server => client 19:28:10.165280 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:10.165291 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:10.165302 '220 \___|\___/|_| \_\_____|\r\n' 19:28:10.165407 < 16 bytes data, client => server 19:28:10.165419 'USER anonymous\r\n' 19:28:10.165587 Received DATA (on stdin) 19:28:10.165599 > 33 bytes data, server => client 19:28:10.165609 '331 We are happy you popped in!\r\n' 19:28:10.165659 < 22 bytes data, client => server 19:28:10.165669 'PASS ftp@example.com\r\n' 19:28:10.165756 Received DATA (on stdin) 19:28:10.165765 > 30 bytes data, server => client 19:28:10.165773 '230 Welcome you silly person\r\n' 19:28:10.165839 < 5 bytes data, client => server 19:28:10.165850 'PWD\r\n' 19:28:10.165952 Received DATA (on stdin) 19:28:10.165961 > 30 bytes data, server => client 19:28:10.165970 '257 "/" is current directory\r\n' 19:28:10.166027 < 6 bytes data, client => server 19:28:10.166037 'EPSV\r\n' 19:28:10.174005 Received DATA (on stdin) 19:28:10.174022 > 39 bytes data, server => client 19:28:10.174031 '229 Entering Passive Mode (|||34333|)\r\n' 19:28:10.179320 < 8 bytes data, client => server 19:28:10.179342 'TYPE I\r\n' 19:28:10.179606 Received DATA (on stdin) 19:28:10.179617 > 33 bytes data, server => client 19:28:10.179626 '200 I modify TYPE as you wanted\r\n' 19:28:10.179674 < 21 bytes data, client => server 19:28:10.179683 'SIZE verifiedserver\r\n' 19:28:10.179780 Received DATA (on stdin) 19:28:10.179789 > 8 bytes data, server => client 19:28:10.179797 '213 17\r\n' 19:28:10.179840 < 21 bytes data, client => server 19:28:10.179850 'RETR verifiedserver\r\n' 19:28:10.180109 Received DATA (on stdin) 19:28:10.180119 > 29 bytes data, server => client 19:28:10.180128 '150 Binary junk (17 bytes).\r\n' 19:28:10.180528 Received DATA (on stdin) 19:28:10.180538 > 28 bytes data, server => client 19:28:10.180547 '226 File transfer complete\r\n' 19:28:10.224730 < 6 bytes data, client => server 19:28:10.224754 'QUIT\r\n' 19:28:10.224986 Received DATA (on stdin) 19:28:10.224995 > 18 bytes data, server => client 19:28:10.225004 '221 bye bye baby\r\n' 19:28:10.229178 ====> Client disconnect 19:28:10.229387 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:09.173361 Running IPv4 version 19:28:09.173474 Listening on port 34333 19:28:09.173518 Wrote pid 143336 to log/7/server/ftp_sockdata.pid 19:28:09.173708 Received PING (on stdin) 19:28:09.173824 Received PORT (on stdin) 19:28:09.179364 ====> Client connect 19:28:09.180035 Received DATA (on stdin) 19:28:09.180045 > 17 bytes data, server => client 19:28:09.180054 'WE ROOLZ: 84721\r\n' 19:28:09.180078 Received DISC (on stdin) 19:28:09.180088 ====> Client forcibly disconnected 19:28:09.180258 Received QUIT (on stdin) 19:28:09.180267 quits 19:28:09.180334 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1163 === End of file server.cmd === Start of file valgrind1163 ==143387== ==143387== Process terminating with default action of signal 4 (SIGILL) ==143387== Illegal opcode at address 0x51CC63F ==143387== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==143387== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==143387== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==143387== by 0x40041AF: main (first.c:264) === End of file valgrind1163 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1164 ../src/curl -q --output log/12/curl1164.out --include --trace-ascii log/12/trace1164 --trace-time http://127.0.0.1:40921/1164 -w '%{size_download}\n' --http0.9 > log/12/stdout1164 2> log/12/stderr1164 test 1159 [HTTP Location: and 'redirect_url' with non-supported scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1159 ../src/curl -q --include --trace-ascii log/2/trace1159 --trace-time http://127.0.0.1:34531/we/want/our/1159 -w '%{redirect_url}\n' > log/2/stdout1159 2> log/2/stderr1159 1159: stdout FAILED: --- log/2/check-expected 2026-10-15 19:28:11.803428384 +0000 +++ log/2/check-generated 2026-10-15 19:28:11.801156326 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: ht3p://localhost/[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -This server reply is for testing a simple Location: following[LF] -ht3p://localhost/[LF] == Contents of files in the log/2/ directory after test 1159 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: ht3p://localhost/[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] This server reply is for testing a simple Location: following[LF] ht3p://localhost/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1159 ../src/curl -q --include --trace-ascii log/2/trace1159 --trace-time http://127.0.0.1:34531/we/want/our/1159 -w '%{redirect_url}\n' > log/2/stdout1159 2> log/2/stderr1159 === End of file commands.log === Start of file http_server.log 19:28:09.692601 ====> Client connect 19:28:09.692645 accept_connection 3 returned 4 19:28:09.692670 Read 93 bytes 19:28:09.692679 Process 93 bytes request 19:28:09.692691 Got request: GET /verifiedserver HTTP/1.1 19:28:09.692699 Are-we-friendly question received 19:28:09.692724 Wrote request (93 bytes) input to log/2/server.input 19:28:09.692739 Identifying ourselves as friends 19:28:09.692820 Response sent (56 bytes) and written to log/2/server.response 19:28:09.692828 special request received, no persistency 19:28:09.692836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 41884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1159 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1159 ==143116== ==143116== Process terminating with default action of signal 4 (SIGILL) ==143116== Illegal opcode at address 0x492B75F ==143116== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143116== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143116== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143116== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143116== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143116== by 0x49908EB: curl_version_info (version.c:600) ==143116== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143116== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143116== by 0x4003269: main (tool_main.c:195) === End of file valgrind1159 test 1158 [HTTP RFC1867-type formposting with filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1158 ../src/curl -q --output log/17/curl1158.out --include --trace-ascii log/17/trace1158 --trace-time http://127.0.0.1:35993/we/want/1158 -F "file=@\"log/17/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/17/test1158\".txt"' -F 'file3=@"log/17/test1158\".txt";type=m/f,"log/17/test1158\".txt"' > log/17/stdout1158 2> log/17/stderr1158 1158: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1158 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1158 ../src/curl -q --output log/17/curl1158.out --include --trace-ascii log/17/trace1158 --trace-time http://127.0.0.1:35993/we/want/1158 -F "file=@\"log/17/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/17/test1158\".txt"' -F 'file3=@"log/17/test1158\".txt";type=m/f,"log/17/test1158\".txt"' > log/17/stdout1158 2> log/17/stderr1158 === End of file commands.log === Start of file http_server.log 19:28:09.493472 ====> Client connect 19:28:09.493511 accept_connection 3 returned 4 19:28:09.493534 Read 93 bytes 19:28:09.493544 Process 93 bytes request 19:28:09.493557 Got request: GET /verifiedserver HTTP/1.1 19:28:09.493565 Are-we-friendly question received 19:28:09.493594 Wrote request (93 bytes) input to log/17/server.input 19:28:09.493611 Identifying ourselves as friends 19:28:09.493675 Response sent (56 bytes) and written to log/17/server.response 19:28:09.493685 special request received, no persistency 19:28:09.493694 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 36790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1158 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file test1158".txt foo bar This is a bar foo bar foo === End of file test1158".txt === Start of file valgrind1158 ==143040== ==143040== Process terminating with default action of signal 4 (SIGILL) ==143040== Illegal opcode at address 0x492B75F ==143040== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143040== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143040== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143040== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143040== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143040== by 0x49908EB: curl_version_info (version.c:600) ==143040== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143040== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143040== by 0x4003269: main (tool_main.c:195) === End of file valgrind1158 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:40321/want/1166 http://127.0.0.1:40321/want/1166 > log/15/stdout1166 2> log/15/stderr1166 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:39881/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 test 1164 [HTTP/0.9 GET and all zeroes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1164 ../src/curl -q --output log/12/curl1164.out --include --trace-ascii log/12/trace1164 --trace-time http://127.0.0.1:40921/1164 -w '%{size_download}\n' --http0.9 > log/12/stdout1164 2> log/12/stderr1164 1164: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:11.958127732 +0000 +++ log/12/check-generated 2026-10-15 19:28:11.954499115 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/12/ directory after test 1164 === Start of file check-expected 208[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1164 ../src/curl -q --output log/12/curl1164.out --include --trace-ascii log/12/trace1164 --trace-time http://127.0.0.1:40921/1164 -w '%{size_download}\n' --http0.9 > log/12/stdout1164 2> log/12/stderr1164 === End of file commands.log === Start of file http_server.log 19:28:09.252309 ====> Client connect 19:28:09.252349 accept_connection 3 returned 4 19:28:09.259432 Read 93 bytes 19:28:09.259461 Process 93 bytes request 19:28:09.259475 Got request: GET /verifiedserver HTTP/1.1 19:28:09.259484 Are-we-friendly question received 19:28:09.259537 Wrote request (93 bytes) input to log/12/server.input 19:28:09.259557 Identifying ourselves as friends 19:28:09.259623 Response sent (56 bytes) and written to log/12/server.response 19:28:09.259633 special request received, no persistency 19:28:09.259642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1164 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1164 ==143364== ==143364== Process terminating with default action of signal 4 (SIGILL) ==143364== Illegal opcode at address 0x492B75F ==143364== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143364== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143364== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143364== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143364== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143364== by 0x49908EB: curl_version_info (version.c:600) ==143364== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143364== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143364== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143364== by 0x4003269: main (tool_main.c:195) === End of file valgrind1164 test 1166 [HTTP response with cookies but not receiving!] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:40321/want/1166 http://127.0.0.1:40321/want/1166 > log/15/stdout1166 2> log/15/stderr1166 1166: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1166 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1166 ../src/curl -q --output log/15/curl1166.out --include --trace-ascii log/15/trace1166 --trace-time http://127.0.0.1:40321/want/1166 http://127.0.0.1:40321/want/1166 > log/15/stdout1166 2> log/15/stderr1166 === End of file commands.log === Start of file http_server.log 19:28:10.487671 ====> Client connect 19:28:10.487710 accept_connection 3 returned 4 19:28:10.487735 Read 93 bytes 19:28:10.487746 Process 93 bytes request 19:28:10.487758 Got request: GET /verifiedserver HTTP/1.1 19:28:10.487767 Are-we-friendly question received 19:28:10.487797 Wrote request (93 bytes) input to log/15/server.input 19:28:10.487817 Identifying ourselves as friends 19:28:10.487887 Response sent (56 bytes) and written to log/15/server.response 19:28:10.487898 special request received, no persistency 19:28:10.487906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 53242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1166 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1166 ==143536== ==143536== Process terminating with default action of signal 4 (SIGILL) ==143536== Illegal opcode at address 0x492B75F ==143536== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143536== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143536== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143536== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143536== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143536== by 0x49908EB: curl_version_info (version.c:600) ==143536== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143536== by 0x4003269: main (tool_main.c:195) === End of file valgrind1166 test 1161 [HTTP cookie with path set twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:39881/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 1161: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1161 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1161 ../src/curl -q --output log/21/curl1161.out --include --trace-ascii log/21/trace1161 --trace-time http://127.0.0.1:39881/1161 -c log/21/cookies1161.txt > log/21/stdout1161 2> log/21/stderr1161 === End of file commands.log === Start of file http_server.log 19:28:08.900844 ====> Client connect 19:28:08.900881 accept_connection 3 returned 4 19:28:08.906040 Read 93 bytes 19:28:08.906066 Process 93 bytes request 19:28:08.906080 Got request: GET /verifiedserver HTTP/1.1 19:28:08.906088 Are-we-friendly question received 19:28:08.906137 Wrote request (93 bytes) input to log/21/server.input 19:28:08.906158 Identifying ourselves as friends 19:28:08.906219 RespCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:40989/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1172 ../src/curl -q --output log/3/curl1172.out --include --trace-ascii log/3/trace1172 --trace-time http://127.0.0.1:36161/1172 --no-http0.9 > log/3/stdout1172 2> log/3/stderr1172 onse sent (56 bytes) and written to log/21/server.response 19:28:08.906229 special request received, no persistency 19:28:08.906237 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 37578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1161 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1161 ==143209== ==143209== Process terminating with default action of signal 4 (SIGILL) ==143209== Illegal opcode at address 0x492B75F ==143209== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143209== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143209== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143209== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143209== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143209== by 0x49908EB: curl_version_info (version.c:600) ==143209== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143209== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143209== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143209== by 0x4003269: main (tool_main.c:195) === End of file valgrind1161 test 1171 [HTTP GET transfer-encoding with blanked Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:40989/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 1171: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1171 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:40989/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 === End of file commands.log === Start of file http_server.log 19:28:09.759695 ====> Client connect 19:28:09.759730 accept_connection 3 returned 4 19:28:09.759751 Read 93 bytes 19:28:09.759760 Process 93 bytes request 19:28:09.759771 Got request: GET /verifiedserver HTTP/1.1 19:28:09.759779 Are-we-friendly question received 19:28:09.759803 Wrote request (93 bytes) input to log/11/server.input 19:28:09.759817 Identifying ourselves as friends 19:28:09.759883 Response sent (56 bytes) and written to log/11/server.response 19:28:09.759891 special request received, no persistency 19:28:09.759899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 54242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1171 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1171 ==143691== ==143691== Process terminating with default action of signal 4 (SIGILL) ==143691== Illegal opcode at address 0x492B75F ==143691== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143691== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143691== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143691== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143691== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143691== by 0x49908EB: curl_version_info (version.c:600) ==143691== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143691== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143691== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143691== by 0x4003269: main (tool_main.c:195) === End of file valgrind1171 test 1172 [HTTP/0.9 GET response denied] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1172 ../src/curl -q --output log/3/curl1172.out --include --trace-ascii log/3/trace1172 --trace-time http://127.0.0.1:36161/1172 --no-http0.9 > log/3/stdout1172 2> log/3/stderr1172 1172: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1172 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1172 ../src/curl -q --output log/3/curl1172.out --include --trace-ascii log/3/trace1172 --trace-time http://127.0.0.1:36161/1172 --no-http0.9 > log/3/stdout1172 2> log/3/stderr1172 === End of file commands.log === Start of file http_server.log 19:28:10.872177 ====> Client connect 19:28:10.872216 accept_connection 3 returned 4 19:28:10.872332 Read 93 bytes 19:28:10.872347 Process 93 bytes request 19:28:10.872361 Got request: GET /verifiedserver HTTP/1.1 19:28:10.872371 Are-we-friendly question received 19:28:10.872405 Wrote request (93 bytes) input to log/3/server.input 19:28:10.872453 Identifying ourselves as friends 19:28:10.872522 Response sent (56 bytes) and written to log/3/server.response 19:28:10.872532 special request received, no persistency 19:28:10.872541 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 58676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1172 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1172 ==143808== ==143808== Process terminating with default action of signal 4 (SIGILL) ==143808== Illegal opcode at address 0x492B75F ==143808== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143808== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143808== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143808== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143808== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143808== by 0x49908EB: curl_version_info (version.c:600) ==143808== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143808== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143808== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143808== by 0x400CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1168 ../src/curl -q --output log/22/curl1168.out --include --trace-ascii log/22/trace1168 --trace-time http://127.0.0.1:35989/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/22/stdout1168 2> log/22/stderr1168 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1176 ../src/curl -q --include --trace-ascii log/8/trace1176 --trace-time http://127.0.0.1:44467/1176 -o 'log/8/base-#0' > log/8/stdout1176 2> log/8/stderr1176 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1170 ../src/curl -q --output log/6/curl1170.out --include --trace-ascii log/6/trace1170 --trace-time http://127.0.0.1:33935/1170 --tr-encoding -H "Connection:" > log/6/stdout1170 2> log/6/stderr1170 3269: main (tool_main.c:195) === End of file valgrind1172 test 1168 [HTTP redirect with credentials using # in user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1168 ../src/curl -q --output log/22/curl1168.out --include --trace-ascii log/22/trace1168 --trace-time http://127.0.0.1:35989/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/22/stdout1168 2> log/22/stderr1168 1168: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1168 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1168 ../src/curl -q --output log/22/curl1168.out --include --trace-ascii log/22/trace1168 --trace-time http://127.0.0.1:35989/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/22/stdout1168 2> log/22/stderr1168 === End of file commands.log === Start of file http_server.log 19:28:09.678771 ====> Client connect 19:28:09.678806 accept_connection 3 returned 4 19:28:09.678827 Read 93 bytes 19:28:09.678836 Process 93 bytes request 19:28:09.678849 Got request: GET /verifiedserver HTTP/1.1 19:28:09.678857 Are-we-friendly question received 19:28:09.678882 Wrote request (93 bytes) input to log/22/server.input 19:28:09.678897 Identifying ourselves as friends 19:28:09.678955 Response sent (56 bytes) and written to log/22/server.response 19:28:09.678964 special request received, no persistency 19:28:09.678972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 43352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1168 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1168 ==143632== ==143632== Process terminating with default action of signal 4 (SIGILL) ==143632== Illegal opcode at address 0x492B75F ==143632== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143632== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143632== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143632== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143632== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143632== by 0x49908EB: curl_version_info (version.c:600) ==143632== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143632== by 0x4003269: main (tool_main.c:195) === End of file valgrind1168 test 1176 [--output using #0] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1176 ../src/curl -q --include --trace-ascii log/8/trace1176 --trace-time http://127.0.0.1:44467/1176 -o 'log/8/base-#0' > log/8/stdout1176 2> log/8/stderr1176 1176: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1176 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1176 ../src/curl -q --include --trace-ascii log/8/trace1176 --trace-time http://127.0.0.1:44467/1176 -o 'log/8/base-#0' > log/8/stdout1176 2> log/8/stderr1176 === End of file commands.log === Start of file http_server.log 19:28:09.949231 ====> Client connect 19:28:09.949274 accept_connection 3 returned 4 19:28:09.949296 Read 93 bytes 19:28:09.949306 Process 93 bytes request 19:28:09.949318 Got request: GET /verifiedserver HTTP/1.1 19:28:09.949327 Are-we-friendly question received 19:28:09.949354 Wrote request (93 bytes) input to log/8/server.input 19:28:09.949370 Identifying ourselves as friends 19:28:09.949447 Response sent (56 bytes) and written to log/8/server.response 19:28:09.949457 special request received, no persistency 19:28:09.949466 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 50616 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1176 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1176 ==143890== ==143890== Process terminating with default action of signal 4 (SIGILL) ==143890== Illegal opcode at address 0x492B75F ==143890== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143890== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143890== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143890== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143890== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143890== by 0x49908EB: curl_version_info (version.c:600) ==143890== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143890== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143890== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143890== by 0x4003269: main (tool_main.c:195) === End of file valgrind1176 test 1170 [HTTP GET transfer-encoding with removed Connection:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1170 ../src/curl -q --output log/6/curl1170.out --include --trace-ascii log/6/trace1170 --trace-time http://127.0.0.1:33935/1170 --tr-encoding -H "Connection:" > log/6/stdout1170 2> log/6/stderr1170 1170: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1170 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1170 ../src/curl -q --output log/6/curl1170.out --include --trace-ascii log/6/trace1170 --trace-time http://127.0.0.1:33935/1170 --tr-encoding -H "Connection:" > log/6/stdout1170 2> log/6/stderr1170 === End of file commands.log === Start of file http_server.log 19:28:09.689209 ====> Client connect 19:28:09.689255 accept_connection 3 returned 4 19:28:09.689282 Read 93 bytes 19:28:09.689291 Process 93 bytes request 19:28:09.689302 Got request: GET /verifiedserver HTTP/1.1 19:28:09.689310 Are-we-friendly question received 19:28:09.689335 Wrote request (93 bytes) input to log/6/server.input 19:28:09.689351 Identifying ourselves as friends 19:28:09.689449 Response sent (56 bytes) and written to log/6/server.response 19:28:09.689458 special request received, no persistency 19:28:09.689467 ===CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1178 ../src/curl -q --output log/13/curl1178.out --include --trace-ascii log/13/trace1178 --trace-time http://127.0.0.1:38821/we/want/that/page/1178 -x http://127.0.0.1:38821 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2> log/13/stderr1178 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1181 ../src/curl -q --output log/1/curl1181.out --include --trace-ascii log/1/trace1181 --trace-time --proxy http://127.0.0.1:38815 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:38815/1181 > log/1/stdout1181 2> log/1/stderr1181 => Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 43548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1170 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1170 ==143666== ==143666== Process terminating with default action of signal 4 (SIGILL) ==143666== Illegal opcode at address 0x492B75F ==143666== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143666== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143666== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143666== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143666== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143666== by 0x49908EB: curl_version_info (version.c:600) ==143666== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143666== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143666== by 0x4003269: main (tool_main.c:195) === End of file valgrind1170 test 1178 [HTTP proxy auth with credentials longer than 256 bytes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1178 ../src/curl -q --output log/13/curl1178.out --include --trace-ascii log/13/trace1178 --trace-time http://127.0.0.1:38821/we/want/that/page/1178 -x http://127.0.0.1:38821 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2> log/13/stderr1178 1178: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1178 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1178 ../src/curl -q --output log/13/curl1178.out --include --trace-ascii log/13/trace1178 --trace-time http://127.0.0.1:38821/we/want/that/page/1178 -x http://127.0.0.1:38821 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/13/stdout1178 2> log/13/stderr1178 === End of file commands.log === Start of file http_server.log 19:28:10.112494 ====> Client connect 19:28:10.112537 accept_connection 3 returned 4 19:28:10.112563 Read 93 bytes 19:28:10.112574 Process 93 bytes request 19:28:10.112588 Got request: GET /verifiedserver HTTP/1.1 19:28:10.112598 Are-we-friendly question received 19:28:10.112630 Wrote request (93 bytes) input to log/13/server.input 19:28:10.112650 Identifying ourselves as friends 19:28:10.112771 Response sent (56 bytes) and written to log/13/server.response 19:28:10.112785 special request received, no persistency 19:28:10.112794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43598 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1178 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1178 ==144020== ==144020== Process terminating with default action of signal 4 (SIGILL) ==144020== Illegal opcode at address 0x492B75F ==144020== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144020== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144020== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144020== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144020== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144020== by 0x49908EB: curl_version_info (version.c:600) ==144020== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144020== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144020== by 0x4003269: main (tool_main.c:195) === End of file valgrind1178 test 1181 [HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1181 ../src/curl -q --output log/1/curl1181.out --include --trace-ascii log/1/trace1181 --trace-time --proxy http://127.0.0.1:38815 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:38815/1181 > log/1/stdout1181 2> log/1/stderr1181 1181: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1181 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1181 ../src/curl -q --output log/1/curl1181.out --include --trace-ascii log/1/trace1181 --trace-time --proxy http://127.0.0.1:38815 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:38815/1181 > log/1/stdout1181 2> log/1/stderr1181 === End of file commands.log === Start of file http_server.log 19:28:11.343198 ====> Client connCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1174 ../src/curl -q --output log/23/curl1174.out --include --trace-ascii log/23/trace1174 --trace-time http://127.0.0.1:44711/1174 > log/23/stdout1174 2> log/23/stderr1174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1188 ../src/curl -q --output log/4/curl1188.out --include --trace-ascii log/4/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:35735/we/want/our/1188 http://127.0.0.1:35735/we/want/our/1188 > log/4/stdout1188 2> log/4/stderr1188 ect 19:28:11.343258 accept_connection 3 returned 4 19:28:11.343291 Read 93 bytes 19:28:11.343303 Process 93 bytes request 19:28:11.343318 Got request: GET /verifiedserver HTTP/1.1 19:28:11.343328 Are-we-friendly question received 19:28:11.343360 Wrote request (93 bytes) input to log/1/server.input 19:28:11.343379 Identifying ourselves as friends 19:28:11.343479 Response sent (56 bytes) and written to log/1/server.response 19:28:11.343490 special request received, no persistency 19:28:11.343498 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 46788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1181 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1181 ==144148== ==144148== Process terminating with default action of signal 4 (SIGILL) ==144148== Illegal opcode at address 0x492B75F ==144148== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144148== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144148== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144148== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144148== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144148== by 0x49908EB: curl_version_info (version.c:600) ==144148== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144148== by 0x4003269: main (tool_main.c:195) === End of file valgrind1181 test 1174 [HTTP/0.9 GET response denied by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1174 ../src/curl -q --output log/23/curl1174.out --include --trace-ascii log/23/trace1174 --trace-time http://127.0.0.1:44711/1174 > log/23/stdout1174 2> log/23/stderr1174 1174: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1174 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1174 ../src/curl -q --output log/23/curl1174.out --include --trace-ascii log/23/trace1174 --trace-time http://127.0.0.1:44711/1174 > log/23/stdout1174 2> log/23/stderr1174 === End of file commands.log === Start of file http_server.log 19:28:09.889029 ====> Client connect 19:28:09.889068 accept_connection 3 returned 4 19:28:09.889185 Read 93 bytes 19:28:09.889200 Process 93 bytes request 19:28:09.889213 Got request: GET /verifiedserver HTTP/1.1 19:28:09.889222 Are-we-friendly question received 19:28:09.889252 Wrote request (93 bytes) input to log/23/server.input 19:28:09.889268 Identifying ourselves as friends 19:28:09.889322 Response sent (56 bytes) and written to log/23/server.response 19:28:09.889331 special request received, no persistency 19:28:09.889338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 45370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1174 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1174 ==143831== ==143831== Process terminating with default action of signal 4 (SIGILL) ==143831== Illegal opcode at address 0x492B75F ==143831== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==143831== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==143831== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==143831== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==143831== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==143831== by 0x49908EB: curl_version_info (version.c:600) ==143831== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==143831== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==143831== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==143831== by 0x4003269: main (tool_main.c:195) === End of file valgrind1174 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1180 ../src/curl -q --output log/14/curl1180.out --include --trace-ascii log/14/trace1180 --trace-time --proxy http://127.0.0.1:45467 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:45467/1180 > log/14/stdout1180 2> log/14/stderr1180 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1186 ../src/curl -q --output log/24/curl1186.out --include --trace-ascii log/24/trace1186 --trace-time http://127.0.0.1:38895/we/want/1186 --form-escape -F "file=@\"log/24/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/24/test1186\".txt"' -F 'file3=@"log/24/test1186\".txt";type=m/f,"log/24/test1186\".txt"' > log/24/stdout1186 2> log/24/stderr1186 test 1188 [--write-out with %{onerror} and %{urlnum} to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1188 ../src/curl -q --output log/4/curl1188.out --include --trace-ascii log/4/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:35735/we/want/our/1188 http://127.0.0.1:35735/we/want/our/1188 > log/4/stdout1188 2> log/4/stderr1188 1188: stderr FAILED: --- log/4/check-expected 2026-10-15 19:28:12.896795467 +0000 +++ log/4/check-generated 2026-10-15 19:28:12.894555785 +0000 @@ -1,2 +0,0 @@ -0 says 22 The requested URL returned error: 404[CR][LF] -1 says 22 The requested URL returned error: 404[CR][LF] == Contents of files in the log/4/ directory after test 1188 === Start of file check-expected 0 says 22 The requested URL returned error: 404[CR][LF] 1 says 22 The requested URL returned error: 404[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1188 ../src/curl -q --output log/4/curl1188.out --include --trace-ascii log/4/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:35735/we/want/our/1188 http://127.0.0.1:35735/we/want/our/1188 > log/4/stdout1188 2> log/4/stderr1188 === End of file commands.log === Start of file http_server.log 19:28:11.559938 ====> Client connect 19:28:11.559980 accept_connection 3 returned 4 19:28:11.560005 Read 93 bytes 19:28:11.560016 Process 93 bytes request 19:28:11.560029 Got request: GET /verifiedserver HTTP/1.1 19:28:11.560038 Are-we-friendly question received 19:28:11.560070 Wrote request (93 bytes) input to log/4/server.input 19:28:11.560088 Identifying ourselves as friends 19:28:11.560154 Response sent (56 bytes) and written to log/4/server.response 19:28:11.560166 special request received, no persistency 19:28:11.560174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 51434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1188 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1188 ==144372== ==144372== Process terminating with default action of signal 4 (SIGILL) ==144372== Illegal opcode at address 0x492B75F ==144372== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144372== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144372== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144372== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144372== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144372== by 0x49908EB: curl_version_info (version.c:600) ==144372== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144372== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144372== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144372== by 0x4003269: main (tool_main.c:195) === End of file valgrind1188 test 1180 [HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1180 ../src/curl -q --output log/14/curl1180.out --include --trace-ascii log/14/trace1180 --trace-time --proxy http://127.0.0.1:45467 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:45467/1180 > log/14/stdout1180 2> log/14/stderr1180 1180: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1180 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1180 ../src/curl -q --output log/14/curl1180.out --include --trace-ascii log/14/trace1180 --trace-time --proxy http://127.0.0.1:45467 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:45467/1180 > log/14/stdout1180 2> log/14/stderr1180 === End of file commands.log === Start of file http_server.log 19:28:10.247133 ====> Client connect 19:28:10.247172 accept_connection 3 returned 4 19:28:10.249161 Read 93 bytes 19:28:10.249179 Process 93 bytes request 19:28:10.249194 Got request: GET /verifiedserver HTTP/1.1 19:28:10.249204 Are-we-friendly question received 19:28:10.249239 Wrote request (93 bytes) input to log/14/server.input 19:28:10.249258 Identifying ourselves as friends 19:28:10.249326 Response sent (56 bytes) and written to log/14/server.response 19:28:10.249337 special request received, no persistency 19:28:10.249347 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1180 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1180 ==144101== ==144101== Process terminating with default action of signal 4 (SIGILL) ==144101== Illegal opcode at address 0x492B75F ==144101== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144101== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144101== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144101== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144101== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144101== by 0x49908EB: curl_version_info (version.c:600) ==144101== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144101== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144101== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144101== by 0x4003269: main (tool_main.c:195) === End of file valgrind1180 test 1186 [Multipart formposting with backslash-escaping filename containing '"'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1186 ../src/curl -q --output log/24/curl1186.out --include --trace-ascii log/24/trace1186 --trace-time http://127.0.0.1:38895/we/want/1186 --form-escape -F "file=@\"log/24/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/24/test1186\".txt"' -F 'file3=@"log/24/test1186\".txt";type=m/f,"log/24/test1186\".txt"' > log/24/stdout1186 2> log/24/stderr1186 1186: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1186 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=logCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1189 ../src/curl -q --output log/18/curl1189.out --include --trace-ascii log/18/trace1189 --trace-time http://127.0.0.1:43739/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/18/stdout1189 2> log/18/stderr1189 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1187 ../src/curl -q --output log/20/curl1187.out --include --trace-ascii log/20/trace1187 --trace-time smtp://127.0.0.1:44599/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/20/stdout1187 2> log/20/stderr1187 /24/valgrind1186 ../src/curl -q --output log/24/curl1186.out --include --trace-ascii log/24/trace1186 --trace-time http://127.0.0.1:38895/we/want/1186 --form-escape -F "file=@\"log/24/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/24/test1186\".txt"' -F 'file3=@"log/24/test1186\".txt";type=m/f,"log/24/test1186\".txt"' > log/24/stdout1186 2> log/24/stderr1186 === End of file commands.log === Start of file http_server.log 19:28:10.509146 ====> Client connect 19:28:10.509191 accept_connection 3 returned 4 19:28:10.509217 Read 93 bytes 19:28:10.509227 Process 93 bytes request 19:28:10.509240 Got request: GET /verifiedserver HTTP/1.1 19:28:10.509249 Are-we-friendly question received 19:28:10.509277 Wrote request (93 bytes) input to log/24/server.input 19:28:10.509295 Identifying ourselves as friends 19:28:10.509395 Response sent (56 bytes) and written to log/24/server.response 19:28:10.509406 special request received, no persistency 19:28:10.509414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 37064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1186 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file test1186".txt foo bar This is a bar foo bar foo === End of file test1186".txt === Start of file valgrind1186 ==144330== ==144330== Process terminating with default action of signal 4 (SIGILL) ==144330== Illegal opcode at address 0x492B75F ==144330== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144330== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144330== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144330== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144330== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144330== by 0x49908EB: curl_version_info (version.c:600) ==144330== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144330== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144330== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144330== by 0x4003269: main (tool_main.c:195) === End of file valgrind1186 test 1189 [Multipart formposting with backslash-escaping of name= and filename=] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1189 ../src/curl -q --output log/18/curl1189.out --include --trace-ascii log/18/trace1189 --trace-time http://127.0.0.1:43739/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/18/stdout1189 2> log/18/stderr1189 1189: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1189 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1189 ../src/curl -q --output log/18/curl1189.out --include --trace-ascii log/18/trace1189 --trace-time http://127.0.0.1:43739/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/18/stdout1189 2> log/18/stderr1189 === End of file commands.log === Start of file http_server.log 19:28:11.568390 ====> Client connect 19:28:11.568420 accept_connection 3 returned 4 19:28:11.568440 Read 93 bytes 19:28:11.568449 Process 93 bytes request 19:28:11.568461 Got request: GET /verifiedserver HTTP/1.1 19:28:11.568469 Are-we-friendly question received 19:28:11.568494 Wrote request (93 bytes) input to log/18/server.input 19:28:11.568509 Identifying ourselves as friends 19:28:11.568566 Response sent (56 bytes) and written to log/18/server.response 19:28:11.568575 special request received, no persistency 19:28:11.568586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1189 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file test1189.txt foo bar This is a bar foo bar foo === End of file test1189.txt === Start of file valgrind1189 ==144390== ==144390== Process terminating with default action of signal 4 (SIGILL) ==144390== Illegal opcode at address 0x492B75F ==144390== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144390== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144390== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144390== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144390== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144390== by 0x49908EB: curl_version_info (version.c:600) ==144390== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144390== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144390== by 0x4003269: main (tool_main.c:195) === End of file valgrind1189 test 1187 [SMTP multipart with filename escaping] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1187 ../src/curl -q --output log/20/curl1187.out --include --trace-ascii log/20/trace1187 --trace-time smtp://127.0.0.1:44599/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/20/stdout1187 2> log/20/stderr1187 1187: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1187 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1187 ../src/curl -q --output log/20/curl1187.out --include --trace-ascii log/20/trace1187 --trace-time smtp://127.0.0.1:44599/1187 --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"' log/20/stdout1187 2> log/20/stderr1187 === End of file commands.log === Start of file serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1183 ../src/curl -q --output log/10/curl1183.out --include --trace-ascii log/10/trace1183 --trace-time http://127.0.0.1:40913/1183 > log/10/stdout1183 2> log/10/stderr1183 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1191 ../src/curl -q --output log/5/curl1191.out --include --trace log/5/trace1191 --trace-time mqtt://127.0.0.1:34785/1191 -d something > log/5/stdout1191 2> log/5/stderr1191 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1190 ../src/curl -q --output log/9/curl1190.out --include --trace log/9/trace1190 --trace-time mqtt://127.0.0.1:38739/1190 > log/9/stdout1190 2> log/9/stderr1190 ver.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 19:28:10.945360 ====> Client connect 19:28:10.945583 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:10.958939 < "EHLO verifiedserver" 19:28:10.959023 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:10.959315 < "HELP" 19:28:10.959349 > "214 WE ROOLZ: 113262[CR][LF]" 19:28:10.959364 return proof we are we 19:28:10.959583 < "QUIT" 19:28:10.959610 > "221 curl ESMTP server signing off[CR][LF]" 19:28:10.960844 MAIN sockfilt said DISC 19:28:10.960872 ====> Client disconnected 19:28:10.960944 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:11.545652 ====> Client connect 19:28:11.552434 Received DATA (on stdin) 19:28:11.552483 > 146 bytes data, server => client 19:28:11.552496 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:11.552506 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:11.552516 '220 \___|\___/|_| \_\_____|\r\n' 19:28:11.552644 < 21 bytes data, client => server 19:28:11.552656 'EHLO verifiedserver\r\n' 19:28:11.562790 Received DATA (on stdin) 19:28:11.562813 > 53 bytes data, server => client 19:28:11.562825 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:11.562939 < 6 bytes data, client => server 19:28:11.562951 'HELP\r\n' 19:28:11.563114 Received DATA (on stdin) 19:28:11.563124 > 22 bytes data, server => client 19:28:11.563134 '214 WE ROOLZ: 113262\r\n' 19:28:11.563246 < 6 bytes data, client => server 19:28:11.563259 'QUIT\r\n' 19:28:11.563359 Received DATA (on stdin) 19:28:11.563369 > 35 bytes data, server => client 19:28:11.563379 '221 curl ESMTP server signing off\r\n' 19:28:11.564546 ====> Client disconnect 19:28:11.564693 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1187 From: different To: another body === End of file stdin-for-1187 === Start of file valgrind1187 ==144366== ==144366== Process terminating with default action of signal 4 (SIGILL) ==144366== Illegal opcode at address 0x492B75F ==144366== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144366== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144366== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144366== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144366== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144366== by 0x49908EB: curl_version_info (version.c:600) ==144366== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144366== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144366== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144366== by 0x4003269: main (tool_main.c:195) === End of file valgrind1187 test 1183 [1183 used instead of actual test number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1183 ../src/curl -q --output log/10/curl1183.out --include --trace-ascii log/10/trace1183 --trace-time http://127.0.0.1:40913/1183 > log/10/stdout1183 2> log/10/stderr1183 1183: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1183 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1183 ../src/curl -q --output log/10/curl1183.out --include --trace-ascii log/10/trace1183 --trace-time http://127.0.0.1:40913/1183 > log/10/stdout1183 2> log/10/stderr1183 === End of file commands.log === Start of file http_server.log 19:28:10.413848 ====> Client connect 19:28:10.413884 accept_connection 3 returned 4 19:28:10.413905 Read 93 bytes 19:28:10.413913 Process 93 bytes request 19:28:10.413925 Got request: GET /verifiedserver HTTP/1.1 19:28:10.413933 Are-we-friendly question received 19:28:10.413959 Wrote request (93 bytes) input to log/10/server.input 19:28:10.413973 Identifying ourselves as friends 19:28:10.414037 Response sent (56 bytes) and written to log/10/server.response 19:28:10.414046 special request received, no persistency 19:28:10.414053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 47472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1183 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1183 ==144186== ==144186== Process terminating with default action of signal 4 (SIGILL) ==144186== Illegal opcode at address 0x492B75F ==144186== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144186== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144186== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144186== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144186== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144186== by 0x49908EB: curl_version_info (version.c:600) ==144186== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144186== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144186== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144186== by 0x4003269: main (tool_main.c:195) === End of file valgrind1183 test 1191 [MQTT PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1191 ../src/curl -q --output log/5/curl1191.out --include --trace log/5/trace1191 --trace-time mqtt://127.0.0.1:34785/1191 -d something > log/5/stdout1191 2> log/5/stderr1191 1191: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1191 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1191 ../src/curl -q --output log/5/curl1191.out --include --trace log/5/trace1191 --trace-time mqtt://127.0.0.1:34785/1191 -d something > log/5/stdout1191 2> log/5/stderr1191 === End of file commands.log === Start of file server.cmd Testnum 1191 === End of file server.cmd === Start of file valgrind1191 ==144523== ==144523== Process terminating with default action of signal 4 (SIGILL) ==144523== Illegal opcode at address 0x492B75F ==144523== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144523== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144523== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144523== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144523== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144523== by 0x49908EB: curl_version_info (version.c:600) ==144523== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144523== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144523== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144523== by 0x4003269: main (tool_main.c:195) === End of file valgrind1191 startnew: ./server/servers mqttd --port 0 --pidfile log/9/server/mqtt_server.pid --portfile log/9/server/mqtt_server.port --config log/9/server.cmd --logfileCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1192 ../src/curl -q --output log/16/curl1192.out --include --trace log/16/trace1192 --trace-time mqtt://127.0.0.1:44713/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/16/stdout1192 2> log/16/stderr1192 log/9/mqtt_server.log --logdir log/9 RUN: MQTT server is now running PID 144434 on PORT 38739 * pid mqtt => 144434 144434 test 1190 [MQTT SUBSCRIBE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1190 ../src/curl -q --output log/9/curl1190.out --include --trace log/9/trace1190 --trace-time mqtt://127.0.0.1:38739/1190 > log/9/stdout1190 2> log/9/stderr1190 1190: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1190 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1190 ../src/curl -q --output log/9/curl1190.out --include --trace log/9/trace1190 --trace-time mqtt://127.0.0.1:38739/1190 > log/9/stdout1190 2> log/9/stderr1190 === End of file commands.log === Start of file mqtt_server.log 19:28:11.676363 Running IPv4 version 19:28:11.676443 Listening on port 38739 19:28:11.676482 Wrote pid 144434 to log/9/server/mqtt_server.pid 19:28:11.676513 Wrote port 38739 to log/9/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1190 === End of file server.cmd === Start of file valgrind1190 ==144686== ==144686== Process terminating with default action of signal 4 (SIGILL) ==144686== Illegal opcode at address 0x492B75F ==144686== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144686== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144686== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144686== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144686== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144686== by 0x49908EB: curl_version_info (version.c:600) ==144686== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144686== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144686== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144686== by 0x4003269: main (tool_main.c:195) === End of file valgrind1190 startnew: ./server/servers mqttd --port 0 --pidfile log/16/server/mqtt_server.pid --portfile log/16/server/mqtt_server.port --config log/16/server.cmd --logfile log/16/mqtt_server.log --logdir log/16 RUN: MQTT server is now running PID 144575 on PORT 44713 * pid mqtt => 144575 144575 test 1192 [MQTT SUBSCRIBE 2k topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1192 ../src/curl -q --output log/16/curl1192.out --include --trace log/16/trace1192 --trace-time mqtt://127.0.0.1:44713/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/16/stdout1192 2> log/16/stderr1192 1192: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1192 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1192 ../src/curl -q --output log/16/curl1192.out --include --trace log/16/trace1192 --trace-time mqtt://127.0.0.1:44713/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/16/stdout1192 2> log/16/stderr1192 === End of file commands.log === Start of file mqtt_server.log 19:28:11.829730 Running IPv4 version 19:28:11.829813 Listening on port 44713 19:28:11.829853 Wrote pid 144575 to log/16/server/mqtt_server.pid 19:28:11.829884 Wrote port 44713 to log/16/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1192 === End of file server.cmd === Start of file valgrind1192 ==144766== ==144766== Process terminating with default action of signal 4 (SIGILL) ==144766== Illegal opcode at address 0x492B75F ==144766== at 0x492B75F:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1193 ../src/curl -q --output log/19/curl1193.out --include --trace log/19/trace1193 --trace-time mqtt://127.0.0.1:33933/1193 -d @log/19/payload1193 > log/19/stdout1193 2> log/19/stderr1193 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1204 ../src/curl -q --output log/6/curl1204.out --include --trace-ascii log/6/trace1204 --trace-time http://127.0.0.1:33935/1204 -u testuser:testpass --anyauth > log/6/stdout1204 2> log/6/stderr1204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:40921/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 formatf.constprop.2 (mprintf.c:1115) ==144766== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144766== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144766== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144766== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144766== by 0x49908EB: curl_version_info (version.c:600) ==144766== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144766== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144766== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144766== by 0x4003269: main (tool_main.c:195) === End of file valgrind1192 startnew: ./server/servers mqttd --port 0 --pidfile log/19/server/mqtt_server.pid --portfile log/19/server/mqtt_server.port --config log/19/server.cmd --logfile log/19/mqtt_server.log --logdir log/19 RUN: MQTT server is now running PID 144624 on PORT 33933 * pid mqtt => 144624 144624 test 1193 [MQTT PUBLISH 2k payload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1193 ../src/curl -q --output log/19/curl1193.out --include --trace log/19/trace1193 --trace-time mqtt://127.0.0.1:33933/1193 -d @log/19/payload1193 > log/19/stdout1193 2> log/19/stderr1193 1193: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1193 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1193 ../src/curl -q --output log/19/curl1193.out --include --trace log/19/trace1193 --trace-time mqtt://127.0.0.1:33933/1193 -d @log/19/payload1193 > log/19/stdout1193 2> log/19/stderr1193 === End of file commands.log === Start of file mqtt_server.log 19:28:11.003035 Running IPv4 version 19:28:11.003122 Listening on port 33933 19:28:11.003166 Wrote pid 144624 to log/19/server/mqtt_server.pid 19:28:11.003201 Wrote port 33933 to log/19/server/mqtt_server.port === End of file mqtt_server.log === Start of file payload1193 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file payload1193 === Start of file server.cmd Testnum 1193 === End of file server.cmd === Start of file valgrind1193 ==144835== ==144835== Process terminating with default action of signal 4 (SIGILL) ==144835== Illegal opcode at address 0x492B75F ==144835== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144835== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144835== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144835== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144835== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144835== by 0x49908EB: curl_version_info (version.c:600) ==144835== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144835== by 0x4003269: main (tool_main.c:195) === End of file valgrind1193 test 1204 [HTTP with WWW-Authenticate and multiple auths in a single line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1204 ../src/curl -q --output log/6/curl1204.out --include --trace-ascii log/6/trace1204 --trace-time http://127.0.0.1:33935/1204 -u testuser:testpass --anyauth > log/6/stdout1204 2> log/6/stderr1204 1204: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1204 ../src/curl -q --output log/6/curl1204.out --include --trace-ascii log/6/trace1204 --trace-time http://127.0.0.1:33935/1204 -u testuser:testpass --anyauth > log/6/stdout1204 2> log/6/stderr1204 === End of file commands.log === Start of file http_server.log 19:28:12.258222 ====> Client connect 19:28:12.258257 accept_connection 3 returned 4 19:28:12.258277 Read 93 bytes 19:28:12.258286 Process 93 bytes request 19:28:12.258299 Got request: GET /verifiedserver HTTP/1.1 19:28:12.258307 Are-we-friendly question received 19:28:12.258334 Wrote request (93 bytes) input to log/6/server.input 19:28:12.258351 Identifying ourselves as friends 19:28:12.258411 Response sent (56 bytes) and written to log/6/server.response 19:28:12.258420 special request received, no persistency 19:28:12.258429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 47630 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1204 ==144967== ==144967== Process terminating with default action of signal 4 (SIGILL) ==144967== Illegal opcode at address 0x492B75F ==144967== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144967== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144967== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144967== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144967== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144967== by 0x49908EB: curl_version_info (version.c:600) ==144967== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144967== by 0x4003269: main (tool_main.c:195) === End of file valgrind1204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1194 ../src/curl -q --output log/7/curl1194.out --include --trace log/7/trace1194 --trace-time mqtt://127.0.0.1:32899/1194 > log/7/stdout1194 2> log/7/stderr1194 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1208 ../src/curl -q --output log/4/curl1208.out --include --trace-ascii log/4/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:39739/1208 -P - > log/4/stdout1208 2> log/4/stderr1208 test 1197 [HTTP POST redirected to GET and --write-out method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:40921/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 1197: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:14.587828248 +0000 +++ log/12/check-generated 2026-10-15 19:28:14.584654415 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 302 OK swsbounce swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 8[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain[CR][LF] -Location: ./11970001[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Content-Length: 15[CR][LF] -Connection: close[CR][LF] -Content-Type: text/plain; charset=us-ascii[CR][LF] -[CR][LF] -bigger monster[LF] -GET[LF] == Contents of files in the log/12/ directory after test 1197 === Start of file check-expected HTTP/1.1 302 OK swsbounce swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 8[CR][LF] Connection: close[CR][LF] Content-Type: text/plain[CR][LF] Location: ./11970001[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Content-Length: 15[CR][LF] Connection: close[CR][LF] Content-Type: text/plain; charset=us-ascii[CR][LF] [CR][LF] bigger monster[LF] GET[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1197 ../src/curl -q --include --trace-ascii log/12/trace1197 --trace-time http://127.0.0.1:40921/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/12/stdout1197 2> log/12/stderr1197 === End of file commands.log === Start of file http_server.log 19:28:11.679063 ====> Client connect 19:28:11.679106 accept_connection 3 returned 4 19:28:11.679130 Read 93 bytes 19:28:11.679141 Process 93 bytes request 19:28:11.679154 Got request: GET /verifiedserver HTTP/1.1 19:28:11.679163 Are-we-friendly question received 19:28:11.679193 Wrote request (93 bytes) input to log/12/server.input 19:28:11.679211 Identifying ourselves as friends 19:28:11.679287 Response sent (56 bytes) and written to log/12/server.response 19:28:11.679300 special request received, no persistency 19:28:11.679308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1197 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1197 ==144687== ==144687== Process terminating with default action of signal 4 (SIGILL) ==144687== Illegal opcode at address 0x492B75F ==144687== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144687== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144687== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144687== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144687== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144687== by 0x49908EB: curl_version_info (version.c:600) ==144687== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144687== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144687== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144687== by 0x4003269: main (tool_main.c:195) === End of file valgrind1197 startnew: ./server/servers mqttd --port 0 --pidfile log/7/server/mqtt_server.pid --portfile log/7/server/mqtt_server.port --config log/7/server.cmd --logfile log/7/mqtt_server.log --logdir log/7 RUN: MQTT server is now running PID 144626 on PORT 32899 * pid mqtt => 144626 144626 test 1194 [MQTT SUBSCRIBE with PUBLISH before SUBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1194 ../src/curl -q --output log/7/curl1194.out --include --trace log/7/trace1194 --trace-time mqtt://127.0.0.1:32899/1194 > log/7/stdout1194 2> log/7/stderr1194 1194: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1194 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1194 ../src/curl -q --output log/7/curl1194.out --include --trace log/7/trace1194 --trace-time mqtt://127.0.0.1:32899/1194 > log/7/stdout1194 2> log/7/stderr1194 === End of file commands.log === Start of file mqtt_server.log 19:28:11.026237 Running IPv4 version 19:28:11.026321 Listening on port 32899 19:28:11.026362 Wrote pid 144626 to log/7/server/mqtt_server.pid 19:28:11.026393 Wrote port 32899 to log/7/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE Testnum 1194 === End of file server.cmd === Start of file valgrind1194 ==144856== ==144856== Process terminating with default action of signal 4 (SIGILL) ==144856== Illegal opcode at address 0x492B75F ==144856== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==144856== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==144856== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==144856== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==144856== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==144856== by 0x49908EB: curl_version_info (version.c:600) ==144856== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==144856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==144856== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==144856== by 0x4003269: main (tool_main.c:195) === End of file valgrind1194 test 1208 [FTP PORT download, no data conn and no transient negative reply] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1208 ../src/curl -q --output log/4/curl1208.out --include --trace-ascii log/4/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:39739/1208 -P - > log/4/stdout1208 2> log/4/stderr1208 1208: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1208 ../src/curl -q --output log/4/curl1208.out --include --trace-ascii log/4/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:39739/1208 -P - > log/4/stdout1208 2> log/4/stderr1208 === End of file commands.log === Start of file ftp_server.log 19:28:12.972118 ====> Client connect 19:28:12.972374 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:12.972703 < "USER anonymous" 19:28:12.972743 > "331 We are happy you popped in![CR][LF]" 19:28:12.972929 < "PASS ftp@example.com" 19:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1206 ../src/curl -q --output log/1/curl1206.out --include --trace-ascii log/1/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40221/1206 -P - > log/1/stdout1206 2> log/1/stderr1206 28:12.972964 > "230 Welcome you silly person[CR][LF]" 19:28:12.973152 < "PWD" 19:28:12.973192 > "257 "/" is current directory[CR][LF]" 19:28:12.973390 < "EPSV" 19:28:12.973420 ====> Passive DATA channel requested by client 19:28:12.973436 DATA sockfilt for passive data channel starting... 19:28:12.983419 DATA sockfilt for passive data channel started (pid 145169) 19:28:12.983551 DATA sockfilt for passive data channel listens on port 46403 19:28:12.983595 > "229 Entering Passive Mode (|||46403|)[CR][LF]" 19:28:12.983611 Client has been notified that upcoming DATA connection is awaited on port 46403 19:28:12.983913 Client connects to port 46403 19:28:12.983942 ====> Client established passive DATA connection on port 46403 19:28:12.984035 < "TYPE I" 19:28:12.984064 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:12.984216 < "SIZE verifiedserver" 19:28:12.984250 > "213 17[CR][LF]" 19:28:12.984389 < "RETR verifiedserver" 19:28:12.984422 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:12.984505 =====> Closing passive DATA connection... 19:28:12.984520 Server disconnects passive DATA connection 19:28:12.984725 Server disconnected passive DATA connection 19:28:12.984750 DATA sockfilt for passive data channel quits (pid 145169) 19:28:12.984986 DATA sockfilt for passive data channel quit (pid 145169) 19:28:12.985008 =====> Closed passive DATA connection 19:28:12.985034 > "226 File transfer complete[CR][LF]" 19:28:13.029157 < "QUIT" 19:28:13.029213 > "221 bye bye baby[CR][LF]" 19:28:13.030152 MAIN sockfilt said DISC 19:28:13.030183 ====> Client disconnected 19:28:13.030263 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:12.575314 ====> Client connect 19:28:12.576030 Received DATA (on stdin) 19:28:12.576050 > 146 bytes data, server => client 19:28:12.576062 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:12.576072 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:12.576081 '220 \___|\___/|_| \_\_____|\r\n' 19:28:12.576171 < 16 bytes data, client => server 19:28:12.576186 'USER anonymous\r\n' 19:28:12.576374 Received DATA (on stdin) 19:28:12.576385 > 33 bytes data, server => client 19:28:12.576395 '331 We are happy you popped in!\r\n' 19:28:12.576449 < 22 bytes data, client => server 19:28:12.576460 'PASS ftp@example.com\r\n' 19:28:12.576597 Received DATA (on stdin) 19:28:12.576610 > 30 bytes data, server => client 19:28:12.576620 '230 Welcome you silly person\r\n' 19:28:12.576678 < 5 bytes data, client => server 19:28:12.576692 'PWD\r\n' 19:28:12.576825 Received DATA (on stdin) 19:28:12.576837 > 30 bytes data, server => client 19:28:12.576848 '257 "/" is current directory\r\n' 19:28:12.576918 < 6 bytes data, client => server 19:28:12.576934 'EPSV\r\n' 19:28:12.587246 Received DATA (on stdin) 19:28:12.587263 > 39 bytes data, server => client 19:28:12.587273 '229 Entering Passive Mode (|||46403|)\r\n' 19:28:12.587460 < 8 bytes data, client => server 19:28:12.587473 'TYPE I\r\n' 19:28:12.587690 Received DATA (on stdin) 19:28:12.587701 > 33 bytes data, server => client 19:28:12.587711 '200 I modify TYPE as you wanted\r\n' 19:28:12.587761 < 21 bytes data, client => server 19:28:12.587771 'SIZE verifiedserver\r\n' 19:28:12.587874 Received DATA (on stdin) 19:28:12.587883 > 8 bytes data, server => client 19:28:12.587892 '213 17\r\n' 19:28:12.587938 < 21 bytes data, client => server 19:28:12.587948 'RETR verifiedserver\r\n' 19:28:12.588146 Received DATA (on stdin) 19:28:12.588156 > 29 bytes data, server => client 19:28:12.588166 '150 Binary junk (17 bytes).\r\n' 19:28:12.588661 Received DATA (on stdin) 19:28:12.588672 > 28 bytes data, server => client 19:28:12.588683 '226 File transfer complete\r\n' 19:28:12.632586 < 6 bytes data, client => server 19:28:12.632613 'QUIT\r\n' 19:28:12.632839 Received DATA (on stdin) 19:28:12.632850 > 18 bytes data, server => client 19:28:12.632860 '221 bye bye baby\r\n' 19:28:12.633725 ====> Client disconnect 19:28:12.633884 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:12.585934 Running IPv4 version 19:28:12.586019 Listening on port 46403 19:28:12.586062 Wrote pid 145169 to log/4/server/ftp_sockdata.pid 19:28:12.586979 Received PING (on stdin) 19:28:12.587081 Received PORT (on stdin) 19:28:12.587494 ====> Client connect 19:28:12.588190 Received DATA (on stdin) 19:28:12.588201 > 17 bytes data, server => client 19:28:12.588210 'WE ROOLZ: 85249\r\n' 19:28:12.588232 Received DISC (on stdin) 19:28:12.588242 ====> Client forcibly disconnected 19:28:12.588382 Received QUIT (on stdin) 19:28:12.588391 quits 19:28:12.588457 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN150 Testnum 1208 === End of file server.cmd === Start of file valgrind1208 ==145293== ==145293== Process terminating with default action of signal 4 (SIGILL) ==145293== Illegal opcode at address 0x492B75F ==145293== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145293== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145293== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145293== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145293== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145293== by 0x49908EB: curl_version_info (version.c:600) ==145293== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145293== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145293== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145293== by 0x4003269: main (tool_main.c:195) === End of file valgrind1208 test 1206 [FTP PORT and 425 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1206 ../src/curl -q --output log/1/curl1206.out --include --trace-ascii log/1/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40221/1206 -P - > log/1/stdout1206 2> log/1/stderr1206 1206: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1206 ../src/curl -q --output log/1/curl1206.out --include --trace-ascii log/1/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:40221/1206 -P - > log/1/stdout1206 2> log/1/stderr1206 === End of file commands.log === Start of file ftp_server.log 19:28:12.868804 ====> Client connect 19:28:12.869018 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:12.869369 < "USER anonymous" 19:28:12.869412 > "331 We are happy you popped in![CR][LF]" 19:28:12.869609 < "PASS ftp@example.com" 19:28:12.869647 > "230 Welcome you silly person[CR][LF]" 19:28:12.869820 < "PWD" 19:28:12.869854 > "257 "/" is current directory[CR][LF]" 19:28:12.870033 < "EPSV" 19:28:12.870057 ====> Passive DATA channel requested by client 19:28:12.870072 DATA sockfilt for passive data channel starting... 19:28:12.878875 DATA sockfilt for passive data channel started (pid 145070) 19:28:12.879010 DATA sockfilt for passive data channel listens on port 34427 19:28:12.879056 > "229 Entering Passive Mode (|||34427|)[CR][LF]" 19:28:12.879074 Client has been notified that upcoming DATA connection is awaited on port 34427 19:28:12.882252 Client connects to port 34427 19:28:12.882291 ====> Client established passive DATA connection on port 34427 19:28:12.882386 < "TYPE I" 19:28:12.882421 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:12.888810 < "SIZE verifiedserver" 19:28:12.888867 > "213 17[CR][LF]" 19:28:12.889101 < "RETR verifiedserver" 19:28:12.889147 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:12.889261 =====> ClosingCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1196 ../src/curl -q --output log/17/curl1196.out --include --trace log/17/trace1196 --trace-time mqtt://127.0.0.1:36463/1196 > log/17/stdout1196 2> log/17/stderr1196 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1198 ../src/curl -q --output log/15/curl1198.out --include --trace log/15/trace1198 --trace-time mqtt://127.0.0.1:33583/%20 -d "" > log/15/stdout1198 2> log/15/stderr1198 passive DATA connection... 19:28:12.889287 Server disconnects passive DATA connection 19:28:12.889599 Server disconnected passive DATA connection 19:28:12.889632 DATA sockfilt for passive data channel quits (pid 145070) 19:28:12.890841 DATA sockfilt for passive data channel quit (pid 145070) 19:28:12.891011 =====> Closed passive DATA connection 19:28:12.891133 > "226 File transfer complete[CR][LF]" 19:28:12.937805 < "QUIT" 19:28:12.937875 > "221 bye bye baby[CR][LF]" 19:28:12.941400 MAIN sockfilt said DISC 19:28:12.941442 ====> Client disconnected 19:28:12.941525 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:13.472306 ====> Client connect 19:28:13.472670 Received DATA (on stdin) 19:28:13.472687 > 146 bytes data, server => client 19:28:13.472699 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:13.472709 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:13.472719 '220 \___|\___/|_| \_\_____|\r\n' 19:28:13.472839 < 16 bytes data, client => server 19:28:13.472854 'USER anonymous\r\n' 19:28:13.473051 Received DATA (on stdin) 19:28:13.473064 > 33 bytes data, server => client 19:28:13.473074 '331 We are happy you popped in!\r\n' 19:28:13.473138 < 22 bytes data, client => server 19:28:13.473151 'PASS ftp@example.com\r\n' 19:28:13.473284 Received DATA (on stdin) 19:28:13.473295 > 30 bytes data, server => client 19:28:13.473305 '230 Welcome you silly person\r\n' 19:28:13.473362 < 5 bytes data, client => server 19:28:13.473374 'PWD\r\n' 19:28:13.473489 Received DATA (on stdin) 19:28:13.473501 > 30 bytes data, server => client 19:28:13.473511 '257 "/" is current directory\r\n' 19:28:13.473577 < 6 bytes data, client => server 19:28:13.473589 'EPSV\r\n' 19:28:13.482716 Received DATA (on stdin) 19:28:13.482731 > 39 bytes data, server => client 19:28:13.482742 '229 Entering Passive Mode (|||34427|)\r\n' 19:28:13.485785 < 8 bytes data, client => server 19:28:13.485805 'TYPE I\r\n' 19:28:13.486055 Received DATA (on stdin) 19:28:13.486065 > 33 bytes data, server => client 19:28:13.486075 '200 I modify TYPE as you wanted\r\n' 19:28:13.492288 < 21 bytes data, client => server 19:28:13.492309 'SIZE verifiedserver\r\n' 19:28:13.492503 Received DATA (on stdin) 19:28:13.492514 > 8 bytes data, server => client 19:28:13.492547 '213 17\r\n' 19:28:13.492622 < 21 bytes data, client => server 19:28:13.492638 'RETR verifiedserver\r\n' 19:28:13.492927 Received DATA (on stdin) 19:28:13.492941 > 29 bytes data, server => client 19:28:13.492952 '150 Binary junk (17 bytes).\r\n' 19:28:13.494700 Received DATA (on stdin) 19:28:13.494714 > 28 bytes data, server => client 19:28:13.494723 '226 File transfer complete\r\n' 19:28:13.539100 < 6 bytes data, client => server 19:28:13.539133 'QUIT\r\n' 19:28:13.541526 Received DATA (on stdin) 19:28:13.541546 > 18 bytes data, server => client 19:28:13.541557 '221 bye bye baby\r\n' 19:28:13.544965 ====> Client disconnect 19:28:13.545162 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:12.476948 Running IPv4 version 19:28:12.477026 Listening on port 34427 19:28:12.477064 Wrote pid 145070 to log/1/server/ftp_sockdata.pid 19:28:12.482438 Received PING (on stdin) 19:28:12.482545 Received PORT (on stdin) 19:28:12.485830 ====> Client connect 19:28:12.493028 Received DATA (on stdin) 19:28:12.493049 > 17 bytes data, server => client 19:28:12.493060 'WE ROOLZ: 84935\r\n' 19:28:12.493095 Received DISC (on stdin) 19:28:12.493108 ====> Client forcibly disconnected 19:28:12.493280 Received QUIT (on stdin) 19:28:12.493299 quits 19:28:12.493382 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN425 Testnum 1206 === End of file server.cmd === Start of file valgrind1206 ==145157== ==145157== Process terminating with default action of signal 4 (SIGILL) ==145157== Illegal opcode at address 0x492B75F ==145157== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145157== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145157== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145157== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145157== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145157== by 0x49908EB: curl_version_info (version.c:600) ==145157== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145157== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145157== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145157== by 0x4003269: main (tool_main.c:195) === End of file valgrind1206 startnew: ./server/servers mqttd --port 0 --pidfile log/17/server/mqtt_server.pid --portfile log/17/server/mqtt_server.port --config log/17/server.cmd --logfile log/17/mqtt_server.log --logdir log/17 RUN: MQTT server is now running PID 144655 on PORT 36463 * pid mqtt => 144655 144655 test 1196 [MQTT with "unaccaptable protocol version" CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1196 ../src/curl -q --output log/17/curl1196.out --include --trace log/17/trace1196 --trace-time mqtt://127.0.0.1:36463/1196 > log/17/stdout1196 2> log/17/stderr1196 1196: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1196 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1196 ../src/curl -q --output log/17/curl1196.out --include --trace log/17/trace1196 --trace-time mqtt://127.0.0.1:36463/1196 > log/17/stdout1196 2> log/17/stderr1196 === End of file commands.log === Start of file mqtt_server.log 19:28:11.451652 Running IPv4 version 19:28:11.451750 Listening on port 36463 19:28:11.451792 Wrote pid 144655 to log/17/server/mqtt_server.pid 19:28:11.451826 Wrote port 36463 to log/17/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 1 Testnum 1196 === End of file server.cmd === Start of file valgrind1196 ==145069== ==145069== Process terminating with default action of signal 4 (SIGILL) ==145069== Illegal opcode at address 0x492B75F ==145069== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145069== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145069== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145069== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145069== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145069== by 0x49908EB: curl_version_info (version.c:600) ==145069== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145069== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145069== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145069== by 0x4003269: main (tool_main.c:195) === End of file valgrind1196 startnew: ./server/servers mqttd --port 0 --pidfile log/15/server/mqtt_server.pid --portfile log/15/server/mqtt_server.port --config log/15/server.cmd --logfile log/15/mqtt_server.log --logdir log/15 RUN: MQTT server is now running PID 144664 on PORT 33583 * pid mqtt => 144664 144664 test 1198 [MQTT PUBLISH empty payload, single space topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1198 ../src/curl -q --output log/15/curl1198.out --include --trace log/15/trace1198 --trace-time mqtt://127.0.0.1:33583/%20 -d "" > log/15/stdout1198 2> log/15/stderr1198 1198: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1198 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39371 -d "" > log/21/stdout1199 2> log/21/stderr1199 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1195 ../src/curl -q --output log/2/curl1195.out --include --trace log/2/trace1195 --trace-time mqtt://127.0.0.1:42775/1195 > log/2/stdout1195 2> log/2/stderr1195 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1205 ../src/curl -q --output log/13/curl1205.out --include --trace-ascii log/13/trace1205 --trace-time http://127.0.0.1:38821/1205 > log/13/stdout1205 2> log/13/stderr1205 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1198 ../src/curl -q --output log/15/curl1198.out --include --trace log/15/trace1198 --trace-time mqtt://127.0.0.1:33583/%20 -d "" > log/15/stdout1198 2> log/15/stderr1198 === End of file commands.log === Start of file mqtt_server.log 19:28:11.585050 Running IPv4 version 19:28:11.585133 Listening on port 33583 19:28:11.585176 Wrote pid 144664 to log/15/server/mqtt_server.pid 19:28:11.585207 Wrote port 33583 to log/15/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1198 === End of file server.cmd === Start of file valgrind1198 ==145197== ==145197== Process terminating with default action of signal 4 (SIGILL) ==145197== Illegal opcode at address 0x492B75F ==145197== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145197== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145197== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145197== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145197== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145197== by 0x49908EB: curl_version_info (version.c:600) ==145197== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145197== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145197== by 0x4003269: main (tool_main.c:195) === End of file valgrind1198 startnew: ./server/servers mqttd --port 0 --pidfile log/21/server/mqtt_server.pid --portfile log/21/server/mqtt_server.port --config log/21/server.cmd --logfile log/21/mqtt_server.log --logdir log/21 RUN: MQTT server is now running PID 144680 on PORT 39371 * pid mqtt => 144680 144680 test 1199 [MQTT PUBLISH empty payload, no topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39371 -d "" > log/21/stdout1199 2> log/21/stderr1199 1199: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1199 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1199 ../src/curl -q --output log/21/curl1199.out --include --trace log/21/trace1199 --trace-time mqtt://127.0.0.1:39371 -d "" > log/21/stdout1199 2> log/21/stderr1199 === End of file commands.log === Start of file mqtt_server.log 19:28:12.683680 Running IPv4 version 19:28:12.683744 Listening on port 39371 19:28:12.683778 Wrote pid 144680 to log/21/server/mqtt_server.pid 19:28:12.683804 Wrote port 39371 to log/21/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1199 === End of file server.cmd === Start of file valgrind1199 ==145365== ==145365== Process terminating with default action of signal 4 (SIGILL) ==145365== Illegal opcode at address 0x492B75F ==145365== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145365== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145365== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145365== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145365== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145365== by 0x49908EB: curl_version_info (version.c:600) ==145365== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145365== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145365== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145365== by 0x4003269: main (tool_main.c:195) === End of file valgrind1199 startnew: ./server/servers mqttd --port 0 --pidfile log/2/server/mqtt_server.pid --portfile log/2/server/mqtt_server.port --config log/2/server.cmd --logfile log/2/mqtt_server.log --logdir log/2 RUN: MQTT server is now running PID 144654 on PORT 42775 * pid mqtt => 144654 144654 test 1195 [MQTT SUBSCRIBE with short PUBLISH] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1195 ../src/curl -q --output log/2/curl1195.out --include --trace log/2/trace1195 --trace-time mqtt://127.0.0.1:42775/1195 > log/2/stdout1195 2> log/2/stderr1195 1195: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1195 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1195 ../src/curl -q --output log/2/curl1195.out --include --trace log/2/trace1195 --trace-time mqtt://127.0.0.1:42775/1195 > log/2/stdout1195 2> log/2/stderr1195 === End of file commands.log === Start of file mqtt_server.log 19:28:11.437390 Running IPv4 version 19:28:11.437462 Listening on port 42775 19:28:11.437497 Wrote pid 144654 to log/2/server/mqtt_server.pid 19:28:11.437527 Wrote port 42775 to log/2/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd PUBLISH-before-SUBACK TRUE short-PUBLISH TRUE Testnum 1195 === End of file server.cmd === Start of file valgrind1195 ==145029== ==145029== Process terminating with default action of signal 4 (SIGILL) ==145029== Illegal opcode at address 0x492B75F ==145029== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145029== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145029== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145029== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145029== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145029== by 0x49908EB: curl_version_info (version.c:600) ==145029== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145029== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145029== by 0x4003269: main (tool_main.c:195) === End of file valgrind1195 test 1205 [HTTP GET with 18K HTTP header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1205 ../src/curl -q --output log/13/curl1205.out --include --trace-ascii log/13/trace1205 --trace-time http://127.0.0.1:38821/1205 > log/13/stdout1205 2> log/13/stderr1205 1205: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1205 ../src/curl -q --output log/13/curl1205.out --include --trace-ascii log/13/trace1205 --trace-time http://127.0.0.1:38821/1205 > log/13/stdout1205 2> log/13/stderr1205 === End of file commands.log === Start of file http_server.log 19:28:12.505704 ====> Client connect 19:28:12.505745 accept_connection 3 returned 4 19:28:12.505771 Read 93 bytes 19:28:12.505782 Process 93 bytes request 19:28:12.505796 Got request: GET /verifiedserver HTTP/1.1 19:28:12.505805 Are-we-friendly question received 19:28:12.505834 Wrote request (93 bytes) input to log/13/server.input 19:28:12.505852 Identifying ourselves as friends 19:28:12.505937 Response sent (56 bytes) and written to log/13/server.response 19:28:12.505950 special request received, no persistency 19:28:12.505959 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (1CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/12/stdout1222 2> log/12/stderr1222 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1212 ../src/curl -q --output log/24/curl1212.out --include --trace-ascii log/24/trace1212 --trace-time http://user:secret@127.0.0.1:38895/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1212 2> log/24/stderr1212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1213 ../src/curl -q --output log/18/curl1213.out --include --trace-ascii log/18/trace1213 --trace-time -x 127.0.0.1:43739 we.want.that.site.com.1213 > log/18/stdout1213 2> log/18/stderr1213 27.0.0.1 port 38821) from 127.0.0.1 port 43690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1205 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1205 ==145109== ==145109== Process terminating with default action of signal 4 (SIGILL) ==145109== Illegal opcode at address 0x492B75F ==145109== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145109== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145109== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145109== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145109== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145109== by 0x49908EB: curl_version_info (version.c:600) ==145109== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145109== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145109== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145109== by 0x4003269: main (tool_main.c:195) === End of file valgrind1205 test 1222 [Verify deprecation statuses and versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1222.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/12/stdout1222 2> log/12/stderr1222 valgrind SKIPPED -------e--- OK (1117 out of 1890, remaining: 01:35, took 0.899s, duration: 02:18) test 1212 [noproxy setting together with socks proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1212 ../src/curl -q --output log/24/curl1212.out --include --trace-ascii log/24/trace1212 --trace-time http://user:secret@127.0.0.1:38895/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1212 2> log/24/stderr1212 1212: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1212 ../src/curl -q --output log/24/curl1212.out --include --trace-ascii log/24/trace1212 --trace-time http://user:secret@127.0.0.1:38895/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/24/stdout1212 2> log/24/stderr1212 === End of file commands.log === Start of file http_server.log 19:28:12.742324 ====> Client connect 19:28:12.742360 accept_connection 3 returned 4 19:28:12.742383 Read 93 bytes 19:28:12.742392 Process 93 bytes request 19:28:12.742406 Got request: GET /verifiedserver HTTP/1.1 19:28:12.742414 Are-we-friendly question received 19:28:12.742441 Wrote request (93 bytes) input to log/24/server.input 19:28:12.742465 Identifying ourselves as friends 19:28:12.742558 Response sent (56 bytes) and written to log/24/server.response 19:28:12.742569 special request received, no persistency 19:28:12.742577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1212 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1212 ==145496== ==145496== Process terminating with default action of signal 4 (SIGILL) ==145496== Illegal opcode at address 0x492B75F ==145496== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145496== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145496== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145496== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145496== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145496== by 0x49908EB: curl_version_info (version.c:600) ==145496== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145496== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145496== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145496== by 0x4003269: main (tool_main.c:195) === End of file valgrind1212 test 1213 [HTTP with proxy and host-only URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1213 ../src/curl -q --output log/18/curl1213.out --include --trace-ascii log/18/trace1213 --trace-time -x 127.0.0.1:43739 we.want.that.site.com.1213 > log/18/stdout1213 2> log/18/stderr1213 1213: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1213 ../src/curl -q --output log/18/curl1213.out --include --trace-ascii log/18/trace1213 --trace-time -x 127.0.0.1:43739 we.want.that.site.com.1213 > log/18/stdout1213 2> log/18/stderr1213 === End of file commands.log === Start of file http_server.log 19:28:13.867071 ====> Client connect 19:28:13.867108 accept_connection 3 returned 4 19:28:13.867128 Read 93 bytes 19:28:13.867137 Process 93 bytes request 19:28:13.867150 Got request: GET /verifiedserver HTTP/1.1 19:28:13.867159 Are-we-friendly question received 19:28:13.867186 Wrote request (93 bytes) input to log/18/server.input 19:28:13.867201 Identifying ourselves as friends 19:28:13.867265 Response sent (56 bytes) and written to log/18/server.response 19:28:13.867275 special request received, no persistency 19:28:13.867283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 37092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1213 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1213 ==145614== ==145614== Process terminating with default action of signal 4 (SIGILL) ==145614== Illegal opcode at address 0x492B75F ==145614== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145614== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145614== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145614== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145614== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145614== by 0x49908EB: curl_version_info (version.c:600) ==145614== by 0x4003269: UnknownInlinedFun (CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1217 ../src/curl -q --output log/5/curl1217.out --include --trace-ascii log/5/trace1217 --trace-time ftp://127.0.0.1:39641/get/file/1217 ftp://127.0.0.1:39641/get/file/again/1217 --ftp-method singlecwd > log/5/stdout1217 2> log/5/stderr1217 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1207 ../src/curl -q --output log/23/curl1207.out --include --trace-ascii log/23/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35523/1207 -P - > log/23/stdout1207 2> log/23/stderr1207 tool_libinfo.c:140) ==145614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145614== by 0x4003269: main (tool_main.c:195) === End of file valgrind1213 test 1217 [FTP with rubbish before name in 257-response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1217 ../src/curl -q --output log/5/curl1217.out --include --trace-ascii log/5/trace1217 --trace-time ftp://127.0.0.1:39641/get/file/1217 ftp://127.0.0.1:39641/get/file/again/1217 --ftp-method singlecwd > log/5/stdout1217 2> log/5/stderr1217 1217: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1217 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1217 ../src/curl -q --output log/5/curl1217.out --include --trace-ascii log/5/trace1217 --trace-time ftp://127.0.0.1:39641/get/file/1217 ftp://127.0.0.1:39641/get/file/again/1217 --ftp-method singlecwd > log/5/stdout1217 2> log/5/stderr1217 === End of file commands.log === Start of file ftp_server.log 19:28:13.409873 ====> Client connect 19:28:13.410085 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:13.410390 < "USER anonymous" 19:28:13.410426 > "331 We are happy you popped in![CR][LF]" 19:28:13.410598 < "PASS ftp@example.com" 19:28:13.410625 > "230 Welcome you silly person[CR][LF]" 19:28:13.410793 < "PWD" 19:28:13.410827 > "257 "/" is current directory[CR][LF]" 19:28:13.411000 < "EPSV" 19:28:13.411029 ====> Passive DATA channel requested by client 19:28:13.411043 DATA sockfilt for passive data channel starting... 19:28:13.422085 DATA sockfilt for passive data channel started (pid 145741) 19:28:13.422243 DATA sockfilt for passive data channel listens on port 46045 19:28:13.422298 > "229 Entering Passive Mode (|||46045|)[CR][LF]" 19:28:13.422318 Client has been notified that upcoming DATA connection is awaited on port 46045 19:28:13.422679 Client connects to port 46045 19:28:13.422709 ====> Client established passive DATA connection on port 46045 19:28:13.422803 < "TYPE I" 19:28:13.422837 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:13.423000 < "SIZE verifiedserver" 19:28:13.423036 > "213 17[CR][LF]" 19:28:13.423193 < "RETR verifiedserver" 19:28:13.423226 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:13.423313 =====> Closing passive DATA connection... 19:28:13.423327 Server disconnects passive DATA connection 19:28:13.423467 Server disconnected passive DATA connection 19:28:13.423486 DATA sockfilt for passive data channel quits (pid 145741) 19:28:13.423791 DATA sockfilt for passive data channel quit (pid 145741) 19:28:13.423815 =====> Closed passive DATA connection 19:28:13.423839 > "226 File transfer complete[CR][LF]" 19:28:13.472601 < "QUIT" 19:28:13.472668 > "221 bye bye baby[CR][LF]" 19:28:13.474315 MAIN sockfilt said DISC 19:28:13.474353 ====> Client disconnected 19:28:13.474435 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:13.013346 ====> Client connect 19:28:13.013702 Received DATA (on stdin) 19:28:13.013717 > 146 bytes data, server => client 19:28:13.013729 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:13.013739 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:13.013748 '220 \___|\___/|_| \_\_____|\r\n' 19:28:13.013845 < 16 bytes data, client => server 19:28:13.013859 'USER anonymous\r\n' 19:28:13.014030 Received DATA (on stdin) 19:28:13.014042 > 33 bytes data, server => client 19:28:13.014052 '331 We are happy you popped in!\r\n' 19:28:13.014107 < 22 bytes data, client => server 19:28:13.014119 'PASS ftp@example.com\r\n' 19:28:13.014228 Received DATA (on stdin) 19:28:13.014239 > 30 bytes data, server => client 19:28:13.014249 '230 Welcome you silly person\r\n' 19:28:13.014306 < 5 bytes data, client => server 19:28:13.014318 'PWD\r\n' 19:28:13.014428 Received DATA (on stdin) 19:28:13.014439 > 30 bytes data, server => client 19:28:13.014449 '257 "/" is current directory\r\n' 19:28:13.014513 < 6 bytes data, client => server 19:28:13.014526 'EPSV\r\n' 19:28:13.025930 Received DATA (on stdin) 19:28:13.025951 > 39 bytes data, server => client 19:28:13.025962 '229 Entering Passive Mode (|||46045|)\r\n' 19:28:13.026194 < 8 bytes data, client => server 19:28:13.026210 'TYPE I\r\n' 19:28:13.026440 Received DATA (on stdin) 19:28:13.026452 > 33 bytes data, server => client 19:28:13.026462 '200 I modify TYPE as you wanted\r\n' 19:28:13.026515 < 21 bytes data, client => server 19:28:13.026527 'SIZE verifiedserver\r\n' 19:28:13.026636 Received DATA (on stdin) 19:28:13.026646 > 8 bytes data, server => client 19:28:13.026656 '213 17\r\n' 19:28:13.026708 < 21 bytes data, client => server 19:28:13.026719 'RETR verifiedserver\r\n' 19:28:13.026926 Received DATA (on stdin) 19:28:13.026936 > 29 bytes data, server => client 19:28:13.026945 '150 Binary junk (17 bytes).\r\n' 19:28:13.027438 Received DATA (on stdin) 19:28:13.027449 > 28 bytes data, server => client 19:28:13.027458 '226 File transfer complete\r\n' 19:28:13.075778 < 6 bytes data, client => server 19:28:13.075811 'QUIT\r\n' 19:28:13.076279 Received DATA (on stdin) 19:28:13.076292 > 18 bytes data, server => client 19:28:13.076303 '221 bye bye baby\r\n' 19:28:13.077392 ====> Client disconnect 19:28:13.078036 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:13.019393 Running IPv4 version 19:28:13.019466 Listening on port 46045 19:28:13.019504 Wrote pid 145741 to log/5/server/ftp_sockdata.pid 19:28:13.025587 Received PING (on stdin) 19:28:13.025734 Received PORT (on stdin) 19:28:13.026232 ====> Client connect 19:28:13.026969 Received DATA (on stdin) 19:28:13.026979 > 17 bytes data, server => client 19:28:13.026988 'WE ROOLZ: 85245\r\n' 19:28:13.027009 Received DISC (on stdin) 19:28:13.027019 ====> Client forcibly disconnected 19:28:13.027089 Received QUIT (on stdin) 19:28:13.027098 quits 19:28:13.027152 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 there is rubbish all over "/this/is/the/path" Testnum 1217 === End of file server.cmd === Start of file valgrind1217 ==145896== ==145896== Process terminating with default action of signal 4 (SIGILL) ==145896== Illegal opcode at address 0x492B75F ==145896== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145896== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145896== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145896== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145896== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145896== by 0x49908EB: curl_version_info (version.c:600) ==145896== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145896== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145896== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145896== by 0x4003269: main (tool_main.c:195) === End of file valgrind1217 test 1207 [FTP PORT and 421 on download] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1207 ../src/curl -q --output log/23/curl1207.out --include --trace-ascii log/23/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35523/1207 -P - > log/23/stdout1207 2> log/23/stderr1207 1207: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1207 === Start of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:36969/1/1200 > log/11/stdout1200 2> log/11/stderr1200 file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1207 ../src/curl -q --output log/23/curl1207.out --include --trace-ascii log/23/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35523/1207 -P - > log/23/stdout1207 2> log/23/stderr1207 === End of file commands.log === Start of file ftp_server.log 19:28:12.864226 ====> Client connect 19:28:12.864468 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:12.870144 < "USER anonymous" 19:28:12.870206 > "331 We are happy you popped in![CR][LF]" 19:28:12.870437 < "PASS ftp@example.com" 19:28:12.870480 > "230 Welcome you silly person[CR][LF]" 19:28:12.870682 < "PWD" 19:28:12.870725 > "257 "/" is current directory[CR][LF]" 19:28:12.870919 < "EPSV" 19:28:12.870946 ====> Passive DATA channel requested by client 19:28:12.870963 DATA sockfilt for passive data channel starting... 19:28:12.881918 DATA sockfilt for passive data channel started (pid 145071) 19:28:12.885901 DATA sockfilt for passive data channel listens on port 37463 19:28:12.888865 > "229 Entering Passive Mode (|||37463|)[CR][LF]" 19:28:12.888902 Client has been notified that upcoming DATA connection is awaited on port 37463 19:28:12.889260 Client connects to port 37463 19:28:12.889302 ====> Client established passive DATA connection on port 37463 19:28:12.889423 < "TYPE I" 19:28:12.889463 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:12.889658 < "SIZE verifiedserver" 19:28:12.889702 > "213 17[CR][LF]" 19:28:12.889855 < "RETR verifiedserver" 19:28:12.889888 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:12.889977 =====> Closing passive DATA connection... 19:28:12.889996 Server disconnects passive DATA connection 19:28:12.890236 Server disconnected passive DATA connection 19:28:12.890266 DATA sockfilt for passive data channel quits (pid 145071) 19:28:12.890528 DATA sockfilt for passive data channel quit (pid 145071) 19:28:12.890551 =====> Closed passive DATA connection 19:28:12.890581 > "226 File transfer complete[CR][LF]" 19:28:12.935804 < "QUIT" 19:28:12.936304 > "221 bye bye baby[CR][LF]" 19:28:12.937898 MAIN sockfilt said DISC 19:28:12.938004 ====> Client disconnected 19:28:12.938105 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:13.467737 ====> Client connect 19:28:13.468123 Received DATA (on stdin) 19:28:13.468141 > 146 bytes data, server => client 19:28:13.468152 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:13.468162 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:13.468171 '220 \___|\___/|_| \_\_____|\r\n' 19:28:13.473542 < 16 bytes data, client => server 19:28:13.473571 'USER anonymous\r\n' 19:28:13.473853 Received DATA (on stdin) 19:28:13.473868 > 33 bytes data, server => client 19:28:13.473878 '331 We are happy you popped in!\r\n' 19:28:13.473947 < 22 bytes data, client => server 19:28:13.473962 'PASS ftp@example.com\r\n' 19:28:13.474120 Received DATA (on stdin) 19:28:13.474133 > 30 bytes data, server => client 19:28:13.474143 '230 Welcome you silly person\r\n' 19:28:13.474207 < 5 bytes data, client => server 19:28:13.474221 'PWD\r\n' 19:28:13.474364 Received DATA (on stdin) 19:28:13.474376 > 30 bytes data, server => client 19:28:13.474387 '257 "/" is current directory\r\n' 19:28:13.474455 < 6 bytes data, client => server 19:28:13.474469 'EPSV\r\n' 19:28:13.492580 Received DATA (on stdin) 19:28:13.492600 > 39 bytes data, server => client 19:28:13.492610 '229 Entering Passive Mode (|||37463|)\r\n' 19:28:13.492794 < 8 bytes data, client => server 19:28:13.492812 'TYPE I\r\n' 19:28:13.493101 Received DATA (on stdin) 19:28:13.493114 > 33 bytes data, server => client 19:28:13.493124 '200 I modify TYPE as you wanted\r\n' 19:28:13.493187 < 21 bytes data, client => server 19:28:13.493200 'SIZE verifiedserver\r\n' 19:28:13.493334 Received DATA (on stdin) 19:28:13.493344 > 8 bytes data, server => client 19:28:13.493353 '213 17\r\n' 19:28:13.493403 < 21 bytes data, client => server 19:28:13.493414 'RETR verifiedserver\r\n' 19:28:13.493724 Received DATA (on stdin) 19:28:13.493739 > 29 bytes data, server => client 19:28:13.493751 '150 Binary junk (17 bytes).\r\n' 19:28:13.494218 Received DATA (on stdin) 19:28:13.494230 > 28 bytes data, server => client 19:28:13.494241 '226 File transfer complete\r\n' 19:28:13.539238 < 6 bytes data, client => server 19:28:13.539267 'QUIT\r\n' 19:28:13.539468 Received DATA (on stdin) 19:28:13.539481 > 18 bytes data, server => client 19:28:13.539966 '221 bye bye baby\r\n' 19:28:13.541174 ====> Client disconnect 19:28:13.541554 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:12.483947 Running IPv4 version 19:28:12.484039 Listening on port 37463 19:28:12.484080 Wrote pid 145071 to log/23/server/ftp_sockdata.pid 19:28:12.485484 Received PING (on stdin) 19:28:12.488963 Received PORT (on stdin) 19:28:12.492837 ====> Client connect 19:28:12.493633 Received DATA (on stdin) 19:28:12.493648 > 17 bytes data, server => client 19:28:12.493658 'WE ROOLZ: 84709\r\n' 19:28:12.493686 Received DISC (on stdin) 19:28:12.493698 ====> Client forcibly disconnected 19:28:12.493908 Received QUIT (on stdin) 19:28:12.493921 quits 19:28:12.493996 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd NODATACONN421 Testnum 1207 === End of file server.cmd === Start of file valgrind1207 ==145156== ==145156== Process terminating with default action of signal 4 (SIGILL) ==145156== Illegal opcode at address 0x492B75F ==145156== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145156== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145156== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145156== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145156== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145156== by 0x49908EB: curl_version_info (version.c:600) ==145156== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145156== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145156== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145156== by 0x4003269: main (tool_main.c:195) === End of file valgrind1207 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/11/server/gopher_server.pid" --logfile "log/11/gopher_server.log" --logdir "log/11" --portfile log/11/server/gopher_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 144791 port 36969 * pid gopher => 144791 144791 test 1200 [Gopher index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:36969/1/1200 > log/11/stdout1200 2> log/11/stderr1200 1200: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:36969/1/1200 > log/11/stdout1200 2> log/11/stderr1200 === End of file commands.log === Start of file gopher_server.log 19:28:12.959667 Running GOPHER IPv4 version on port 36969 19:28:12.959785 Wrote pid 144791 to log/11/server/gopher_server.pid 19:28:12.959918 Wrote port 36969 to log/11/server/gopher_serveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1216 ../src/curl -q --output log/10/curl1216.out --include --trace-ascii log/10/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/10/injar1216 -x 127.0.0.1:40913 > log/10/stdout1216 2> log/10/stderr1216 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1210 ../src/curl -q --trace-ascii log/14/trace1210 --trace-time http://127.0.0.1:45467/1210?junk -J -O --output-dir log/14 > log/14/stdout1210 2> log/14/stderr1210 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:33897 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stderr1214 r.port === End of file gopher_server.log === Start of file server.cmd Testnum 1200 === End of file server.cmd === Start of file valgrind1200 ==145612== ==145612== Process terminating with default action of signal 4 (SIGILL) ==145612== Illegal opcode at address 0x492B75F ==145612== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145612== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145612== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145612== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145612== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145612== by 0x49908EB: curl_version_info (version.c:600) ==145612== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145612== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145612== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145612== by 0x4003269: main (tool_main.c:195) === End of file valgrind1200 test 1216 [HTTP cookie domains tailmatching the hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1216 ../src/curl -q --output log/10/curl1216.out --include --trace-ascii log/10/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/10/injar1216 -x 127.0.0.1:40913 > log/10/stdout1216 2> log/10/stderr1216 1216: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1216 ../src/curl -q --output log/10/curl1216.out --include --trace-ascii log/10/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/10/injar1216 -x 127.0.0.1:40913 > log/10/stdout1216 2> log/10/stderr1216 === End of file commands.log === Start of file http_server.log 19:28:12.997815 ====> Client connect 19:28:12.997851 accept_connection 3 returned 4 19:28:12.997949 Read 93 bytes 19:28:12.997962 Process 93 bytes request 19:28:12.997975 Got request: GET /verifiedserver HTTP/1.1 19:28:12.997984 Are-we-friendly question received 19:28:12.998016 Wrote request (93 bytes) input to log/10/server.input 19:28:12.998032 Identifying ourselves as friends 19:28:12.998093 Response sent (56 bytes) and written to log/10/server.response 19:28:12.998103 special request received, no persistency 19:28:12.998111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 52798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file injar1216 example.fake FALSE /a FALSE 22139150993 mooo indeed example.fake FALSE /b FALSE 0 moo1 indeed example.fake FALSE /c FALSE 22139150993 moo2 indeed example.fake TRUE /c FALSE 22139150993 moo3 indeed === End of file injar1216 === Start of file server.cmd Testnum 1216 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1216 ==145765== ==145765== Process terminating with default action of signal 4 (SIGILL) ==145765== Illegal opcode at address 0x492B75F ==145765== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145765== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145765== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145765== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145765== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145765== by 0x49908EB: curl_version_info (version.c:600) ==145765== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145765== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145765== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145765== by 0x4003269: main (tool_main.c:195) === End of file valgrind1216 test 1210 [HTTP GET with -J without Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1210 ../src/curl -q --trace-ascii log/14/trace1210 --trace-time http://127.0.0.1:45467/1210?junk -J -O --output-dir log/14 > log/14/stdout1210 2> log/14/stderr1210 1210: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1210 ../src/curl -q --trace-ascii log/14/trace1210 --trace-time http://127.0.0.1:45467/1210?junk -J -O --output-dir log/14 > log/14/stdout1210 2> log/14/stderr1210 === End of file commands.log === Start of file http_server.log 19:28:12.696627 ====> Client connect 19:28:12.696664 accept_connection 3 returned 4 19:28:12.702478 Read 93 bytes 19:28:12.702503 Process 93 bytes request 19:28:12.702515 Got request: GET /verifiedserver HTTP/1.1 19:28:12.702525 Are-we-friendly question received 19:28:12.702571 Wrote request (93 bytes) input to log/14/server.input 19:28:12.702590 Identifying ourselves as friends 19:28:12.702658 Response sent (56 bytes) and written to log/14/server.response 19:28:12.702668 special request received, no persistency 19:28:12.702677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 45660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1210 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1210 ==145420== ==145420== Process terminating with default action of signal 4 (SIGILL) ==145420== Illegal opcode at address 0x492B75F ==145420== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145420== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145420== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145420== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145420== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145420== by 0x49908EB: curl_version_info (version.c:600) ==145420== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145420== by 0x4003269: main (tool_main.c:195) === End of file valgrind1210 test 1214 [HTTP with proxy and URL with ? and no slash separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:33897 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1202 ../src/curl -q --output log/22/curl1202.out --include --trace-ascii log/22/trace1202 --trace-time "gopher://127.0.0.1:45765/7/the/search/engine%09query%20succeeded/1202" > log/22/stdout1202 2> log/22/stderr1202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1201 ../src/curl -q --output log/3/curl1201.out --include --trace-ascii log/3/trace1201 --trace-time gopher://127.0.0.1:40275/1/selector/SELECTOR/1201 > log/3/stdout1201 2> log/3/stderr1201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1203 ../src/curl -q --output log/8/curl1203.out --include --trace-ascii log/8/trace1203 --trace-time -g gopher://[::1]:41673/1/moo/1203 > log/8/stdout1203 2> log/8/stderr1203 derr1214 1214: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1214 ../src/curl -q --output log/20/curl1214.out --include --trace-ascii log/20/trace1214 --trace-time -x 127.0.0.1:33897 http://we.want.that.site.com.1214?moo=foo > log/20/stdout1214 2> log/20/stderr1214 === End of file commands.log === Start of file http_server.log 19:28:12.868991 ====> Client connect 19:28:12.869027 accept_connection 3 returned 4 19:28:12.869048 Read 93 bytes 19:28:12.869058 Process 93 bytes request 19:28:12.869070 Got request: GET /verifiedserver HTTP/1.1 19:28:12.869079 Are-we-friendly question received 19:28:12.869109 Wrote request (93 bytes) input to log/20/server.input 19:28:12.869124 Identifying ourselves as friends 19:28:12.869190 Response sent (56 bytes) and written to log/20/server.response 19:28:12.869200 special request received, no persistency 19:28:12.869208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 37228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1214 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1214 ==145601== ==145601== Process terminating with default action of signal 4 (SIGILL) ==145601== Illegal opcode at address 0x492B75F ==145601== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145601== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145601== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145601== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145601== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145601== by 0x49908EB: curl_version_info (version.c:600) ==145601== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145601== by 0x4003269: main (tool_main.c:195) === End of file valgrind1214 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/22/server/gopher_server.pid" --logfile "log/22/gopher_server.log" --logdir "log/22" --portfile log/22/server/gopher_server.port --config log/22/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 144893 port 45765 * pid gopher => 144893 144893 test 1202 [Gopher query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1202 ../src/curl -q --output log/22/curl1202.out --include --trace-ascii log/22/trace1202 --trace-time "gopher://127.0.0.1:45765/7/the/search/engine%09query%20succeeded/1202" > log/22/stdout1202 2> log/22/stderr1202 1202: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1202 ../src/curl -q --output log/22/curl1202.out --include --trace-ascii log/22/trace1202 --trace-time "gopher://127.0.0.1:45765/7/the/search/engine%09query%20succeeded/1202" > log/22/stdout1202 2> log/22/stderr1202 === End of file commands.log === Start of file gopher_server.log 19:28:12.174643 Running GOPHER IPv4 version on port 45765 19:28:12.174754 Wrote pid 144893 to log/22/server/gopher_server.pid 19:28:12.174790 Wrote port 45765 to log/22/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1202 === End of file server.cmd === Start of file valgrind1202 ==145904== ==145904== Process terminating with default action of signal 4 (SIGILL) ==145904== Illegal opcode at address 0x492B75F ==145904== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145904== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145904== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145904== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145904== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145904== by 0x49908EB: curl_version_info (version.c:600) ==145904== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145904== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145904== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145904== by 0x4003269: main (tool_main.c:195) === End of file valgrind1202 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/3/server/gopher_server.pid" --logfile "log/3/gopher_server.log" --logdir "log/3" --portfile log/3/server/gopher_server.port --config log/3/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 144821 port 40275 * pid gopher => 144821 144821 test 1201 [Gopher selector] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1201 ../src/curl -q --output log/3/curl1201.out --include --trace-ascii log/3/trace1201 --trace-time gopher://127.0.0.1:40275/1/selector/SELECTOR/1201 > log/3/stdout1201 2> log/3/stderr1201 1201: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1201 ../src/curl -q --output log/3/curl1201.out --include --trace-ascii log/3/trace1201 --trace-time gopher://127.0.0.1:40275/1/selector/SELECTOR/1201 > log/3/stdout1201 2> log/3/stderr1201 === End of file commands.log === Start of file gopher_server.log 19:28:12.015835 Running GOPHER IPv4 version on port 40275 19:28:12.015950 Wrote pid 144821 to log/3/server/gopher_server.pid 19:28:12.015985 Wrote port 40275 to log/3/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1201 === End of file server.cmd === Start of file valgrind1201 ==145703== ==145703== Process terminating with default action of signal 4 (SIGILL) ==145703== Illegal opcode at address 0x492B75F ==145703== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145703== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145703== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145703== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145703== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145703== by 0x49908EB: curl_version_info (version.c:600) ==145703== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145703== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145703== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145703== by 0x4003269: main (tool_main.c:195) === End of file valgrind1201 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/cuCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1218 ../src/curl -q --output log/9/curl1218.out --include --trace-ascii log/9/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:43733 > log/9/stdout1218 2> log/9/stderr1218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1220 ../src/curl -q --trace-ascii log/19/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test1220.txt?a_query=foobar#afragment > log/19/stdout1220 2> log/19/stderr1220 rl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/8/server/gopher_ipv6_server.pid" --logfile "log/8/gopher_ipv6_server.log" --logdir "log/8" --portfile log/8/server/gopher_ipv6_server.port --config log/8/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER-IPv6 server is on PID 144906 port 41673 * pid gopher-ipv6 => 144906 144906 test 1203 [Gopher IPv6 index] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1203 ../src/curl -q --output log/8/curl1203.out --include --trace-ascii log/8/trace1203 --trace-time -g gopher://[::1]:41673/1/moo/1203 > log/8/stdout1203 2> log/8/stderr1203 1203: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1203 ../src/curl -q --output log/8/curl1203.out --include --trace-ascii log/8/trace1203 --trace-time -g gopher://[::1]:41673/1/moo/1203 > log/8/stdout1203 2> log/8/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 19:28:12.192098 Running GOPHER IPv6 version on port 41673 19:28:12.195669 Wrote pid 144906 to log/8/server/gopher_ipv6_server.pid 19:28:12.195732 Wrote port 41673 to log/8/server/gopher_ipv6_server.port === End of file gopher_ipv6_server.log === Start of file server.cmd Testnum 1203 === End of file server.cmd === Start of file valgrind1203 ==145916== ==145916== Process terminating with default action of signal 4 (SIGILL) ==145916== Illegal opcode at address 0x492B75F ==145916== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==145916== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==145916== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==145916== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==145916== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==145916== by 0x49908EB: curl_version_info (version.c:600) ==145916== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==145916== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==145916== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==145916== by 0x4003269: main (tool_main.c:195) === End of file valgrind1203 test 1218 [HTTP cookies and domains with same prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1218 ../src/curl -q --output log/9/curl1218.out --include --trace-ascii log/9/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:43733 > log/9/stdout1218 2> log/9/stderr1218 1218: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1218 ../src/curl -q --output log/9/curl1218.out --include --trace-ascii log/9/trace1218 --trace-time http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x 127.0.0.1:43733 > log/9/stdout1218 2> log/9/stderr1218 === End of file commands.log === Start of file http_server.log 19:28:13.627835 ====> Client connect 19:28:13.627872 accept_connection 3 returned 4 19:28:13.627896 Read 93 bytes 19:28:13.627906 Process 93 bytes request 19:28:13.627919 Got request: GET /verifiedserver HTTP/1.1 19:28:13.627928 Are-we-friendly question received 19:28:13.627954 Wrote request (93 bytes) input to log/9/server.input 19:28:13.627970 Identifying ourselves as friends 19:28:13.628037 Response sent (56 bytes) and written to log/9/server.response 19:28:13.628047 special request received, no persistency 19:28:13.628056 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 44100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1218 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1218 ==146103== ==146103== Process terminating with default action of signal 4 (SIGILL) ==146103== Illegal opcode at address 0x492B75F ==146103== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146103== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146103== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146103== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146103== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146103== by 0x49908EB: curl_version_info (version.c:600) ==146103== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146103== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146103== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146103== by 0x4003269: main (tool_main.c:195) === End of file valgrind1218 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1219 ../src/curl -q --output log/16/curl1219.out --include --trace-ascii log/16/trace1219 --trace-time ftp://127.0.0.1:40031/1219 > log/16/stdout1219 2> log/16/stderr1219 test 1220 [file:// URLs with query string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1220 ../src/curl -q --trace-ascii log/19/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test1220.txt?a_query=foobar#afragment > log/19/stdout1220 2> log/19/stderr1220 1220: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:16.803620990 +0000 +++ log/19/check-generated 2026-10-15 19:28:16.801444462 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/19/ directory after test 1220 === Start of file check-expected contents in a single file[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1220 ../src/curl -q --trace-ascii log/19/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/19/test1220.txt?a_query=foobar#afragment > log/19/stdout1220 2> log/19/stderr1220 === End of file commands.log === Start of file server.cmd Testnum 1220 === End of file server.cmd === Start of file test1220.txt contents in a single file === End of file test1220.txt === Start of file valgrind1220 ==146183== ==146183== Process terminating with default action of signal 4 (SIGILL) ==146183== Illegal opcode at address 0x492B75F ==146183== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146183== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146183== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146183== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146183== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146183== by 0x49908EB: curl_version_info (version.c:600) ==146183== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146183== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146183== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146183== by 0x4003269: main (tool_main.c:195) === End of file valgrind1220 test 1219 [FTP with no user+password required (230 response)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1219 ../src/curl -q --output log/16/curl1219.out --include --trace-ascii log/16/trace1219 --trace-time ftp://127.0.0.1:40031/1219 > log/16/stdout1219 2> log/16/stderr1219 1219: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1219 ../src/curl -q --output log/16/curl1219.out --include --trace-ascii log/16/trace1219 --trace-time ftp://127.0.0.1:40031/1219 > log/16/stdout1219 2> log/16/stderr1219 === End of file commands.log === Start of file ftp_server.log 19:28:14.568320 ====> Client connect 19:28:14.568551 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:14.568876 < "USER anonymous" 19:28:14.568913 > "331 We are happy you popped in![CR][LF]" 19:28:14.569087 < "PASS ftp@example.com" 19:28:14.569114 > "230 Welcome you silly person[CR][LF]" 19:28:14.571083 < "PWD" 19:28:14.571120 > "257 "/" is current directory[CR][LF]" 19:28:14.571302 < "EPSV" 19:28:14.571329 ====> Passive DATA channel requested by client 19:28:14.571345 DATA sockfilt for passive data channel starting... 19:28:14.574203 DATA sockfilt for passive data channel started (pid 146221) 19:28:14.574319 DATA sockfilt for passive data channel listens on port 33881 19:28:14.574364 > "229 Entering Passive Mode (|||33881|)[CR][LF]" 19:28:14.574383 Client has been notified that upcoming DATA connection is awaited on port 33881 19:28:14.574652 Client connects to port 33881 19:28:14.574685 ====> Client established passive DATA connection on port 33881 19:28:14.574765 < "TYPE I" 19:28:14.574793 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:14.574957 < "SIZE verifiedserver" 19:28:14.575000 > "213 17[CR][LF]" 19:28:14.575161 < "RETR verifiedserver" 19:28:14.575197 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:14.575716 =====> Closing passive DATA connection... 19:28:14.575741 Server disconnects passive DATA connection 19:28:14.576912 Server disconnected passive DATA connection 19:28:14.576946 DATA sockfilt for passive data channel quits (pid 146221) 19:28:14.577425 DATA sockfilt for passive data channel quit (pid 146221) 19:28:14.577453 =====> Closed passive DATA connection 19:28:14.577486 > "226 File transfer complete[CR][LF]" 19:28:14.619086 < "QUIT" 19:28:14.619237 > "221 bye bye baby[CR][LF]" 19:28:14.619327 MAIN sockfilt said DISC 19:28:14.619351 ====> Client disconnected 19:28:14.619439 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:14.170565 ====> Client connect 19:28:14.172102 Received DATA (on stdin) 19:28:14.172119 > 146 bytes data, server => client 19:28:14.172130 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:14.172140 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:14.172149 '220 \___|\___/|_| \_\_____|\r\n' 19:28:14.172251 < 16 bytes data, client => server 19:28:14.172265 'USER anonymous\r\n' 19:28:14.172450 Received DATA (on stdin) 19:28:14.172462 > 33 bytes data, server => client 19:28:14.172472 '331 We are happy you popped in!\r\n' 19:28:14.172531 < 22 bytes data, client => server 19:28:14.172542 'PASS ftp@example.com\r\n' 19:28:14.172648 Received DATA (on stdin) 19:28:14.172659 > 30 bytes data, server => client 19:28:14.172669 '230 Welcome you silly person\r\n' 19:28:14.174517 < 5 bytes data, client => server 19:28:14.174534 'PWD\r\n' 19:28:14.174656 Received DATA (on stdin) 19:28:14.174668 > 30 bytes data, server => client 19:28:14.174678 '257 "/" is current directory\r\n' 19:28:14.174746 < 6 bytes data, client => server 19:28:14.174758 'EPSV\r\n' 19:28:14.177925 Received DATA (on stdin) 19:28:14.177938 > 39 bytes data, server => client 19:28:14.177948 '229 Entering Passive Mode (|||33881|)\r\n' 19:28:14.178100 < 8 bytes data, client => server 19:28:14.178116 'TYPE I\r\n' 19:28:14.178327 Received DATA (on stdin) 19:28:14.178338 > 33 bytes data, server => client 19:28:14.178348 '200 I modify TYPE as you wanted\r\n' 19:28:14.178402 < 21 bytes data, client => server 19:28:14.178413 'SIZE verifiedserver\r\n' 19:28:14.178534 Received DATA (on stdin) 19:28:14.178545 > 8 bytes data, server => client 19:28:14.178555 '213 17\r\n' 19:28:14.178608 < 21 bytes data, client => server 19:28:14.178619 'RETR verifiedserver\r\n' 19:28:14.179019 Received DATA (on stdin) 19:28:14.179035 > 29 bytes data, server => client 19:28:14.179088 '150 Binary junk (17 bytes).\r\n' 19:28:14.181027 Received DATA (on stdin) 19:28:14.181040 > 28 bytes data, server => client 19:28:14.181051 '226 File transfer complete\r\n' 19:28:14.222368 < 6 bytes data, client => server 19:28:14.222408 'QUIT\r\n' 19:28:14.222671 Received DATA (on stdin) 19:28:14.222690 > 18 bytes data, server => client 19:28:14.222709 '221 bye bye baby\r\n' 19:28:14.222811 ====> Client disconnect 19:28:14.222981 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:14.176474 Running IPv4 version 19:28:14.176561 Listening on port 33881 19:28:14.176601 Wrote pid 146221 to log/16/server/ftp_sockdata.pid 19:28:14.177673 Received PING (on stdin) 19:28:14.177765 Received PORT (on stdin) 19:28:14.178138 ====> Client connect 19:28:14.179142 Received DATA (on stdin) 19:28:14.179164 > 17 bytes data, server => client 19:28:14.179174 'WE ROOLZ:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1221 ../src/curl -q --output log/6/curl1221.out --include --trace-ascii log/6/trace1221 --trace-time http://127.0.0.1:33935/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/6/1221.txt" --url-query @log/6/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/6/stdout1221 2> log/6/stderr1221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1223 ../src/curl -q --include --trace-ascii log/7/trace1223 --trace-time http://127.0.0.1:40859/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/7/stdout1223 2> log/7/stderr1223 84702\r\n' 19:28:14.179279 Received DISC (on stdin) 19:28:14.179291 ====> Client forcibly disconnected 19:28:14.180628 Received QUIT (on stdin) 19:28:14.180655 quits 19:28:14.180738 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome 230 welcome without password Testnum 1219 === End of file server.cmd === Start of file valgrind1219 ==146260== ==146260== Process terminating with default action of signal 4 (SIGILL) ==146260== Illegal opcode at address 0x492B75F ==146260== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146260== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146260== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146260== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146260== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146260== by 0x49908EB: curl_version_info (version.c:600) ==146260== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146260== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146260== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146260== by 0x4003269: main (tool_main.c:195) === End of file valgrind1219 test 1221 [--url-query with --data-urlencode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1221 ../src/curl -q --output log/6/curl1221.out --include --trace-ascii log/6/trace1221 --trace-time http://127.0.0.1:33935/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/6/1221.txt" --url-query @log/6/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/6/stdout1221 2> log/6/stderr1221 1221: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1221 === Start of file 1221.txt content to _?!#$'|<> === End of file 1221.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1221 ../src/curl -q --output log/6/curl1221.out --include --trace-ascii log/6/trace1221 --trace-time http://127.0.0.1:33935/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/6/1221.txt" --url-query @log/6/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/6/stdout1221 2> log/6/stderr1221 === End of file commands.log === Start of file http_server.log 19:28:14.288727 ====> Client connect 19:28:14.288767 accept_connection 3 returned 4 19:28:14.288976 Read 93 bytes 19:28:14.288996 Process 93 bytes request 19:28:14.289011 Got request: GET /verifiedserver HTTP/1.1 19:28:14.289020 Are-we-friendly question received 19:28:14.289056 Wrote request (93 bytes) input to log/6/server.input 19:28:14.289077 Identifying ourselves as friends 19:28:14.289150 Response sent (56 bytes) and written to log/6/server.response 19:28:14.289163 special request received, no persistency 19:28:14.289171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 47634 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1221 ==146319== ==146319== Process terminating with default action of signal 4 (SIGILL) ==146319== Illegal opcode at address 0x492B75F ==146319== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146319== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146319== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146319== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146319== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146319== by 0x49908EB: curl_version_info (version.c:600) ==146319== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146319== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146319== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146319== by 0x4003269: main (tool_main.c:195) === End of file valgrind1221 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1225 ../src/curl -q --output log/1/curl1225.out --include --trace-ascii log/1/trace1225 --trace-time ftp://127.0.0.1:40221//foo/1225 ftp://127.0.0.1:40221//foo/bar/1225 > log/1/stdout1225 2> log/1/stderr1225 test 1223 [HTTP GET -w remote_ip and -w remote_port] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1223 ../src/curl -q --include --trace-ascii log/7/trace1223 --trace-time http://127.0.0.1:40859/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/7/stdout1223 2> log/7/stderr1223 1223: stdout FAILED: --- log/7/check-expected 2026-10-15 19:28:17.356720100 +0000 +++ log/7/check-generated 2026-10-15 19:28:17.354807450 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 4[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -hej[LF] -IP 127.0.0.1 and PORT 40859[LF] == Contents of files in the log/7/ directory after test 1223 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 4[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] hej[LF] IP 127.0.0.1 and PORT 40859[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1223 ../src/curl -q --include --trace-ascii log/7/trace1223 --trace-time http://127.0.0.1:40859/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/7/stdout1223 2> log/7/stderr1223 === End of file commands.log === Start of file http_server.log 19:28:14.508899 ====> Client connect 19:28:14.508936 accept_connection 3 returned 4 19:28:14.508957 Read 93 bytes 19:28:14.508967 Process 93 bytes request 19:28:14.508979 Got request: GET /verifiedserver HTTP/1.1 19:28:14.508988 Are-we-friendly question received 19:28:14.509013 Wrote request (93 bytes) input to log/7/server.input 19:28:14.509028 Identifying ourselves as friends 19:28:14.509095 Response sent (56 bytes) and written to log/7/server.response 19:28:14.509104 special request received, no persistency 19:28:14.509111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 37964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1223 ==146391== ==146391== Process terminating with default action of signal 4 (SIGILL) ==146391== Illegal opcode at address 0x492B75F ==146391== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146391== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146391== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146391== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146391== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146391== by 0x49908EB: curl_version_info (version.c:600) ==146391== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146391== by 0x4003269: main (tool_main.c:195) === End of file valgrind1223 test 1225 [FTP fetch two files using absolute paths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1225 ../src/curl -q --output log/1/curl1225.out --include --trace-ascii log/1/trace1225 --trace-time ftp://127.0.0.1:40221//foo/1225 ftp://127.0.0.1:40221//foo/bar/1225 > log/1/stdout1225 2> log/1/stderr1225 1225: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1225 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1225 ../src/curl -q --output log/1/curl1225.out --include --trace-ascii log/1/trace1225 --trace-time ftp://127.0.0.1:40221//foo/1225 ftp://127.0.0.1:40221//foo/bar/1225 > log/1/stdout1225 2> log/1/stderr1225 === End of file commands.log === Start of file ftp_server.log 19:28:15.378821 ====> Client connect 19:28:15.379044 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:15.379402 < "USER anonymous" 19:28:15.379444 > "331 We are happy you popped in![CR][LF]" 19:28:15.379652 < "PASS ftp@example.com" 19:28:15.379685 > "230 Welcome you silly person[CR][LF]" 19:28:15.379841 < "PWD" 19:28:15.379871 > "257 "/" is current directory[CR][LF]" 19:28:15.380028 < "EPSV" 19:28:15.380051 ====> Passive DATA channel requested by client 19:28:15.380064 DATA sockfilt for passive data channel starting... 19:28:15.390032 DATA sockfilt for passive data channel started (pid 146559) 19:28:15.390176 DATA sockfilt for passive data channel listens on port 36809 19:28:15.390225 > "229 Entering Passive Mode (|||36809|)[CR][LF]" 19:28:15.390243 Client has been notified that upcoming DATA connection is awaited on port 36809 19:28:15.390534 Client connects to port 36809 19:28:15.390571 ====> Client established passive DATA connection on port 36809 19:28:15.390715 < "TYPE I" 19:28:15.390754 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:15.390926 < "SIZE verifiedserver" 19:28:15.390968 > "213 17[CR][LF]" 19:28:15.391119 < "RETR verifiedserver" 19:28:15.391149 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:15.391245 =====> Closing passive DATA connection... 19:28:15.391262 Server disconnects passive DATA connection 19:28:15.391489 Server disconnected passive DATA connection 19:28:15.391515 DATA sockfilt for passive data channel quits (pid 146559) 19:28:15.391782 DATA sockfilt for passive data channel quit (pid 146559) 19:28:15.391806 =====> Closed passive DATA connection 19:28:15.391836 > "226 File transfer complete[CR][LF]" 19:28:15.435661 < "QUIT" 19:28:15.435730 > "221 bye bye baby[CR][LF]" 19:28:15.436999 MAIN sockfilt said DISC 19:28:15.437034 ====> Client disconnected 19:28:15.437125 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:15.982160 ====> Client connect 19:28:15.982551 Received DATA (on stdin) 19:28:15.982567 > 146 bytes data, server => client 19:28:15.982578 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:15.982589 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:15.982598 '220 \___|\___/|_| \_\_____|\r\n' 19:28:15.982721 < 16 bytes data, client => server 19:28:15.982733 'USER anonymous\r\n' 19:28:15.982939 Received DATA (on stdin) 19:28:15.982952 > 33 bytes data, server => client 19:28:15.982962 '331 We are happy you popped in!\r\n' 19:28:15.983030 < 22 bytes data, client => server 19:28:15.983041 'PASS ftp@example.com\r\n' 19:28:15.983173 Received DATA (on stdin) 19:28:15.983184 > 30 bytes data, server => client 19:28:15.983193 '230 Welcome you silly person\r\n' 19:28:15.983246 < 5 bytes data, client => server 19:28:15.983255 'PWD\r\n' 19:28:15.983358 Received DATA (on stdin) 19:28:15.983368 > 30 bytes data, server => client 19:28:15.983378 '257 "/" is current directory\r\n' 19:28:15.983439 < 6 bytes data, client => server 19:28:15.983448 'EPSV\r\n' 19:28:15.993740 Received DATA (on stdin) 19:28:15.993757 > 39 bytes data, server => client 19:28:15.993768 '229 Entering Passive Mode (|||36809|)\r\n' 19:28:15.9940CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1228 ../src/curl -q --output log/21/curl1228.out --include --trace-ascii log/21/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:39881 > log/21/stdout1228 2> log/21/stderr1228 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1224 ../src/curl -q --output log/4/curl1224.out --include --trace-ascii log/4/trace1224 --trace-time ftp://127.0.0.1:39739//1224 > log/4/stdout1224 2> log/4/stderr1224 82 < 8 bytes data, client => server 19:28:15.994095 'TYPE I\r\n' 19:28:15.994244 Received DATA (on stdin) 19:28:15.994254 > 33 bytes data, server => client 19:28:15.994265 '200 I modify TYPE as you wanted\r\n' 19:28:15.994326 < 21 bytes data, client => server 19:28:15.994337 'SIZE verifiedserver\r\n' 19:28:15.994455 Received DATA (on stdin) 19:28:15.994465 > 8 bytes data, server => client 19:28:15.994474 '213 17\r\n' 19:28:15.994524 < 21 bytes data, client => server 19:28:15.994534 'RETR verifiedserver\r\n' 19:28:15.994751 Received DATA (on stdin) 19:28:15.994762 > 29 bytes data, server => client 19:28:15.994772 '150 Binary junk (17 bytes).\r\n' 19:28:15.995325 Received DATA (on stdin) 19:28:15.995337 > 28 bytes data, server => client 19:28:15.995348 '226 File transfer complete\r\n' 19:28:16.038922 < 6 bytes data, client => server 19:28:16.038951 'QUIT\r\n' 19:28:16.039227 Received DATA (on stdin) 19:28:16.039241 > 18 bytes data, server => client 19:28:16.039252 '221 bye bye baby\r\n' 19:28:16.040430 ====> Client disconnect 19:28:16.040621 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:15.993114 Running IPv4 version 19:28:15.993213 Listening on port 36809 19:28:15.993258 Wrote pid 146559 to log/1/server/ftp_sockdata.pid 19:28:15.993458 Received PING (on stdin) 19:28:15.993559 Received PORT (on stdin) 19:28:15.993967 ====> Client connect 19:28:15.994798 Received DATA (on stdin) 19:28:15.994810 > 17 bytes data, server => client 19:28:15.994820 'WE ROOLZ: 84935\r\n' 19:28:15.994844 Received DISC (on stdin) 19:28:15.994855 ====> Client forcibly disconnected 19:28:15.995010 Received QUIT (on stdin) 19:28:15.995021 quits 19:28:15.995089 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==146601== ==146601== Process terminating with default action of signal 4 (SIGILL) ==146601== Illegal opcode at address 0x492B75F ==146601== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146601== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146601== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146601== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146601== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146601== by 0x49908EB: curl_version_info (version.c:600) ==146601== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146601== by 0x4003269: main (tool_main.c:195) === End of file valgrind1225 test 1228 [HTTP cookie path match] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1228 ../src/curl -q --output log/21/curl1228.out --include --trace-ascii log/21/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:39881 > log/21/stdout1228 2> log/21/stderr1228 1228: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1228 ../src/curl -q --output log/21/curl1228.out --include --trace-ascii log/21/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:39881 > log/21/stdout1228 2> log/21/stderr1228 === End of file commands.log === Start of file http_server.log 19:28:15.004188 ====> Client connect 19:28:15.004227 accept_connection 3 returned 4 19:28:15.004251 Read 93 bytes 19:28:15.004262 Process 93 bytes request 19:28:15.004275 Got request: GET /verifiedserver HTTP/1.1 19:28:15.004284 Are-we-friendly question received 19:28:15.004319 Wrote request (93 bytes) input to log/21/server.input 19:28:15.004340 Identifying ourselves as friends 19:28:15.004412 Response sent (56 bytes) and written to log/21/server.response 19:28:15.004425 special request received, no persistency 19:28:15.004435 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1228 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1228 ==146576== ==146576== Process terminating with default action of signal 4 (SIGILL) ==146576== Illegal opcode at address 0x492B75F ==146576== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146576== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146576== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146576== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146576== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146576== by 0x49908EB: curl_version_info (version.c:600) ==146576== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146576== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146576== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146576== by 0x4003269: main (tool_main.c:195) === End of file valgrind1228 test 1224 [FTP fetch a file from the root directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1224 ../src/curl -q --output log/4/curl1224.out --include --trace-ascii log/4/trace1224 --trace-time ftp://127.0.0.1:39739//1224 > log/4/stdout1224 2> log/4/stderr1224 1224: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1224 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1224 ../src/curl -q --output log/4/curl1224.out --include --trace-ascii log/4/trace1224 --trace-time ftp://127.0.0.1:39739//1224 > log/4/stdout1224 2> log/4/stderr1224 === End of file commands.log === Start of file ftp_server.log 19:28:15.165487 ====> Client connect 19:28:15.165752 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:15.166150 < "USER anonymous" 19:28:15.166202 > "331 We are happy you popped in![CR][LF]" 19:28:15.166426 < "PASS ftp@example.com" 19:28:15.166464 > "230 Welcome you silly person[CR][LF]" 19:28:15.166661 < "PWD" 19:28:15.166703 > "257 "/" is current directory[CR][LF]" 19:28:15.166914 < "EPSV" 19:28:15.166947 ====> Passive DATA channel requested by client 19:28:15.166965 DATA sockfilt for passive data channel starting... 19:28:15.173525 DATA sockfilt for passive data channel started (pid 146475) 19:28:15.173669 DATA sockfilt for passive data channel listens on port 39181 19:28:15.173720 > "229 Entering Passive Mode (|||39181|)[CR][LF]" 19:28:15.173740 Client has been notified that upcoming DATA connection is awaited on port 39181 19:28:15.174055 Client connects to port 39181 19:28:15.174094 ====> Client established passive DATA connection on port 39181CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:46137//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 19:28:15.174246 < "TYPE I" 19:28:15.174286 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:15.174486 < "SIZE verifiedserver" 19:28:15.174531 > "213 17[CR][LF]" 19:28:15.175457 < "RETR verifiedserver" 19:28:15.175499 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:15.175589 =====> Closing passive DATA connection... 19:28:15.175604 Server disconnects passive DATA connection 19:28:15.175711 Server disconnected passive DATA connection 19:28:15.175731 DATA sockfilt for passive data channel quits (pid 146475) 19:28:15.175985 DATA sockfilt for passive data channel quit (pid 146475) 19:28:15.176006 =====> Closed passive DATA connection 19:28:15.176030 > "226 File transfer complete[CR][LF]" 19:28:15.232214 < "QUIT" 19:28:15.232270 > "221 bye bye baby[CR][LF]" 19:28:15.248694 MAIN sockfilt said DISC 19:28:15.248776 ====> Client disconnected 19:28:15.248866 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:14.768829 ====> Client connect 19:28:14.769287 Received DATA (on stdin) 19:28:14.769307 > 146 bytes data, server => client 19:28:14.769319 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:14.769329 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:14.769339 '220 \___|\___/|_| \_\_____|\r\n' 19:28:14.769474 < 16 bytes data, client => server 19:28:14.769493 'USER anonymous\r\n' 19:28:14.769712 Received DATA (on stdin) 19:28:14.769727 > 33 bytes data, server => client 19:28:14.769738 '331 We are happy you popped in!\r\n' 19:28:14.769809 < 22 bytes data, client => server 19:28:14.769825 'PASS ftp@example.com\r\n' 19:28:14.769970 Received DATA (on stdin) 19:28:14.769983 > 30 bytes data, server => client 19:28:14.769993 '230 Welcome you silly person\r\n' 19:28:14.770056 < 5 bytes data, client => server 19:28:14.770070 'PWD\r\n' 19:28:14.770210 Received DATA (on stdin) 19:28:14.770223 > 30 bytes data, server => client 19:28:14.770234 '257 "/" is current directory\r\n' 19:28:14.770310 < 6 bytes data, client => server 19:28:14.770326 'EPSV\r\n' 19:28:14.777254 Received DATA (on stdin) 19:28:14.777271 > 39 bytes data, server => client 19:28:14.777282 '229 Entering Passive Mode (|||39181|)\r\n' 19:28:14.777619 < 8 bytes data, client => server 19:28:14.777634 'TYPE I\r\n' 19:28:14.777789 Received DATA (on stdin) 19:28:14.777801 > 33 bytes data, server => client 19:28:14.777811 '200 I modify TYPE as you wanted\r\n' 19:28:14.777879 < 21 bytes data, client => server 19:28:14.777892 'SIZE verifiedserver\r\n' 19:28:14.778032 Received DATA (on stdin) 19:28:14.778043 > 8 bytes data, server => client 19:28:14.778051 '213 17\r\n' 19:28:14.778851 < 21 bytes data, client => server 19:28:14.778867 'RETR verifiedserver\r\n' 19:28:14.779530 Received DATA (on stdin) 19:28:14.779544 > 29 bytes data, server => client 19:28:14.779553 '150 Binary junk (17 bytes).\r\n' 19:28:14.779575 Received DATA (on stdin) 19:28:14.779584 > 28 bytes data, server => client 19:28:14.779593 '226 File transfer complete\r\n' 19:28:14.835511 < 6 bytes data, client => server 19:28:14.835551 'QUIT\r\n' 19:28:14.835770 Received DATA (on stdin) 19:28:14.835786 > 18 bytes data, server => client 19:28:14.835795 '221 bye bye baby\r\n' 19:28:14.848827 ====> Client disconnect 19:28:14.852371 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:15.776446 Running IPv4 version 19:28:15.776551 Listening on port 39181 19:28:15.776777 Wrote pid 146475 to log/4/server/ftp_sockdata.pid 19:28:15.776959 Received PING (on stdin) 19:28:15.777067 Received PORT (on stdin) 19:28:15.777497 ====> Client connect 19:28:15.779105 Received DATA (on stdin) 19:28:15.779117 > 17 bytes data, server => client 19:28:15.779126 'WE ROOLZ: 85249\r\n' 19:28:15.779153 Received DISC (on stdin) 19:28:15.779163 ====> Client forcibly disconnected 19:28:15.779233 Received QUIT (on stdin) 19:28:15.779242 quits 19:28:15.779311 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==146477== ==146477== Process terminating with default action of signal 4 (SIGILL) ==146477== Illegal opcode at address 0x492B75F ==146477== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146477== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146477== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146477== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146477== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146477== by 0x49908EB: curl_version_info (version.c:600) ==146477== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146477== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146477== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146477== by 0x4003269: main (tool_main.c:195) === End of file valgrind1224 test 1226 [FTP fetch a file from the root directory with singlecwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:46137//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 1226: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1226 ../src/curl -q --output log/17/curl1226.out --include --trace-ascii log/17/trace1226 --trace-time ftp://127.0.0.1:46137//1226 --ftp-method singlecwd > log/17/stdout1226 2> log/17/stderr1226 === End of file commands.log === Start of file ftp_server.log 19:28:15.397570 ====> Client connect 19:28:15.397777 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:15.398991 < "USER anonymous" 19:28:15.399041 > "331 We are happy you popped in![CR][LF]" 19:28:15.399257 < "PASS ftp@example.com" 19:28:15.399289 > "230 Welcome you silly person[CR][LF]" 19:28:15.399455 < "PWD" 19:28:15.399489 > "257 "/" is current directory[CR][LF]" 19:28:15.399653 < "EPSV" 19:28:15.399680 ====> Passive DATA channel requested by client 19:28:15.399693 DATA sockfilt for passive data channel starting... 19:28:15.406294 DATA sockfilt for passive data channel started (pid 146566) 19:28:15.406448 DATA sockfilt for passive data channel listens on port 45101 19:28:15.406497 > "229 Entering Passive Mode (|||45101|)[CR][LF]" 19:28:15.406517 Client has been notified that upcoming DATA connection is awaited on port 45101 19:28:15.406809 Client connects to port 45101 19:28:15.406838 ====> Client established passive DATA connection on port 45101 19:28:15.406926 < "TYPE I" 19:28:15.406957 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:15.407137 < "SIZE verifiedserver" 19:28:15.407174 > "213 17[CR][LF]" 19:28:15.407317 < "RETR verifiedserver" 19:28:15.407347 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:15.407429 =====> Closing passive DATA connection... 19:28:15.407445 Server disconnects passive DATA connection 19:28:15.407717 Server disconnected passive DATA connection 19:28:15.407746 DATA sockfilt for passive data channel quits (pid 146566) 19:28:15.408028 DATA sockfilt for passive data channel quit (pid 146566) 19:28:15.408052 =====> Closed passive DATA connection 19:28:15.408076 > "226 File transfer complete[CR][LF]" 19:28:15.448972 < "QUIT" 19:28:15.449022 > "221 bye bye baby[CR][LF]" 19:28:15.450171 MAIN sockfilt said DISC 19:28:15.450205 ====> Client disconnected 19:28:15.450300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:14.998820 ====> Client connect 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1227 ../src/curl -q --output log/15/curl1227.out --include --trace-ascii log/15/trace1227 --trace-time ftp://127.0.0.1:44883//1227 --ftp-method nocwd > log/15/stdout1227 2> log/15/stderr1227 :28:15.002147 Received DATA (on stdin) 19:28:15.002179 > 146 bytes data, server => client 19:28:15.002194 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:15.002204 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:15.002214 '220 \___|\___/|_| \_\_____|\r\n' 19:28:15.002338 < 16 bytes data, client => server 19:28:15.002354 'USER anonymous\r\n' 19:28:15.002537 Received DATA (on stdin) 19:28:15.002555 > 33 bytes data, server => client 19:28:15.002565 '331 We are happy you popped in!\r\n' 19:28:15.002640 < 22 bytes data, client => server 19:28:15.002651 'PASS ftp@example.com\r\n' 19:28:15.002775 Received DATA (on stdin) 19:28:15.002786 > 30 bytes data, server => client 19:28:15.002797 '230 Welcome you silly person\r\n' 19:28:15.002852 < 5 bytes data, client => server 19:28:15.002864 'PWD\r\n' 19:28:15.002974 Received DATA (on stdin) 19:28:15.002985 > 30 bytes data, server => client 19:28:15.002995 '257 "/" is current directory\r\n' 19:28:15.003057 < 6 bytes data, client => server 19:28:15.003067 'EPSV\r\n' 19:28:15.010014 Received DATA (on stdin) 19:28:15.010032 > 39 bytes data, server => client 19:28:15.010042 '229 Entering Passive Mode (|||45101|)\r\n' 19:28:15.010212 < 8 bytes data, client => server 19:28:15.010227 'TYPE I\r\n' 19:28:15.010450 Received DATA (on stdin) 19:28:15.010462 > 33 bytes data, server => client 19:28:15.010473 '200 I modify TYPE as you wanted\r\n' 19:28:15.010525 < 21 bytes data, client => server 19:28:15.010535 'SIZE verifiedserver\r\n' 19:28:15.010658 Received DATA (on stdin) 19:28:15.010668 > 8 bytes data, server => client 19:28:15.010678 '213 17\r\n' 19:28:15.010725 < 21 bytes data, client => server 19:28:15.010735 'RETR verifiedserver\r\n' 19:28:15.010932 Received DATA (on stdin) 19:28:15.010944 > 29 bytes data, server => client 19:28:15.010954 '150 Binary junk (17 bytes).\r\n' 19:28:15.011563 Received DATA (on stdin) 19:28:15.011576 > 28 bytes data, server => client 19:28:15.011586 '226 File transfer complete\r\n' 19:28:15.052286 < 6 bytes data, client => server 19:28:15.052316 'QUIT\r\n' 19:28:15.052508 Received DATA (on stdin) 19:28:15.052518 > 18 bytes data, server => client 19:28:15.052528 '221 bye bye baby\r\n' 19:28:15.053601 ====> Client disconnect 19:28:15.053782 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:15.004865 Running IPv4 version 19:28:15.004932 Listening on port 45101 19:28:15.004977 Wrote pid 146566 to log/17/server/ftp_sockdata.pid 19:28:15.009703 Received PING (on stdin) 19:28:15.009816 Received PORT (on stdin) 19:28:15.010248 ====> Client connect 19:28:15.011011 Received DATA (on stdin) 19:28:15.011025 > 17 bytes data, server => client 19:28:15.011035 'WE ROOLZ: 84749\r\n' 19:28:15.011090 Received DISC (on stdin) 19:28:15.011102 ====> Client forcibly disconnected 19:28:15.011241 Received QUIT (on stdin) 19:28:15.011252 quits 19:28:15.011335 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==146632== ==146632== Process terminating with default action of signal 4 (SIGILL) ==146632== Illegal opcode at address 0x492B75F ==146632== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146632== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146632== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146632== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146632== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146632== by 0x49908EB: curl_version_info (version.c:600) ==146632== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146632== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146632== by 0x4003269: main (tool_main.c:195) === End of file valgrind1226 test 1227 [FTP fetch a file from the root directory with nocwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1227 ../src/curl -q --output log/15/curl1227.out --include --trace-ascii log/15/trace1227 --trace-time ftp://127.0.0.1:44883//1227 --ftp-method nocwd > log/15/stdout1227 2> log/15/stderr1227 1227: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1227 ../src/curl -q --output log/15/curl1227.out --include --trace-ascii log/15/trace1227 --trace-time ftp://127.0.0.1:44883//1227 --ftp-method nocwd > log/15/stdout1227 2> log/15/stderr1227 === End of file commands.log === Start of file ftp_server.log 19:28:15.395698 ====> Client connect 19:28:15.395900 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:15.396186 < "USER anonymous" 19:28:15.396226 > "331 We are happy you popped in![CR][LF]" 19:28:15.396407 < "PASS ftp@example.com" 19:28:15.396443 > "230 Welcome you silly person[CR][LF]" 19:28:15.396621 < "PWD" 19:28:15.396658 > "257 "/" is current directory[CR][LF]" 19:28:15.396844 < "EPSV" 19:28:15.396869 ====> Passive DATA channel requested by client 19:28:15.396885 DATA sockfilt for passive data channel starting... 19:28:15.405413 DATA sockfilt for passive data channel started (pid 146565) 19:28:15.405624 DATA sockfilt for passive data channel listens on port 46801 19:28:15.405676 > "229 Entering Passive Mode (|||46801|)[CR][LF]" 19:28:15.405695 Client has been notified that upcoming DATA connection is awaited on port 46801 19:28:15.406020 Client connects to port 46801 19:28:15.406055 ====> Client established passive DATA connection on port 46801 19:28:15.406150 < "TYPE I" 19:28:15.406187 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:15.406364 < "SIZE verifiedserver" 19:28:15.406405 > "213 17[CR][LF]" 19:28:15.406563 < "RETR verifiedserver" 19:28:15.406596 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:15.406697 =====> Closing passive DATA connection... 19:28:15.406717 Server disconnects passive DATA connection 19:28:15.406875 Server disconnected passive DATA connection 19:28:15.406897 DATA sockfilt for passive data channel quits (pid 146565) 19:28:15.407174 DATA sockfilt for passive data channel quit (pid 146565) 19:28:15.407199 =====> Closed passive DATA connection 19:28:15.407226 > "226 File transfer complete[CR][LF]" 19:28:15.448972 < "QUIT" 19:28:15.449026 > "221 bye bye baby[CR][LF]" 19:28:15.450183 MAIN sockfilt said DISC 19:28:15.450226 ====> Client disconnected 19:28:15.450300 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:14.999073 ====> Client connect 19:28:14.999403 Received DATA (on stdin) 19:28:14.999418 > 146 bytes data, server => client 19:28:14.999429 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:14.999439 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:14.999447 '220 \___|\___/|_| \_\_____|\r\n' 19:28:14.999527 < 16 bytes data, client => server 19:28:14.999539 'USER anonymous\r\n' 19:28:14.999716 Received DATA (on stdin) 19:28:14.999727 > 33 bytes data, server => client 19:28:14.999737 '331 We are happy you popped in!\r\n' 19:28:14.999793 < 22 bytes data, client => server 19:28:14.999804 'PASS ftp@example.com\r\n' 19:28:14.999934 Received DATA (on stdin) 19:28:14.999945 > 30 bytes data, server => client 19:28:14.999956 '230 Welcome you silly person\r\n' 19:28:15.000014 < 5 bytes data, client => server 19:28:15.000026 'PWD\r\n' 19:28:15.000147 Received DATA (on stdin) 19:28:15.000159 > 30 bytes data, server => client 19:28:15.000170 '257 "/" is current directory\r\n' 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1229 ../src/curl -q --output log/2/curl1229.out --include --trace-ascii log/2/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34531/1229 --digest > log/2/stdout1229 2> log/2/stderr1229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1232 ../src/curl -q --output log/24/curl1232.out --include --trace-ascii log/24/trace1232 --trace-time --proxy http://127.0.0.1:38895 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/24/stdout1232 2> log/24/stderr1232 8:15.000237 < 6 bytes data, client => server 19:28:15.000250 'EPSV\r\n' 19:28:15.009191 Received DATA (on stdin) 19:28:15.009208 > 39 bytes data, server => client 19:28:15.009218 '229 Entering Passive Mode (|||46801|)\r\n' 19:28:15.009415 < 8 bytes data, client => server 19:28:15.009432 'TYPE I\r\n' 19:28:15.009673 Received DATA (on stdin) 19:28:15.009685 > 33 bytes data, server => client 19:28:15.009695 '200 I modify TYPE as you wanted\r\n' 19:28:15.009755 < 21 bytes data, client => server 19:28:15.009766 'SIZE verifiedserver\r\n' 19:28:15.009892 Received DATA (on stdin) 19:28:15.009903 > 8 bytes data, server => client 19:28:15.009913 '213 17\r\n' 19:28:15.009966 < 21 bytes data, client => server 19:28:15.009977 'RETR verifiedserver\r\n' 19:28:15.010204 Received DATA (on stdin) 19:28:15.010215 > 29 bytes data, server => client 19:28:15.010226 '150 Binary junk (17 bytes).\r\n' 19:28:15.010714 Received DATA (on stdin) 19:28:15.010726 > 28 bytes data, server => client 19:28:15.010736 '226 File transfer complete\r\n' 19:28:15.052285 < 6 bytes data, client => server 19:28:15.052316 'QUIT\r\n' 19:28:15.052514 Received DATA (on stdin) 19:28:15.052527 > 18 bytes data, server => client 19:28:15.052537 '221 bye bye baby\r\n' 19:28:15.053609 ====> Client disconnect 19:28:15.053783 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:15.003410 Running IPv4 version 19:28:15.003483 Listening on port 46801 19:28:15.003521 Wrote pid 146565 to log/15/server/ftp_sockdata.pid 19:28:15.008813 Received PING (on stdin) 19:28:15.008948 Received PORT (on stdin) 19:28:15.009455 ====> Client connect 19:28:15.010253 Received DATA (on stdin) 19:28:15.010266 > 17 bytes data, server => client 19:28:15.010276 'WE ROOLZ: 84744\r\n' 19:28:15.010301 Received DISC (on stdin) 19:28:15.010312 ====> Client forcibly disconnected 19:28:15.010389 Received QUIT (on stdin) 19:28:15.010399 quits 19:28:15.010473 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==146610== ==146610== Process terminating with default action of signal 4 (SIGILL) ==146610== Illegal opcode at address 0x492B75F ==146610== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146610== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146610== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146610== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146610== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146610== by 0x49908EB: curl_version_info (version.c:600) ==146610== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146610== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146610== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146610== by 0x4003269: main (tool_main.c:195) === End of file valgrind1227 test 1229 [HTTP with Digest authorization with username needing escape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1229 ../src/curl -q --output log/2/curl1229.out --include --trace-ascii log/2/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34531/1229 --digest > log/2/stdout1229 2> log/2/stderr1229 1229: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1229 ../src/curl -q --output log/2/curl1229.out --include --trace-ascii log/2/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:34531/1229 --digest > log/2/stdout1229 2> log/2/stderr1229 === End of file commands.log === Start of file http_server.log 19:28:16.136717 ====> Client connect 19:28:16.136755 accept_connection 3 returned 4 19:28:16.137304 Read 93 bytes 19:28:16.137321 Process 93 bytes request 19:28:16.137334 Got request: GET /verifiedserver HTTP/1.1 19:28:16.137342 Are-we-friendly question received 19:28:16.137379 Wrote request (93 bytes) input to log/2/server.input 19:28:16.137395 Identifying ourselves as friends 19:28:16.137453 Response sent (56 bytes) and written to log/2/server.response 19:28:16.137461 special request received, no persistency 19:28:16.137469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 34144 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1229 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1229 ==146743== ==146743== Process terminating with default action of signal 4 (SIGILL) ==146743== Illegal opcode at address 0x492B75F ==146743== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146743== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146743== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146743== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146743== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146743== by 0x49908EB: curl_version_info (version.c:600) ==146743== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146743== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146743== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146743== by 0x4003269: main (tool_main.c:195) === End of file valgrind1229 test 1232 [HTTP URL with dotdot removal from path using an HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1232 ../src/curl -q --output log/24/curl1232.out --include --trace-ascii log/24/trace1232 --trace-time --proxy http://127.0.0.1:38895 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/24/stdout1232 2> log/24/stderr1232 1232: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1232 ../src/curl -q --output log/24/curl1232.out --include --trace-ascii log/24/trace1232 --trace-time --proxy http://127.0.0.1:38895 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001 > log/24/stdout1232 2> log/24/stderr1232 === End of file commands.log === Start of file http_server.log 19:28:15.203845 ====> Client connect 19:28:15.203875 accept_connection 3 returned 4 19:28:15.203895 Read 93 bytes 19:28:15.203904 Process 93 bytes request 19:28:15.203916 Got request: GET /verifiedserver HTTP/1.1 19:28:15.203924 Are-we-friendly question received 19:28:15.203948 Wrote request (93 bytes) input to log/24/server.input 19:28:15.203963 Identifying ourselves as friends 19:28:15.204019 Response sent (56 bytes) and written to log/24/server.response 19:28:15.204028 special request received, no persistency 19:28:15.204CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1234 ../src/curl -q --output log/5/curl1234.out --include --trace-ascii log/5/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/5/stdout1234 2> log/5/stderr1234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1236 ../src/curl -q --output log/11/curl1236.out --include --trace-ascii log/11/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/11/stdout1236 2> log/11/stderr1236 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1233 ../src/curl -q --output log/18/curl1233.out --include --trace-ascii log/18/trace1233 --trace-time ftp://127.0.0.1:36115/1233 > log/18/stdout1233 2> log/18/stderr1233 036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1232 ==146823== ==146823== Process terminating with default action of signal 4 (SIGILL) ==146823== Illegal opcode at address 0x492B75F ==146823== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146823== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146823== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146823== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146823== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146823== by 0x49908EB: curl_version_info (version.c:600) ==146823== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146823== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146823== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146823== by 0x4003269: main (tool_main.c:195) === End of file valgrind1232 test 1234 [abusing {}-globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1234 ../src/curl -q --output log/5/curl1234.out --include --trace-ascii log/5/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/5/stdout1234 2> log/5/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/5/ directory after test 1234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1234 ../src/curl -q --output log/5/curl1234.out --include --trace-ascii log/5/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/5/stdout1234 2> log/5/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==146883== ==146883== Process terminating with default action of signal 4 (SIGILL) ==146883== Illegal opcode at address 0x492B75F ==146883== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146883== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146883== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146883== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146883== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146883== by 0x49908EB: curl_version_info (version.c:600) ==146883== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146883== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146883== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146883== by 0x4003269: main (tool_main.c:195) === End of file valgrind1234 test 1236 [[] globbing overflowing the range counter] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1236 ../src/curl -q --output log/11/curl1236.out --include --trace-ascii log/11/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/11/stdout1236 2> log/11/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/11/ directory after test 1236 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1236 ../src/curl -q --output log/11/curl1236.out --include --trace-ascii log/11/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/11/stdout1236 2> log/11/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==147011== ==147011== Process terminating with default action of signal 4 (SIGILL) ==147011== Illegal opcode at address 0x492B75F ==147011== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147011== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147011== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147011== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147011== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147011== by 0x49908EB: curl_version_info (version.c:600) ==147011== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147011== by 0x4003269: main (tool_main.c:195) === End of file valgrind1236 test 1233 [FTP failing to connect to EPSV port, switching to PASV] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1233 ../src/curl -q --output log/18/curl1233.out --include --trace-ascii log/18/trace1233 --trace-time ftp://127.0.0.1:36115/1233 > log/18/stdout1233 2> log/18/stderr1233 1233: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1233 ../src/curl -q --output log/18/curl1233.out --include --trace-ascii log/18/trace1233 --trace-time ftp://127.0.0.1:36115/1233 > log/18/stdout1233 2> log/18/stderr1233 === End of file commands.log === Start of file ftp_server.log 19:28:15.686838 ====> Client connect 19:28:15.687180 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:15.692369 < "USER anonymous" 19:28:15.692428 > "331 We are happy you popped in![CR][LF]" 19:28:15.693792 < "PASS ftp@example.com" 19:28:15.693838 > "230 Welcome you silly person[CR][LF]" 19:28:15.694048 < "PWD" 19:28:15.694092 > "257 "/" is current directory[CR][LF]" 19:28:15.694610 < "EPSV" 19:28:15.694643 ====> Passive DATA channel requested by client 19:28:15.694658 DATA sockfilt for passive data channel starting... 19:28:15.697080 DATA sockfilt for passive data channel started (pid 146924) 19:28:15.697192 DATA sockfilt for passive data channel listens on port 34129 19:28:15.697236 > "229 Entering Passive Mode (|||34129|)[CR][LF]" 19:28:15.697254 Client has been notified that upcoming DATA connection is awaited on port 34129 19:28:15.697531 Client connects to port 34129 19:28:15.697563 ====> Client established passive DATA connection on port 34129 19:28:15.697641 < "TYPE I" 19:28:15.697672 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:15.697828 < "SIZE verifiedserver" 19:28:15.697864 > "213 17[CR][LF]" 19:28:15.698019 < "RETR verifiedserver" 19:28:15.698056 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:15.698258 =====> Closing passive DATA connection... 19:28:15.698279 Server disconnects passive DATA connection 19:28:15.698426 Server disconnected passive DATA connection 19:28:15.698454 DATA sockfilt for passive data channel quits (pid 146924) 19:28:15.698686 DATA sockfilt for passive data channel quiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1237 ../src/curl -q --output log/10/curl1237.out --include --trace-ascii log/10/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:40913/1237" > log/10/stdout1237 2> log/10/stderr1237 t (pid 146924) 19:28:15.698714 =====> Closed passive DATA connection 19:28:15.698744 > "226 File transfer complete[CR][LF]" 19:28:15.739207 < "QUIT" 19:28:15.739260 > "221 bye bye baby[CR][LF]" 19:28:15.740367 MAIN sockfilt said DISC 19:28:15.740398 ====> Client disconnected 19:28:15.740480 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:15.290174 ====> Client connect 19:28:15.290518 Received DATA (on stdin) 19:28:15.290540 > 146 bytes data, server => client 19:28:15.290560 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:15.290571 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:15.290580 '220 \___|\___/|_| \_\_____|\r\n' 19:28:15.295583 < 16 bytes data, client => server 19:28:15.295622 'USER anonymous\r\n' 19:28:15.295911 Received DATA (on stdin) 19:28:15.295927 > 33 bytes data, server => client 19:28:15.295937 '331 We are happy you popped in!\r\n' 19:28:15.296624 < 22 bytes data, client => server 19:28:15.296646 'PASS ftp@example.com\r\n' 19:28:15.297314 Received DATA (on stdin) 19:28:15.297329 > 30 bytes data, server => client 19:28:15.297340 '230 Welcome you silly person\r\n' 19:28:15.297411 < 5 bytes data, client => server 19:28:15.297425 'PWD\r\n' 19:28:15.297564 Received DATA (on stdin) 19:28:15.297577 > 30 bytes data, server => client 19:28:15.297586 '257 "/" is current directory\r\n' 19:28:15.297659 < 6 bytes data, client => server 19:28:15.297670 'EPSV\r\n' 19:28:15.300730 Received DATA (on stdin) 19:28:15.300743 > 39 bytes data, server => client 19:28:15.300753 '229 Entering Passive Mode (|||34129|)\r\n' 19:28:15.300917 < 8 bytes data, client => server 19:28:15.300933 'TYPE I\r\n' 19:28:15.301141 Received DATA (on stdin) 19:28:15.301152 > 33 bytes data, server => client 19:28:15.301162 '200 I modify TYPE as you wanted\r\n' 19:28:15.301215 < 21 bytes data, client => server 19:28:15.301226 'SIZE verifiedserver\r\n' 19:28:15.301334 Received DATA (on stdin) 19:28:15.301344 > 8 bytes data, server => client 19:28:15.301354 '213 17\r\n' 19:28:15.301405 < 21 bytes data, client => server 19:28:15.301416 'RETR verifiedserver\r\n' 19:28:15.301531 Received DATA (on stdin) 19:28:15.301541 > 29 bytes data, server => client 19:28:15.301551 '150 Binary junk (17 bytes).\r\n' 19:28:15.302218 Received DATA (on stdin) 19:28:15.302231 > 28 bytes data, server => client 19:28:15.302241 '226 File transfer complete\r\n' 19:28:15.342490 < 6 bytes data, client => server 19:28:15.342520 'QUIT\r\n' 19:28:15.342728 Received DATA (on stdin) 19:28:15.342738 > 18 bytes data, server => client 19:28:15.342747 '221 bye bye baby\r\n' 19:28:15.343787 ====> Client disconnect 19:28:15.343945 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:15.300008 Running IPv4 version 19:28:15.300094 Listening on port 34129 19:28:15.300137 Wrote pid 146924 to log/18/server/ftp_sockdata.pid 19:28:15.300485 Received PING (on stdin) 19:28:15.300572 Received PORT (on stdin) 19:28:15.300954 ====> Client connect 19:28:15.301576 Received DATA (on stdin) 19:28:15.301588 > 17 bytes data, server => client 19:28:15.301750 'WE ROOLZ: 85350\r\n' 19:28:15.301782 Received DISC (on stdin) 19:28:15.301793 ====> Client forcibly disconnected 19:28:15.301933 Received QUIT (on stdin) 19:28:15.301945 quits 19:28:15.302007 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd # Assuming there is nothing listening on port 1 REPLY EPSV 229 Entering Passive Mode (|||1|) Testnum 1233 === End of file server.cmd === Start of file valgrind1233 ==147009== ==147009== Process terminating with default action of signal 4 (SIGILL) ==147009== Illegal opcode at address 0x492B75F ==147009== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147009== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147009== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147009== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147009== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147009== by 0x49908EB: curl_version_info (version.c:600) ==147009== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147009== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147009== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147009== by 0x4003269: main (tool_main.c:195) === End of file valgrind1233 test 1237 [URL with 1000+ letter username + password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1237 ../src/curl -q --output log/10/curl1237.out --include --trace-ascii log/10/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:40913/1237" > log/10/stdout1237 2> log/10/stderr1237 1237: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1237 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1237 ../src/curl -q --output log/10/curl1237.out --include --trace-ascii log/10/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1241 ../src/curl -q --output log/3/curl1241.out --include --trace-ascii log/3/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:36161 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/3/stdout1241 2> log/3/stderr1241 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1231 ../src/curl -q --output log/12/curl1231.out --include --trace-ascii log/12/trace1231 --trace-time http://127.0.0.1:40921/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:40921/../../hej/but/who/../12310001#/../12310001 > log/12/stdout1231 2> log/12/stderr1231 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:40913/1237" > log/10/stdout1237 2> log/10/stderr1237 === End of file commands.log === Start of file http_server.log 19:28:15.491886 ====> Client connect 19:28:15.491923 accept_connection 3 returned 4 19:28:15.491945 Read 93 bytes 19:28:15.491954 Process 93 bytes request 19:28:15.491966 Got request: GET /verifiedserver HTTP/1.1 19:28:15.491975 Are-we-friendly question received 19:28:15.492002 Wrote request (93 bytes) input to log/10/server.input 19:28:15.492018 Identifying ourselves as friends 19:28:15.492082 Response sent (56 bytes) and written to log/10/server.response 19:28:15.492103 special request received, no persistency 19:28:15.492111 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 52800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1237 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1237 ==147188== ==147188== Process terminating with default action of signal 4 (SIGILL) ==147188== Illegal opcode at address 0x492B75F ==147188== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147188== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147188== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147188== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147188== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147188== by 0x49908EB: curl_version_info (version.c:600) ==147188== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147188== by 0x4003269: main (tool_main.c:195) === End of file valgrind1237 test 1241 [HTTP _without_ dotdot removal] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1241 ../src/curl -q --output log/3/curl1241.out --include --trace-ascii log/3/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:36161 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/3/stdout1241 2> log/3/stderr1241 1241: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1241 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1241 ../src/curl -q --output log/3/curl1241.out --include --trace-ascii log/3/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:36161 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001 > log/3/stdout1241 2> log/3/stderr1241 === End of file commands.log === Start of file http_server.log 19:28:16.892726 ====> Client connect 19:28:16.892839 accept_connection 3 returned 4 19:28:16.892867 Read 93 bytes 19:28:16.892877 Process 93 bytes request 19:28:16.892891 Got request: GET /verifiedserver HTTP/1.1 19:28:16.892899 Are-we-friendly question received 19:28:16.892926 Wrote request (93 bytes) input to log/3/server.input 19:28:16.892942 Identifying ourselves as friends 19:28:16.893025 Response sent (56 bytes) and written to log/3/server.response 19:28:16.893034 special request received, no persistency 19:28:16.893042 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 60042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1241 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1241 ==147407== ==147407== Process terminating with default action of signal 4 (SIGILL) ==147407== Illegal opcode at address 0x492B75F ==147407== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147407== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147407== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147407== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147407== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147407== by 0x49908EB: curl_version_info (version.c:600) ==147407== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147407== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147407== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147407== by 0x4003269: main (tool_main.c:195) === End of file valgrind1241 test 1231 [HTTP URL with dotdot removal from path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1231 ../src/curl -q --output log/12/curl1231.out --include --trace-ascii log/12/trace1231 --trace-time http://127.0.0.1:40921/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:40921/../../hej/but/who/../12310001#/../12310001 > log/12/stdout1231 2> log/12/stderr1231 1231: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1231 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1231 ../src/curl -q --output log/12/curl1231.out --include --trace-ascii log/12/trace1231 --trace-time http://127.0.0.1:40921/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1239 ../src/curl -q --include --trace-ascii log/20/trace1239 --trace-time http://127.0.0.1:33897/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/20/stdout1239 2> log/20/stderr1239 .0.0.1:40921/../../hej/but/who/../12310001#/../12310001 > log/12/stdout1231 2> log/12/stderr1231 === End of file commands.log === Start of file http_server.log 19:28:15.206958 ====> Client connect 19:28:15.206990 accept_connection 3 returned 4 19:28:15.207009 Read 93 bytes 19:28:15.207018 Process 93 bytes request 19:28:15.207029 Got request: GET /verifiedserver HTTP/1.1 19:28:15.207038 Are-we-friendly question received 19:28:15.207065 Wrote request (93 bytes) input to log/12/server.input 19:28:15.207080 Identifying ourselves as friends 19:28:15.207139 Response sent (56 bytes) and written to log/12/server.response 19:28:15.207148 special request received, no persistency 19:28:15.207156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1231 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1231 ==146824== ==146824== Process terminating with default action of signal 4 (SIGILL) ==146824== Illegal opcode at address 0x492B75F ==146824== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==146824== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==146824== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==146824== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==146824== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==146824== by 0x49908EB: curl_version_info (version.c:600) ==146824== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==146824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==146824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==146824== by 0x4003269: main (tool_main.c:195) === End of file valgrind1231 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1235 ../src/curl -q --include --trace-ascii log/23/trace1235 --trace-time "127.0.0.1:44711/{1235,1235}{0001,0002}" > log/23/stdout1235 2> log/23/stderr1235 test 1239 [HTTP with -z + -w response_code and simulated 304] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1239 ../src/curl -q --include --trace-ascii log/20/trace1239 --trace-time http://127.0.0.1:33897/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/20/stdout1239 2> log/20/stderr1239 1239: stdout FAILED: --- log/20/check-expected 2026-10-15 19:28:18.597312564 +0000 +++ log/20/check-generated 2026-10-15 19:28:18.594872449 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Server: test-server/fake[LF] -Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] -ETag: "21025-dc7-39462498"[LF] -Accept-Ranges: bytes[LF] -Content-Length: 6[LF] -Connection: close[LF] -Content-Type: text/html[LF] -[LF] -304 == Contents of files in the log/20/ directory after test 1239 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Server: test-server/fake[LF] Last-Modified: Tue, 13 Jun 2010 12:10:00 GMT[LF] ETag: "21025-dc7-39462498"[LF] Accept-Ranges: bytes[LF] Content-Length: 6[LF] Connection: close[LF] Content-Type: text/html[LF] [LF] 304 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1239 ../src/curl -q --include --trace-ascii log/20/trace1239 --trace-time http://127.0.0.1:33897/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/20/stdout1239 2> log/20/stderr1239 === End of file commands.log === Start of file http_server.log 19:28:15.719042 ====> Client connect 19:28:15.719078 accept_connection 3 returned 4 19:28:15.719102 Read 93 bytes 19:28:15.719112 Process 93 bytes request 19:28:15.719125 Got request: GET /verifiedserver HTTP/1.1 19:28:15.719134 Are-we-friendly question received 19:28:15.719160 Wrote request (93 bytes) input to log/20/server.input 19:28:15.719177 Identifying ourselves as friends 19:28:15.719250 Response sent (56 bytes) and written to log/20/server.response 19:28:15.719260 special request received, no persistency 19:28:15.719269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 37236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1239 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1239 ==147321== ==147321== Process terminating with default action of signal 4 (SIGILL) ==147321== Illegal opcode at address 0x492B75F ==147321== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147321== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147321== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147321== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147321== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147321== by 0x49908EB: curl_version_info (version.c:600) ==147321== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147321== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147321== by 0x4003269: main (tool_main.c:195) === End of file valgrind1239 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1240 ../src/curl -q --output log/22/curl1240.out --include --trace-ascii log/22/trace1240 --trace-time "127.0.0.1:35989/0[0-1]/1240" > log/22/stdout1240 2> log/22/stderr1240 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:38065// --tftp-no-options > log/9/stdout1243 2> log/9/stderr1243 test 1235 [multiple requests using {}{} in the URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1235 ../src/curl -q --include --trace-ascii log/23/trace1235 --trace-time "127.0.0.1:44711/{1235,1235}{0001,0002}" > log/23/stdout1235 2> log/23/stderr1235 1235: stdout FAILED: --- log/23/check-expected 2026-10-15 19:28:18.623658286 +0000 +++ log/23/check-generated 2026-10-15 19:28:18.621540494 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 15[CR][LF] -[CR][LF] -the number one[LF] -HTTP/1.1 200 OK[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 16[CR][LF] -[CR][LF] -two is nice too[LF] == Contents of files in the log/23/ directory after test 1235 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 15[CR][LF] [CR][LF] the number one[LF] HTTP/1.1 200 OK[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 16[CR][LF] [CR][LF] two is nice too[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1235 ../src/curl -q --include --trace-ascii log/23/trace1235 --trace-time "127.0.0.1:44711/{1235,1235}{0001,0002}" > log/23/stdout1235 2> log/23/stderr1235 === End of file commands.log === Start of file http_server.log 19:28:15.412355 ====> Client connect 19:28:15.412390 accept_connection 3 returned 4 19:28:15.412411 Read 93 bytes 19:28:15.412420 Process 93 bytes request 19:28:15.412433 Got request: GET /verifiedserver HTTP/1.1 19:28:15.412442 Are-we-friendly question received 19:28:15.412489 Wrote request (93 bytes) input to log/23/server.input 19:28:15.412505 Identifying ourselves as friends 19:28:15.412567 Response sent (56 bytes) and written to log/23/server.response 19:28:15.412576 special request received, no persistency 19:28:15.412584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 42176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1235 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1235 ==147088== ==147088== Process terminating with default action of signal 4 (SIGILL) ==147088== Illegal opcode at address 0x492B75F ==147088== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147088== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147088== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147088== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147088== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147088== by 0x49908EB: curl_version_info (version.c:600) ==147088== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147088== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147088== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147088== by 0x4003269: main (tool_main.c:195) === End of file valgrind1235 test 1240 [glob [0-1] with stuff after range (7.33.0 regression)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1240 ../src/curl -q --output log/22/curl1240.out --include --trace-ascii log/22/trace1240 --trace-time "127.0.0.1:35989/0[0-1]/1240" > log/22/stdout1240 2> log/22/stderr1240 1240: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1240 ../src/curl -q --output log/22/curl1240.out --include --trace-ascii log/22/trace1240 --trace-time "127.0.0.1:35989/0[0-1]/1240" > log/22/stdout1240 2> log/22/stderr1240 === End of file commands.log === Start of file http_server.log 19:28:15.747088 ====> Client connect 19:28:15.747282 accept_connection 3 returned 4 19:28:15.747310 Read 93 bytes 19:28:15.747321 Process 93 bytes request 19:28:15.747335 Got request: GET /verifiedserver HTTP/1.1 19:28:15.747344 Are-we-friendly question received 19:28:15.747379 Wrote request (93 bytes) input to log/22/server.input 19:28:15.747398 Identifying ourselves as friends 19:28:15.747474 Response sent (56 bytes) and written to log/22/server.response 19:28:15.747486 special request received, no persistency 19:28:15.747495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 43088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1240 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1240 ==147320== ==147320== Process terminating with default action of signal 4 (SIGILL) ==147320== Illegal opcode at address 0x492B75F ==147320== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147320== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147320== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147320== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147320== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147320== by 0x49908EB: curl_version_info (version.c:600) ==147320== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147320== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147320== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147320== by 0x4003269: main (tool_main.c:195) === End of file valgrind1240 test 1243 [TFTP send without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:38065// --tftp-no-options > log/9/stdout1243 2> log/9/stderr1243 1243: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1243 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1238 ../src/curl -q --output log/14/curl1238.out --include --trace-ascii log/14/trace1238 --trace-time tftp://127.0.0.1:56578//1238 -Y1000 -y2 > log/14/stdout1238 2> log/14/stderr1238 RUN: Process with pid 147122 signalled to die RUN: Process with pid 147122 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1242 ../src/curl -q --output log/8/curl1242.out --include --trace-ascii log/8/trace1242 --trace-time tftp://127.0.0.1:41403//1242 --tftp-no-options > log/8/stdout1242 2> log/8/stderr1242 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1247 ../src/curl -q --output log/6/curl1247.out --include --trace-ascii log/6/trace1247 --trace-time --fail-early h1234://127.0.0.1:33935/1247 http://127.0.0.1:33935/1247 > log/6/stdout1247 2> log/6/stderr1247 grind.supp --num-callers=16 --log-file=log/9/valgrind1243 ../src/curl -q --output log/9/curl1243.out --include --trace-ascii log/9/trace1243 --trace-time -T log/9/test1243.txt tftp://127.0.0.1:38065// --tftp-no-options > log/9/stdout1243 2> log/9/stderr1243 === End of file commands.log === Start of file server.cmd Testnum 1243 === End of file server.cmd === Start of file test1243.txt a chunk of data sent to server === End of file test1243.txt === Start of file tftp_server.log 19:28:17.071537 trying to get file: verifiedserver mode 1 19:28:17.071570 Are-we-friendly question received 19:28:17.071587 write 19:28:17.071609 read 19:28:17.072088 read: 4 19:28:17.072155 end of one transfer === End of file tftp_server.log === Start of file valgrind1243 ==147506== ==147506== Process terminating with default action of signal 4 (SIGILL) ==147506== Illegal opcode at address 0x492B75F ==147506== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147506== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147506== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147506== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147506== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147506== by 0x49908EB: curl_version_info (version.c:600) ==147506== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147506== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147506== by 0x4003269: main (tool_main.c:195) === End of file valgrind1243 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/14/server/tftp_server.pid" --portfile "log/14/server/tftp_server.port" --logfile "log/14/tftp_server.log" --logdir "log/14" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 147122 port 56578 * pid tftp => 147122 147122 test 1238 [slow TFTP retrieve cancel due to -Y and -y] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1238 ../src/curl -q --output log/14/curl1238.out --include --trace-ascii log/14/trace1238 --trace-time tftp://127.0.0.1:56578//1238 -Y1000 -y2 > log/14/stdout1238 2> log/14/stderr1238 1238: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1238 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1238 ../src/curl -q --output log/14/curl1238.out --include --trace-ascii log/14/trace1238 --trace-time tftp://127.0.0.1:56578//1238 -Y1000 -y2 > log/14/stdout1238 2> log/14/stderr1238 === End of file commands.log === Start of file server.cmd writedelay: 2000 Testnum 1238 === End of file server.cmd === Start of file tftp_server.log 19:28:15.501189 Wrote pid 147122 to log/14/server/tftp_server.pid 19:28:15.501262 Wrote port 56578 to log/14/server/tftp_server.port 19:28:15.501275 Running IPv4 version on port UDP/56578 19:28:18.928615 signalled to die 19:28:18.928777 ========> exit message: exit_signal_handler(): triggered 19:28:18.928790 ========> IPv4 tftpd (port 56578 pid: 147122) exits with signal (15) 19:28:18.928804 ========> tftpd quits === End of file tftp_server.log === Start of file valgrind1238 ==147599== ==147599== Process terminating with default action of signal 4 (SIGILL) ==147599== Illegal opcode at address 0x492B75F ==147599== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147599== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147599== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147599== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147599== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147599== by 0x49908EB: curl_version_info (version.c:600) ==147599== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147599== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147599== by 0x4003269: main (tool_main.c:195) === End of file valgrind1238 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/8/server/tftp_server.pid" --portfile "log/8/server/tftp_server.port" --logfile "log/8/tftp_server.log" --logdir "log/8" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 147340 port 41403 * pid tftp => 147340 147340 test 1242 [TFTP retrieve without TFTP options requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1242 ../src/curl -q --output log/8/curl1242.out --include --trace-ascii log/8/trace1242 --trace-time tftp://127.0.0.1:41403//1242 --tftp-no-options > log/8/stdout1242 2> log/8/stderr1242 1242: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1242 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1242 ../src/curl -q --output log/8/curl1242.out --include --trace-ascii log/8/trace1242 --trace-time tftp://127.0.0.1:41403//1242 --tftp-no-options > log/8/stdout1242 2> log/8/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 19:28:16.866070 Wrote pid 147340 to log/8/server/tftp_server.pid 19:28:16.866148 Wrote port 41403 to log/8/server/tftp_server.port 19:28:16.866163 Running IPv4 version on port UDP/41403 === End of file tftp_server.log === Start of file valgrind1242 ==147782== ==147782== Process terminating with default action of signal 4 (SIGILL) ==147782== Illegal opcode at address 0x492B75F ==147782== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147782== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147782== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147782== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147782== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147782== by 0x49908EB: curl_version_info (version.c:600) ==147782== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147782== by 0x4003269: main (tool_main.c:195) === End of file valgrind1242 test 1247 [--fail-early] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1247 ../src/curl -q --output log/6/curl1247.out --include --trace-ascii log/6/trace1247 --trace-time --fail-early h1234://127.0.0.1:33935/1247 http://127.0.0.1:33935/1247 > log/6/stdout1247 2> log/6/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/6/ directory after test 1247 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1247 ../src/curl -q --output log/6/curl1247.out --include --trace-ascii log/6/trace1247 --trace-time --fail-early h1234://127.0.0.1:33935/1247 http://127.0.0.1:33935/1247 > log/6/stdout1247 2> log/6/stderr1247 === End of file commands.log === Start of file http_server.log 19:28:16.730099 ====> Client connect 19:28:16.730133 accept_connection 3 returned 4 19:28:16.730152 Read 93 bytes 19:28:16.730160 Process 93 bytes request 19:28:16.730172 Got request: GET /verifiedserver HTTP/1.1 19:28:16.730180 Are-we-fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:35903 http://test.remote.haxx.se.1246:35903#@127.0.0.1/tricked.html no-scheme-url.com.1246:35903#@127.127.127.127/again.html > log/16/stdout1246 2> log/16/stderr1246 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1249 ../src/curl -q --output log/1/curl1249.out --include --trace-ascii log/1/trace1249 --trace-time http://user:secret@127.0.0.1:38815/1249 --proxy http://dummy:47/ --max-time 5 > log/1/stdout1249 2> log/1/stderr1249 riendly question received 19:28:16.730208 Wrote request (93 bytes) input to log/6/server.input 19:28:16.730222 Identifying ourselves as friends 19:28:16.730277 Response sent (56 bytes) and written to log/6/server.response 19:28:16.730285 special request received, no persistency 19:28:16.730292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 47640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1247 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1247 ==147727== ==147727== Process terminating with default action of signal 4 (SIGILL) ==147727== Illegal opcode at address 0x492B75F ==147727== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147727== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147727== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147727== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147727== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147727== by 0x49908EB: curl_version_info (version.c:600) ==147727== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147727== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147727== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147727== by 0x4003269: main (tool_main.c:195) === End of file valgrind1247 test 1246 [URL with '#' at end of hostname instead of '/'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:35903 http://test.remote.haxx.se.1246:35903#@127.0.0.1/tricked.html no-scheme-url.com.1246:35903#@127.127.127.127/again.html > log/16/stdout1246 2> log/16/stderr1246 1246: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1246 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:35903 http://test.remote.haxx.se.1246:35903#@127.0.0.1/tricked.html no-scheme-url.com.1246:35903#@127.127.127.127/again.html > log/16/stdout1246 2> log/16/stderr1246 === End of file commands.log === Start of file http_server.log 19:28:17.695463 ====> Client connect 19:28:17.695517 accept_connection 3 returned 4 19:28:17.695546 Read 93 bytes 19:28:17.695557 Process 93 bytes request 19:28:17.695571 Got request: GET /verifiedserver HTTP/1.1 19:28:17.695580 Are-we-friendly question received 19:28:17.695615 Wrote request (93 bytes) input to log/16/server.input 19:28:17.695639 Identifying ourselves as friends 19:28:17.695734 Response sent (56 bytes) and written to log/16/server.response 19:28:17.695747 special request received, no persistency 19:28:17.695756 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 47270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1246 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1246 ==147717== ==147717== Process terminating with default action of signal 4 (SIGILL) ==147717== Illegal opcode at address 0x492B75F ==147717== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147717== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147717== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147717== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147717== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147717== by 0x49908EB: curl_version_info (version.c:600) ==147717== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147717== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147717== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147717== by 0x4003269: main (tool_main.c:195) === End of file valgrind1246 setenv NO_PROXY = 127.0.0.1 test 1249 [Non-proxied plus --proxy option and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1249 ../src/curl -q --output log/1/curl1249.out --include --trace-ascii log/1/trace1249 --trace-time http://user:secret@127.0.0.1:38815/1249 --proxy http://dummy:47/ --max-time 5 > log/1/stdout1249 2> log/1/stderr1249 1249: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1249 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1249 ../src/curl -q --output log/1/curl1249.out --include --trace-ascii log/1/trace1249 --trace-time http://user:secret@127.0.0.1:38815/1249 --proxy http://dummy:47/ --max-time 5 > log/1/stdout1249 2> log/1/stderr1249 === End of file commands.log === Start of file http_server.log 19:28:18.142097 ====> Client connect 19:28:18.142143 accept_connection 3 returned 4 19:28:18.142169 Read 93 bytes 19:28:18.142182 Process 93 bytes request 19:28:18.142197 Got request: GET /verifiedserver HTTP/1.1 19:28:18.142207 Are-we-friendly question received 19:28:18.142238 Wrote request (93 bytes) input to log/1/server.input 19:28:18.142254 Identifying ourselves as friends 19:28:18.142344 Response sent (56 bytes) and written to log/1/server.response 19:28:18.142353 special request received, no persistency 19:28:18.142362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 47276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1249 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1249 ==148018== ==148018== Process terminating with default action of signal 4 (SIGILL) ==148018== Illegal opcode at address 0x492B75F ==148018== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148018== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1248 ../src/curl -q --output log/7/curl1248.out --include --trace-ascii log/7/trace1248 --trace-time http://user:secret@127.0.0.1:40859/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/7/stdout1248 2> log/7/stderr1248 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1250 ../src/curl -q --output log/21/curl1250.out --include --trace-ascii log/21/trace1250 --trace-time http://user:secret@127.0.0.1:39881/1250 --noproxy 127.0.0.1 --max-time 5 > log/21/stdout1250 2> log/21/stderr1250 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1245 ../src/curl -q --output log/19/curl1245.out --include --trace-ascii log/19/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:46497/1245 > log/19/stdout1245 2> log/19/stderr1245 018== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148018== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148018== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148018== by 0x49908EB: curl_version_info (version.c:600) ==148018== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148018== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148018== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148018== by 0x4003269: main (tool_main.c:195) === End of file valgrind1249 test 1248 [Non-proxied host plus --proxy option and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1248 ../src/curl -q --output log/7/curl1248.out --include --trace-ascii log/7/trace1248 --trace-time http://user:secret@127.0.0.1:40859/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/7/stdout1248 2> log/7/stderr1248 1248: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1248 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1248 ../src/curl -q --output log/7/curl1248.out --include --trace-ascii log/7/trace1248 --trace-time http://user:secret@127.0.0.1:40859/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/7/stdout1248 2> log/7/stderr1248 === End of file commands.log === Start of file http_server.log 19:28:17.055420 ====> Client connect 19:28:17.055460 accept_connection 3 returned 4 19:28:17.055482 Read 93 bytes 19:28:17.055492 Process 93 bytes request 19:28:17.055504 Got request: GET /verifiedserver HTTP/1.1 19:28:17.055512 Are-we-friendly question received 19:28:17.055537 Wrote request (93 bytes) input to log/7/server.input 19:28:17.055553 Identifying ourselves as friends 19:28:17.055618 Response sent (56 bytes) and written to log/7/server.response 19:28:17.055627 special request received, no persistency 19:28:17.055635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 37974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1248 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1248 ==147946== ==147946== Process terminating with default action of signal 4 (SIGILL) ==147946== Illegal opcode at address 0x492B75F ==147946== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147946== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147946== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147946== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147946== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147946== by 0x49908EB: curl_version_info (version.c:600) ==147946== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147946== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147946== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147946== by 0x4003269: main (tool_main.c:195) === End of file valgrind1248 setenv http_proxy = http://dummy:44633/ test 1250 [Non-proxied host plus http_proxy env var and --noproxy option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1250 ../src/curl -q --output log/21/curl1250.out --include --trace-ascii log/21/trace1250 --trace-time http://user:secret@127.0.0.1:39881/1250 --noproxy 127.0.0.1 --max-time 5 > log/21/stdout1250 2> log/21/stderr1250 1250: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1250 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1250 ../src/curl -q --output log/21/curl1250.out --include --trace-ascii log/21/trace1250 --trace-time http://user:secret@127.0.0.1:39881/1250 --noproxy 127.0.0.1 --max-time 5 > log/21/stdout1250 2> log/21/stderr1250 === End of file commands.log === Start of file http_server.log 19:28:17.218882 ====> Client connect 19:28:17.218932 accept_connection 3 returned 4 19:28:17.218961 Read 93 bytes 19:28:17.218973 Process 93 bytes request 19:28:17.218987 Got request: GET /verifiedserver HTTP/1.1 19:28:17.218996 Are-we-friendly question received 19:28:17.219027 Wrote request (93 bytes) input to log/21/server.input 19:28:17.219046 Identifying ourselves as friends 19:28:17.219132 Response sent (56 bytes) and written to log/21/server.response 19:28:17.219147 special request received, no persistency 19:28:17.219157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1250 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1250 ==148091== ==148091== Process terminating with default action of signal 4 (SIGILL) ==148091== Illegal opcode at address 0x492B75F ==148091== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148091== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148091== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148091== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148091== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148091== by 0x49908EB: curl_version_info (version.c:600) ==148091== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148091== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148091== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148091== by 0x4003269: main (tool_main.c:195) === End of file valgrind1250 test 1245 [--proto deny must override --proto-redir allow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1245 ../src/curl -q --output log/19/curl1245.out --include --trace-ascii log/19/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:46497/1245 > log/19/stdout1245 2> log/19/stderr1245 1245: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1245 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1245 ../src/curl -q --output log/19/curl1245.out --include --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/stderr1256 trace-ascii log/19/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:46497/1245 > log/19/stdout1245 2> log/19/stderr1245 === End of file commands.log === Start of file ftp_server.log 19:28:17.100977 ====> Client connect 19:28:17.101186 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:17.112178 < "USER anonymous" 19:28:17.112257 > "331 We are happy you popped in![CR][LF]" 19:28:17.115679 < "PASS ftp@example.com" 19:28:17.115729 > "230 Welcome you silly person[CR][LF]" 19:28:17.115875 < "PWD" 19:28:17.115906 > "257 "/" is current directory[CR][LF]" 19:28:17.116059 < "EPSV" 19:28:17.116082 ====> Passive DATA channel requested by client 19:28:17.116095 DATA sockfilt for passive data channel starting... 19:28:17.123167 DATA sockfilt for passive data channel started (pid 147715) 19:28:17.123308 DATA sockfilt for passive data channel listens on port 41177 19:28:17.123351 > "229 Entering Passive Mode (|||41177|)[CR][LF]" 19:28:17.123368 Client has been notified that upcoming DATA connection is awaited on port 41177 19:28:17.123681 Client connects to port 41177 19:28:17.123710 ====> Client established passive DATA connection on port 41177 19:28:17.123796 < "TYPE I" 19:28:17.123827 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:17.123988 < "SIZE verifiedserver" 19:28:17.124023 > "213 17[CR][LF]" 19:28:17.124176 < "RETR verifiedserver" 19:28:17.124209 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:17.124293 =====> Closing passive DATA connection... 19:28:17.124311 Server disconnects passive DATA connection 19:28:17.124481 Server disconnected passive DATA connection 19:28:17.124503 DATA sockfilt for passive data channel quits (pid 147715) 19:28:17.124796 DATA sockfilt for passive data channel quit (pid 147715) 19:28:17.124820 =====> Closed passive DATA connection 19:28:17.124847 > "226 File transfer complete[CR][LF]" 19:28:17.168986 < "QUIT" 19:28:17.169046 > "221 bye bye baby[CR][LF]" 19:28:17.170279 MAIN sockfilt said DISC 19:28:17.170321 ====> Client disconnected 19:28:17.170399 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:16.704253 ====> Client connect 19:28:16.705406 Received DATA (on stdin) 19:28:16.705426 > 146 bytes data, server => client 19:28:16.705438 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:16.705447 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:16.705456 '220 \___|\___/|_| \_\_____|\r\n' 19:28:16.705558 < 16 bytes data, client => server 19:28:16.705571 'USER anonymous\r\n' 19:28:16.718731 Received DATA (on stdin) 19:28:16.718768 > 33 bytes data, server => client 19:28:16.718779 '331 We are happy you popped in!\r\n' 19:28:16.718911 < 22 bytes data, client => server 19:28:16.718922 'PASS ftp@example.com\r\n' 19:28:16.719124 Received DATA (on stdin) 19:28:16.719134 > 30 bytes data, server => client 19:28:16.719143 '230 Welcome you silly person\r\n' 19:28:16.719191 < 5 bytes data, client => server 19:28:16.719200 'PWD\r\n' 19:28:16.719297 Received DATA (on stdin) 19:28:16.719306 > 30 bytes data, server => client 19:28:16.719315 '257 "/" is current directory\r\n' 19:28:16.719376 < 6 bytes data, client => server 19:28:16.719386 'EPSV\r\n' 19:28:16.726768 Received DATA (on stdin) 19:28:16.726784 > 39 bytes data, server => client 19:28:16.726795 '229 Entering Passive Mode (|||41177|)\r\n' 19:28:16.726993 < 8 bytes data, client => server 19:28:16.727007 'TYPE I\r\n' 19:28:16.727221 Received DATA (on stdin) 19:28:16.727232 > 33 bytes data, server => client 19:28:16.727242 '200 I modify TYPE as you wanted\r\n' 19:28:16.727296 < 21 bytes data, client => server 19:28:16.727307 'SIZE verifiedserver\r\n' 19:28:16.727414 Received DATA (on stdin) 19:28:16.727425 > 8 bytes data, server => client 19:28:16.727434 '213 17\r\n' 19:28:16.727485 < 21 bytes data, client => server 19:28:16.727495 'RETR verifiedserver\r\n' 19:28:16.727705 Received DATA (on stdin) 19:28:16.727716 > 29 bytes data, server => client 19:28:16.727726 '150 Binary junk (17 bytes).\r\n' 19:28:16.728239 Received DATA (on stdin) 19:28:16.728250 > 28 bytes data, server => client 19:28:16.728260 '226 File transfer complete\r\n' 19:28:16.772182 < 6 bytes data, client => server 19:28:16.772208 'QUIT\r\n' 19:28:16.772441 Received DATA (on stdin) 19:28:16.772452 > 18 bytes data, server => client 19:28:16.772461 '221 bye bye baby\r\n' 19:28:16.773611 ====> Client disconnect 19:28:16.773789 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:17.726135 Running IPv4 version 19:28:17.726246 Listening on port 41177 19:28:17.726287 Wrote pid 147715 to log/19/server/ftp_sockdata.pid 19:28:17.726495 Received PING (on stdin) 19:28:17.726599 Received PORT (on stdin) 19:28:17.727027 ====> Client connect 19:28:17.727784 Received DATA (on stdin) 19:28:17.727796 > 17 bytes data, server => client 19:28:17.727805 'WE ROOLZ: 84587\r\n' 19:28:17.727832 Received DISC (on stdin) 19:28:17.727934 ====> Client forcibly disconnected 19:28:17.727965 Received QUIT (on stdin) 19:28:17.727974 quits 19:28:17.728044 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:28:16.608816 ====> Client connect 19:28:16.608861 accept_connection 3 returned 4 19:28:16.608887 Read 93 bytes 19:28:16.608896 Process 93 bytes request 19:28:16.608909 Got request: GET /verifiedserver HTTP/1.1 19:28:16.608917 Are-we-friendly question received 19:28:16.609111 Wrote request (93 bytes) input to log/19/server.input 19:28:16.609129 Identifying ourselves as friends 19:28:16.609208 Response sent (56 bytes) and written to log/19/server.response 19:28:16.609216 special request received, no persistency 19:28:16.609224 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 57988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1245 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind1245 ==147756== ==147756== Process terminating with default action of signal 4 (SIGILL) ==147756== Illegal opcode at address 0x492B75F ==147756== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==147756== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==147756== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==147756== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==147756== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==147756== by 0x49908EB: curl_version_info (version.c:600) ==147756== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==147756== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==147756== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==147756== by 0x4003269: main (tool_main.c:195) === End of file valgrind1245 setenv http_proxy = http://127.0.0.1:37089 setenv NO_PROXY = example.com test 1256 [http_proxy, override NO_PROXY by --noproxy host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/stderr1256 1256: protocol FAILED! There was no content at all in the file log/5/server.input. CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/5/stdout1275 2> log/5/stderr1275 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/5/stdout1276 2> log/5/stderr1276 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1230 ../src/curl -q --output log/13/curl1230.out --include --trace-ascii log/13/trace1230 --trace-time http://[1234:1234:1234::4ce]:38821/wanted/page/1230 -p -x 127.0.0.1:38821 > log/13/stdout1230 2> log/13/stderr1230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1252 ../src/curl -q --output log/17/curl1252.out --include --trace-ascii log/17/trace1252 --trace-time http://127.0.0.1:35993/1252 --proxy http://127.0.0.1:35993 --noproxy 127.0.0.1 > log/17/stdout1252 2> log/17/stderr1252 Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1256 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1256 ../src/curl -q --output log/5/curl1256.out --include --trace-ascii log/5/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/5/stdout1256 2> log/5/stderr1256 === End of file commands.log === Start of file http_server.log 19:28:17.871759 ====> Client connect 19:28:17.871795 accept_connection 3 returned 4 19:28:17.871817 Read 93 bytes 19:28:17.871828 Process 93 bytes request 19:28:17.871839 Got request: GET /verifiedserver HTTP/1.1 19:28:17.871848 Are-we-friendly question received 19:28:17.871877 Wrote request (93 bytes) input to log/5/server.input 19:28:17.871893 Identifying ourselves as friends 19:28:17.871956 Response sent (56 bytes) and written to log/5/server.response 19:28:17.871979 special request received, no persistency 19:28:17.871988 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 57396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1256 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1256 ==148549== ==148549== Process terminating with default action of signal 4 (SIGILL) ==148549== Illegal opcode at address 0x492B75F ==148549== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148549== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148549== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148549== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148549== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148549== by 0x49908EB: curl_version_info (version.c:600) ==148549== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148549== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148549== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148549== by 0x4003269: main (tool_main.c:195) === End of file valgrind1256 test 1275 [Verify capital letters after period in markdown files] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/5/stdout1275 2> log/5/stderr1275 valgrind SKIPPED -------e--- OK (1170 out of 1890, remaining: 01:28, took 0.052s, duration: 02:23) test 1276 [Verify lib/optiontable.pl] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/5/stdout1276 2> log/5/stderr1276 valgrind SKIPPED -------e--- OK (1171 out of 1890, remaining: 01:28, took 0.060s, duration: 02:23) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/13/server/http2_server.pid" --logfile "log/13/http2_server.log" --logdir "log/13" --portfile log/13/server/http2_server.port --config log/13/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 146612 port 38663 * pid http-proxy => 146612 146612 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/13/server/http_ipv6_server.pid" --logfile "log/13/http_ipv6_server.log" --logdir "log/13" --portfile log/13/server/http_ipv6_server.port --config log/13/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 147503 port 44969 * pid http-ipv6 => 147503 147503 test 1230 [HTTP CONNECT to IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1230 ../src/curl -q --output log/13/curl1230.out --include --trace-ascii log/13/trace1230 --trace-time http://[1234:1234:1234::4ce]:38821/wanted/page/1230 -p -x 127.0.0.1:38821 > log/13/stdout1230 2> log/13/stderr1230 1230: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1230 ../src/curl -q --output log/13/curl1230.out --include --trace-ascii log/13/trace1230 --trace-time http://[1234:1234:1234::4ce]:38821/wanted/page/1230 -p -x 127.0.0.1:38821 > log/13/stdout1230 2> log/13/stderr1230 === End of file commands.log === Start of file http2_server.log 19:28:15.121789 Run as proxy, CONNECT to host 127.0.0.1 19:28:15.121916 Running HTTP IPv4 version on port 38663 19:28:15.121958 Wrote pid 146612 to log/13/server/http2_server.pid 19:28:15.121987 Wrote port 38663 to log/13/server/http2_server.port === End of file http2_server.log === Start of file http_ipv6_server.log 19:28:16.159223 Running HTTP IPv6 version on port 44969 19:28:16.159340 Wrote pid 147503 to log/13/server/http_ipv6_server.pid 19:28:16.159374 Wrote port 44969 to log/13/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 19:28:17.168337 ====> Client connect 19:28:17.168376 accept_connection 3 returned 4 19:28:17.168535 Read 93 bytes 19:28:17.168551 Process 93 bytes request 19:28:17.168565 Got request: GET /verifiedserver HTTP/1.1 19:28:17.168575 Are-we-friendly question received 19:28:17.168608 Wrote request (93 bytes) input to log/13/server.input 19:28:17.168627 Identifying ourselves as friends 19:28:17.168752 Response sent (56 bytes) and written to log/13/server.response 19:28:17.168765 special request received, no persistency 19:28:17.168774 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1230 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1230 ==148027== ==148027== Process terminating with default action of signal 4 (SIGILL) ==148027== Illegal opcode at address 0x492B75F ==148027== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148027== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148027== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148027== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148027== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148027== by 0x49908EB: curl_version_info (version.c:600) ==148027== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148027== by 0x4003269: main (tool_main.c:195) === End of file valgrind1230 setenv NO_PROXY = example.com test 1252 [--proxy, override NO_PROXY by --noproxy and accesCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/17/stdout1279 2> log/17/stderr1279 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1251 ../src/curl -q --output log/4/curl1251.out --include --trace-ascii log/4/trace1251 --trace-time http://user:secret@127.0.0.1:35735/1251 --max-time 5 > log/4/stdout1251 2> log/4/stderr1251 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1255 ../src/curl -q --output log/24/curl1255.out --include --trace-ascii log/24/trace1255 --trace-time http://127.0.0.1:38895/1255 --noproxy 127.0.0.1 > log/24/stdout1255 2> log/24/stderr1255 s target URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1252 ../src/curl -q --output log/17/curl1252.out --include --trace-ascii log/17/trace1252 --trace-time http://127.0.0.1:35993/1252 --proxy http://127.0.0.1:35993 --noproxy 127.0.0.1 > log/17/stdout1252 2> log/17/stderr1252 1252: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1252 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1252 ../src/curl -q --output log/17/curl1252.out --include --trace-ascii log/17/trace1252 --trace-time http://127.0.0.1:35993/1252 --proxy http://127.0.0.1:35993 --noproxy 127.0.0.1 > log/17/stdout1252 2> log/17/stderr1252 === End of file commands.log === Start of file http_server.log 19:28:18.445409 ====> Client connect 19:28:18.445452 accept_connection 3 returned 4 19:28:18.445477 Read 93 bytes 19:28:18.445487 Process 93 bytes request 19:28:18.445500 Got request: GET /verifiedserver HTTP/1.1 19:28:18.445508 Are-we-friendly question received 19:28:18.445535 Wrote request (93 bytes) input to log/17/server.input 19:28:18.445551 Identifying ourselves as friends 19:28:18.445626 Response sent (56 bytes) and written to log/17/server.response 19:28:18.445636 special request received, no persistency 19:28:18.445644 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 35158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1252 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1252 ==148294== ==148294== Process terminating with default action of signal 4 (SIGILL) ==148294== Illegal opcode at address 0x492B75F ==148294== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148294== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148294== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148294== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148294== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148294== by 0x49908EB: curl_version_info (version.c:600) ==148294== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148294== by 0x4003269: main (tool_main.c:195) === End of file valgrind1252 test 1279 [Verify libcurl.def against CURL_EXTERN declarations] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/17/stdout1279 2> log/17/stderr1279 valgrind SKIPPED s------e--- OK (1174 out of 1890, remaining: 01:27, took 0.058s, duration: 02:23) setenv http_proxy = http://dummy:45375/ setenv NO_PROXY = 127.0.0.1 test 1251 [Non-proxied host plus http_proxy env var and NO_PROXY env var] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1251 ../src/curl -q --output log/4/curl1251.out --include --trace-ascii log/4/trace1251 --trace-time http://user:secret@127.0.0.1:35735/1251 --max-time 5 > log/4/stdout1251 2> log/4/stderr1251 1251: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1251 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1251 ../src/curl -q --output log/4/curl1251.out --include --trace-ascii log/4/trace1251 --trace-time http://user:secret@127.0.0.1:35735/1251 --max-time 5 > log/4/stdout1251 2> log/4/stderr1251 === End of file commands.log === Start of file http_server.log 19:28:18.242194 ====> Client connect 19:28:18.242229 accept_connection 3 returned 4 19:28:18.242249 Read 93 bytes 19:28:18.242258 Process 93 bytes request 19:28:18.242271 Got request: GET /verifiedserver HTTP/1.1 19:28:18.242280 Are-we-friendly question received 19:28:18.242307 Wrote request (93 bytes) input to log/4/server.input 19:28:18.242322 Identifying ourselves as friends 19:28:18.242380 Response sent (56 bytes) and written to log/4/server.response 19:28:18.242390 special request received, no persistency 19:28:18.242401 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 52838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1251 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1251 ==148146== ==148146== Process terminating with default action of signal 4 (SIGILL) ==148146== Illegal opcode at address 0x492B75F ==148146== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148146== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148146== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148146== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148146== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148146== by 0x49908EB: curl_version_info (version.c:600) ==148146== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148146== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148146== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148146== by 0x4003269: main (tool_main.c:195) === End of file valgrind1251 setenv http_proxy = http://127.0.0.1:38895 setenv NO_PROXY = example.com test 1255 [http_proxy, override NO_PROXY by --noproxy and access URL directly] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1255 ../src/curl -q --output log/24/curl1255.out --include --trace-ascii log/24/trace1255 --trace-time http://127.0.0.1:38895/1255 --noproxy 127.0.0.1 > log/24/stdout1255 2> log/24/stderr1255 1255: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1255 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1255 ../src/curl -q --output log/24/curl1255.out --include --trace-ascii log/24/trace1255 --trace-time http://127.0.0.1:38895/1255 --noproxy 127.0.0.1 > log/24/stdout1255 2> log/24/stderr1255 === End of file commands.log === Start of file http_server.log 19:28:17.704763 ====> ClientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1253 ../src/curl -q --output log/15/curl1253.out --include --trace-ascii log/15/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:40321 --noproxy 127.0.0.1 > log/15/stdout1253 2> log/15/stderr1253 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1264 ../src/curl -q --output log/22/curl1264.out --include --trace-ascii log/22/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/22/stdout1264 2> log/22/stderr1264 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1260 ../src/curl -q --output log/3/curl1260.out --include --trace-ascii log/3/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/3/stdout1260 2> log/3/stderr1260 connect 19:28:17.704798 accept_connection 3 returned 4 19:28:17.704820 Read 93 bytes 19:28:17.704829 Process 93 bytes request 19:28:17.704843 Got request: GET /verifiedserver HTTP/1.1 19:28:17.704852 Are-we-friendly question received 19:28:17.704874 Wrote request (93 bytes) input to log/24/server.input 19:28:17.704889 Identifying ourselves as friends 19:28:17.704948 Response sent (56 bytes) and written to log/24/server.response 19:28:17.704956 special request received, no persistency 19:28:17.704964 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 50274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1255 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1255 ==148472== ==148472== Process terminating with default action of signal 4 (SIGILL) ==148472== Illegal opcode at address 0x492B75F ==148472== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148472== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148472== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148472== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148472== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148472== by 0x49908EB: curl_version_info (version.c:600) ==148472== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148472== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148472== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148472== by 0x4003269: main (tool_main.c:195) === End of file valgrind1255 setenv NO_PROXY = example.com test 1253 [--proxy, override NO_PROXY by --noproxy and access URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1253 ../src/curl -q --output log/15/curl1253.out --include --trace-ascii log/15/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:40321 --noproxy 127.0.0.1 > log/15/stdout1253 2> log/15/stderr1253 1253: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1253 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1253 ../src/curl -q --output log/15/curl1253.out --include --trace-ascii log/15/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:40321 --noproxy 127.0.0.1 > log/15/stdout1253 2> log/15/stderr1253 === End of file commands.log === Start of file http_server.log 19:28:18.468780 ====> Client connect 19:28:18.468820 accept_connection 3 returned 4 19:28:18.473140 Read 93 bytes 19:28:18.473166 Process 93 bytes request 19:28:18.473183 Got request: GET /verifiedserver HTTP/1.1 19:28:18.473192 Are-we-friendly question received 19:28:18.473229 Wrote request (93 bytes) input to log/15/server.input 19:28:18.473247 Identifying ourselves as friends 19:28:18.473310 Response sent (56 bytes) and written to log/15/server.response 19:28:18.473320 special request received, no persistency 19:28:18.473329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 44364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1253 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1253 ==148315== ==148315== Process terminating with default action of signal 4 (SIGILL) ==148315== Illegal opcode at address 0x492B75F ==148315== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148315== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148315== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148315== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148315== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148315== by 0x49908EB: curl_version_info (version.c:600) ==148315== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148315== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148315== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148315== by 0x4003269: main (tool_main.c:195) === End of file valgrind1253 test 1264 [HTTP URL with space in hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1264 ../src/curl -q --output log/22/curl1264.out --include --trace-ascii log/22/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/22/stdout1264 2> log/22/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/22/ directory after test 1264 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1264 ../src/curl -q --output log/22/curl1264.out --include --trace-ascii log/22/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/22/stdout1264 2> log/22/stderr1264 === End of file commands.log === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==148984== ==148984== Process terminating with default action of signal 4 (SIGILL) ==148984== Illegal opcode at address 0x492B75F ==148984== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148984== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148984== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148984== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148984== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148984== by 0x49908EB: curl_version_info (version.c:600) ==148984== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148984== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148984== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148984== by 0x4003269: main (tool_main.c:195) === End of file valgrind1264 test 1260 [HTTP URL with rubbish after port number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1260 ../src/curl -q --output log/3/curl1260.out --include --trace-ascii log/3/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/3/stdout1260 2> log/3/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/3/ directory after test 1260 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1257 ../src/curl -q --output log/18/curl1257.out --include --trace-ascii log/18/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/18/stdout1257 2> log/18/stderr1257 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1254 ../src/curl -q --output log/2/curl1254.out --include --trace-ascii log/2/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:34531 --noproxy "" > log/2/stdout1254 2> log/2/stderr1254 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1258 ../src/curl -q --output log/11/curl1258.out --include --trace-ascii log/11/trace1258 --trace-time http://127.0.0.1:40989/we/want/1258 http://127.0.0.1:40989/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/11/stdout1258 2> log/11/stderr1258 -log-file=log/3/valgrind1260 ../src/curl -q --output log/3/curl1260.out --include --trace-ascii log/3/trace1260 --trace-time -g "http://[127.0.0.1]:47:80/we/want/1260" "http://127.0.0.1:47:80/we/want/1260" "http://user@example.com:80@localhost" > log/3/stdout1260 2> log/3/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==148728== ==148728== Process terminating with default action of signal 4 (SIGILL) ==148728== Illegal opcode at address 0x492B75F ==148728== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148728== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148728== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148728== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148728== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148728== by 0x49908EB: curl_version_info (version.c:600) ==148728== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148728== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148728== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148728== by 0x4003269: main (tool_main.c:195) === End of file valgrind1260 setenv http_proxy = http://127.0.0.1:43739 setenv NO_PROXY = example.com test 1257 [http_proxy, override NO_PROXY by --noproxy ""] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1257 ../src/curl -q --output log/18/curl1257.out --include --trace-ascii log/18/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/18/stdout1257 2> log/18/stderr1257 1257: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1257 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1257 ../src/curl -q --output log/18/curl1257.out --include --trace-ascii log/18/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/18/stdout1257 2> log/18/stderr1257 === End of file commands.log === Start of file http_server.log 19:28:18.972040 ====> Client connect 19:28:18.972084 accept_connection 3 returned 4 19:28:18.972275 Read 93 bytes 19:28:18.972292 Process 93 bytes request 19:28:18.972307 Got request: GET /verifiedserver HTTP/1.1 19:28:18.972316 Are-we-friendly question received 19:28:18.972352 Wrote request (93 bytes) input to log/18/server.input 19:28:18.972371 Identifying ourselves as friends 19:28:18.972446 Response sent (56 bytes) and written to log/18/server.response 19:28:18.972458 special request received, no persistency 19:28:18.972468 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 37100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1257 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1257 ==148609== ==148609== Process terminating with default action of signal 4 (SIGILL) ==148609== Illegal opcode at address 0x492B75F ==148609== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148609== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148609== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148609== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148609== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148609== by 0x49908EB: curl_version_info (version.c:600) ==148609== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148609== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148609== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148609== by 0x4003269: main (tool_main.c:195) === End of file valgrind1257 setenv NO_PROXY = example.com test 1254 [override NO_PROXY by --noproxy and access target URL through proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1254 ../src/curl -q --output log/2/curl1254.out --include --trace-ascii log/2/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:34531 --noproxy "" > log/2/stdout1254 2> log/2/stderr1254 1254: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1254 ../src/curl -q --output log/2/curl1254.out --include --trace-ascii log/2/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:34531 --noproxy "" > log/2/stdout1254 2> log/2/stderr1254 === End of file commands.log === Start of file http_server.log 19:28:18.535391 ====> Client connect 19:28:18.535431 accept_connection 3 returned 4 19:28:18.539183 Read 93 bytes 19:28:18.539204 Process 93 bytes request 19:28:18.539218 Got request: GET /verifiedserver HTTP/1.1 19:28:18.539227 Are-we-friendly question received 19:28:18.539268 Wrote request (93 bytes) input to log/2/server.input 19:28:18.539285 Identifying ourselves as friends 19:28:18.539347 Response sent (56 bytes) and written to log/2/server.response 19:28:18.539357 special request received, no persistency 19:28:18.539366 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 34156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1254 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1254 ==148334== ==148334== Process terminating with default action of signal 4 (SIGILL) ==148334== Illegal opcode at address 0x492B75F ==148334== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148334== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148334== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148334== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148334== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148334== by 0x49908EB: curl_version_info (version.c:600) ==148334== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148334== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148334== by 0x4003269: main (tool_main.c:195) === End of file valgrind1254 test 1258 [HTTP, use cookies with localhost] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1258 ../src/curl -q --output log/11/curl1258.out --include --tracCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1263 ../src/curl -q --output log/23/curl1263.out --include --trace-ascii log/23/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/23/stdout1263 2> log/23/stderr1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1261 ../src/curl -q --include --trace-ascii log/12/trace1261 --trace-time http://127.0.0.1:40921/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/12/stdout1261 2> log/12/stderr1261 e-ascii log/11/trace1258 --trace-time http://127.0.0.1:40989/we/want/1258 http://127.0.0.1:40989/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/11/stdout1258 2> log/11/stderr1258 1258: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1258 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1258 ../src/curl -q --output log/11/curl1258.out --include --trace-ascii log/11/trace1258 --trace-time http://127.0.0.1:40989/we/want/1258 http://127.0.0.1:40989/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/11/stdout1258 2> log/11/stderr1258 === End of file commands.log === Start of file http_server.log 19:28:18.001426 ====> Client connect 19:28:18.001468 accept_connection 3 returned 4 19:28:18.001493 Read 93 bytes 19:28:18.001503 Process 93 bytes request 19:28:18.001515 Got request: GET /verifiedserver HTTP/1.1 19:28:18.001524 Are-we-friendly question received 19:28:18.001552 Wrote request (93 bytes) input to log/11/server.input 19:28:18.001567 Identifying ourselves as friends 19:28:18.001649 Response sent (56 bytes) and written to log/11/server.response 19:28:18.001658 special request received, no persistency 19:28:18.001667 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 42188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1258 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1258 ==148624== ==148624== Process terminating with default action of signal 4 (SIGILL) ==148624== Illegal opcode at address 0x492B75F ==148624== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148624== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148624== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148624== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148624== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148624== by 0x49908EB: curl_version_info (version.c:600) ==148624== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148624== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148624== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148624== by 0x4003269: main (tool_main.c:195) === End of file valgrind1258 test 1263 [HTTP URL with rubbish after IPv6 bracket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1263 ../src/curl -q --output log/23/curl1263.out --include --trace-ascii log/23/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/23/stdout1263 2> log/23/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/23/ directory after test 1263 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1263 ../src/curl -q --output log/23/curl1263.out --include --trace-ascii log/23/trace1263 --trace-time -g "http://[127.0.0.1]test:47/we/want/1263" "http://[127.0.0.1][127.0.0.1]:47/we/want/1263" "http://user@[::1]@localhost" > log/23/stdout1263 2> log/23/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==148840== ==148840== Process terminating with default action of signal 4 (SIGILL) ==148840== Illegal opcode at address 0x492B75F ==148840== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148840== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148840== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148840== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148840== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148840== by 0x49908EB: curl_version_info (version.c:600) ==148840== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148840== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148840== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148840== by 0x4003269: main (tool_main.c:195) === End of file valgrind1263 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1259 ../src/curl -q --output log/10/curl1259.out --include --trace-ascii log/10/trace1259 --trace-time "http://user:pass;word@127.0.0.1:40913/we/want/1259" > log/10/stdout1259 2> log/10/stderr1259 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1262 ../src/curl -q --output log/20/curl1262.out --include --trace-ascii log/20/trace1262 --trace-time ftp://127.0.0.1:41549/blalbla/1262 -z "-1 jan 2001" > log/20/stdout1262 2> log/20/stderr1262 test 1261 ['redirect_url' with --location and --max-redirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1261 ../src/curl -q --include --trace-ascii log/12/trace1261 --trace-time http://127.0.0.1:40921/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/12/stdout1261 2> log/12/stderr1261 1261: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:21.253840196 +0000 +++ log/12/check-generated 2026-10-15 19:28:21.251671282 +0000 @@ -1,6 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/10290002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -http://127.0.0.1:40921/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/12/ directory after test 1261 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/10290002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] http://127.0.0.1:40921/we/want/our/data/10290002.txt?coolsite=yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1261 ../src/curl -q --include --trace-ascii log/12/trace1261 --trace-time http://127.0.0.1:40921/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/12/stdout1261 2> log/12/stderr1261 === End of file commands.log === Start of file http_server.log 19:28:18.208713 ====> Client connect 19:28:18.208767 accept_connection 3 returned 4 19:28:18.208793 Read 93 bytes 19:28:18.208803 Process 93 bytes request 19:28:18.208818 Got request: GET /verifiedserver HTTP/1.1 19:28:18.208827 Are-we-friendly question received 19:28:18.208861 Wrote request (93 bytes) input to log/12/server.input 19:28:18.208880 Identifying ourselves as friends 19:28:18.208959 Response sent (56 bytes) and written to log/12/server.response 19:28:18.208970 special request received, no persistency 19:28:18.208978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1261 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1261 ==148807== ==148807== Process terminating with default action of signal 4 (SIGILL) ==148807== Illegal opcode at address 0x492B75F ==148807== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148807== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148807== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148807== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148807== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148807== by 0x49908EB: curl_version_info (version.c:600) ==148807== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148807== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148807== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148807== by 0x4003269: main (tool_main.c:195) === End of file valgrind1261 test 1259 [HTTP URL with semicolon in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1259 ../src/curl -q --output log/10/curl1259.out --include --trace-ascii log/10/trace1259 --trace-time "http://user:pass;word@127.0.0.1:40913/we/want/1259" > log/10/stdout1259 2> log/10/stderr1259 1259: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1259 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1259 ../src/curl -q --output log/10/curl1259.out --include --trace-ascii log/10/trace1259 --trace-time "http://user:pass;word@127.0.0.1:40913/we/want/1259" > log/10/stdout1259 2> log/10/stderr1259 === End of file commands.log === Start of file http_server.log 19:28:18.074120 ====> Client connect 19:28:18.074162 accept_connection 3 returned 4 19:28:18.078676 Read 93 bytes 19:28:18.078705 Process 93 bytes request 19:28:18.078719 Got request: GET /verifiedserver HTTP/1.1 19:28:18.078728 Are-we-friendly question received 19:28:18.092691 Wrote request (93 bytes) input to log/10/server.input 19:28:18.092734 Identifying ourselves as friends 19:28:18.117418 Response sent (56 bytes) and written to log/10/server.response 19:28:18.117440 special request received, no persistency 19:28:18.117449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 52812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1259 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1259 ==148717== ==148717== Process terminating with default action of signal 4 (SIGILL) ==148717== Illegal opcode at address 0x492B75F ==148717== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148717== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148717== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148717== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148717== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148717== by 0x49908EB: curl_version_info (version.c:600) ==148717== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148717== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148717== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148717== by 0x4003269: main (tool_main.c:195) === End of file valgrind1259 test 1262 [FTP request and denied to download an older file with -z] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1262 ../src/curl -q --output log/20/curl1262.out --include --trace-ascii log/20/trace1262 --trace-time ftp://127.0.0.1:41549/blalbla/1262 -z "-1 jan 2001" > log/20/stdout1262 2> log/20/stderr1262 1262: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1262 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1262 ../src/curl -q --output log/20/curl1262.out --include --trace-ascii log/20/trace1262 --trace-time ftp://127.0.0.1:41549/blalbla/1262 -z "-1 jan 2001" > log/20/stdout1262 2> log/20/stderr1262 === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:45467/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 nd of file commands.log === Start of file ftp_server.log 19:28:18.717488 ====> Client connect 19:28:18.717709 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:18.718115 < "USER anonymous" 19:28:18.718162 > "331 We are happy you popped in![CR][LF]" 19:28:18.718355 < "PASS ftp@example.com" 19:28:18.718387 > "230 Welcome you silly person[CR][LF]" 19:28:18.718558 < "PWD" 19:28:18.718595 > "257 "/" is current directory[CR][LF]" 19:28:18.718786 < "EPSV" 19:28:18.718814 ====> Passive DATA channel requested by client 19:28:18.718828 DATA sockfilt for passive data channel starting... 19:28:18.725421 DATA sockfilt for passive data channel started (pid 148913) 19:28:18.725570 DATA sockfilt for passive data channel listens on port 39527 19:28:18.725615 > "229 Entering Passive Mode (|||39527|)[CR][LF]" 19:28:18.725634 Client has been notified that upcoming DATA connection is awaited on port 39527 19:28:18.725930 Client connects to port 39527 19:28:18.725963 ====> Client established passive DATA connection on port 39527 19:28:18.726055 < "TYPE I" 19:28:18.726088 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:18.726250 < "SIZE verifiedserver" 19:28:18.726287 > "213 17[CR][LF]" 19:28:18.726434 < "RETR verifiedserver" 19:28:18.726465 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:18.726554 =====> Closing passive DATA connection... 19:28:18.726570 Server disconnects passive DATA connection 19:28:18.726772 Server disconnected passive DATA connection 19:28:18.726795 DATA sockfilt for passive data channel quits (pid 148913) 19:28:18.727069 DATA sockfilt for passive data channel quit (pid 148913) 19:28:18.727094 =====> Closed passive DATA connection 19:28:18.727152 > "226 File transfer complete[CR][LF]" 19:28:18.772324 < "QUIT" 19:28:18.772383 > "221 bye bye baby[CR][LF]" 19:28:18.773782 MAIN sockfilt said DISC 19:28:18.773825 ====> Client disconnected 19:28:18.773908 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:18.320675 ====> Client connect 19:28:18.321041 Received DATA (on stdin) 19:28:18.321058 > 146 bytes data, server => client 19:28:18.321070 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:18.321080 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:18.321089 '220 \___|\___/|_| \_\_____|\r\n' 19:28:18.321177 < 16 bytes data, client => server 19:28:18.321192 'USER anonymous\r\n' 19:28:18.321477 Received DATA (on stdin) 19:28:18.321489 > 33 bytes data, server => client 19:28:18.321499 '331 We are happy you popped in!\r\n' 19:28:18.321555 < 22 bytes data, client => server 19:28:18.321567 'PASS ftp@example.com\r\n' 19:28:18.321697 Received DATA (on stdin) 19:28:18.321708 > 30 bytes data, server => client 19:28:18.321717 '230 Welcome you silly person\r\n' 19:28:18.321770 < 5 bytes data, client => server 19:28:18.321782 'PWD\r\n' 19:28:18.321904 Received DATA (on stdin) 19:28:18.321916 > 30 bytes data, server => client 19:28:18.321925 '257 "/" is current directory\r\n' 19:28:18.322001 < 6 bytes data, client => server 19:28:18.322013 'EPSV\r\n' 19:28:18.328949 Received DATA (on stdin) 19:28:18.328965 > 39 bytes data, server => client 19:28:18.328976 '229 Entering Passive Mode (|||39527|)\r\n' 19:28:18.329155 < 8 bytes data, client => server 19:28:18.329169 'TYPE I\r\n' 19:28:18.329395 Received DATA (on stdin) 19:28:18.329406 > 33 bytes data, server => client 19:28:18.329416 '200 I modify TYPE as you wanted\r\n' 19:28:18.329472 < 21 bytes data, client => server 19:28:18.329483 'SIZE verifiedserver\r\n' 19:28:18.329594 Received DATA (on stdin) 19:28:18.329604 > 8 bytes data, server => client 19:28:18.329613 '213 17\r\n' 19:28:18.329664 < 21 bytes data, client => server 19:28:18.329673 'RETR verifiedserver\r\n' 19:28:18.329879 Received DATA (on stdin) 19:28:18.329889 > 29 bytes data, server => client 19:28:18.329899 '150 Binary junk (17 bytes).\r\n' 19:28:18.330407 Received DATA (on stdin) 19:28:18.330419 > 28 bytes data, server => client 19:28:18.330458 '226 File transfer complete\r\n' 19:28:18.375429 < 6 bytes data, client => server 19:28:18.375456 'QUIT\r\n' 19:28:18.375697 Received DATA (on stdin) 19:28:18.375710 > 18 bytes data, server => client 19:28:18.375720 '221 bye bye baby\r\n' 19:28:18.376774 ====> Client disconnect 19:28:18.377219 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:18.324019 Running IPv4 version 19:28:18.324181 Listening on port 39527 19:28:18.324223 Wrote pid 148913 to log/20/server/ftp_sockdata.pid 19:28:18.328653 Received PING (on stdin) 19:28:18.328774 Received PORT (on stdin) 19:28:18.329191 ====> Client connect 19:28:18.329953 Received DATA (on stdin) 19:28:18.329965 > 17 bytes data, server => client 19:28:18.329975 'WE ROOLZ: 84833\r\n' 19:28:18.330036 Received DISC (on stdin) 19:28:18.330105 ====> Client forcibly disconnected 19:28:18.330138 Received QUIT (on stdin) 19:28:18.330147 quits 19:28:18.330219 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==148985== ==148985== Process terminating with default action of signal 4 (SIGILL) ==148985== Illegal opcode at address 0x492B75F ==148985== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==148985== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==148985== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==148985== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==148985== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==148985== by 0x49908EB: curl_version_info (version.c:600) ==148985== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==148985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==148985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==148985== by 0x4003269: main (tool_main.c:195) === End of file valgrind1262 test 1266 [HTTP GET with a single-byte HTTP/0.9 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:45467/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 1266: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1266 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:45467/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 === End of file commands.log === Start of file http_server.log 19:28:19.065347 ====> Client connect 19:28:19.065396 accept_connection 3 returned 4 19:28:19.065424 Read 93 bytes 19:28:19.065434 Process 93 bytes request 19:28:19.065449 Got request: GET /verifiedserver HTTP/1.1 19:28:19.065457 Are-we-friendly question received 19:28:19.065486 Wrote request (93 bytes) input to log/14/server.input 19:28:19.065503 Identifying ourselves as friends 19:28:19.065592 Response sent (56 bytes) and written to log/14/server.response 19:28:19.065601 special request received, no persistency 19:28:19.065609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 45666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1267 ../src/curl -q --output log/8/curl1267.out --include --trace-ascii log/8/trace1267 --trace-time http://127.0.0.1:44467/1267 --http0.9 > log/8/stdout1267 2> log/8/stderr1267 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1274 ../src/curl -q --output log/21/curl1274.out --include --trace-ascii log/21/trace1274 --trace-time http://127.0.0.1:39881/1274 -D log/21/out1274 > log/21/stdout1274 2> log/21/stderr1274 onnection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1266 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1266 ==149136== ==149136== Process terminating with default action of signal 4 (SIGILL) ==149136== Illegal opcode at address 0x492B75F ==149136== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149136== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149136== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149136== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149136== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149136== by 0x49908EB: curl_version_info (version.c:600) ==149136== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149136== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149136== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149136== by 0x4003269: main (tool_main.c:195) === End of file valgrind1266 test 1269 [too large --retry-delay value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 curl returned 132, when expecting 2 1269: exit FAILED == Contents of files in the log/16/ directory after test 1269 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1269 ../src/curl -q --output log/16/curl1269.out --include --trace-ascii log/16/trace1269 --trace-time --retry 3 --retry-delay 9223372036854776 http://127.0.0.1:47/1269 > log/16/stdout1269 2> log/16/stderr1269 === End of file commands.log === Start of file server.cmd Testnum 1269 === End of file server.cmd === Start of file valgrind1269 ==149175== ==149175== Process terminating with default action of signal 4 (SIGILL) ==149175== Illegal opcode at address 0x492B75F ==149175== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149175== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149175== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149175== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149175== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149175== by 0x49908EB: curl_version_info (version.c:600) ==149175== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149175== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149175== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149175== by 0x4003269: main (tool_main.c:195) === End of file valgrind1269 test 1267 [HTTP GET with an invalid HTTP/1 response line start] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1267 ../src/curl -q --output log/8/curl1267.out --include --trace-ascii log/8/trace1267 --trace-time http://127.0.0.1:44467/1267 --http0.9 > log/8/stdout1267 2> log/8/stderr1267 1267: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1267 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1267 ../src/curl -q --output log/8/curl1267.out --include --trace-ascii log/8/trace1267 --trace-time http://127.0.0.1:44467/1267 --http0.9 > log/8/stdout1267 2> log/8/stderr1267 === End of file commands.log === Start of file http_server.log 19:28:19.225333 ====> Client connect 19:28:19.225414 accept_connection 3 returned 4 19:28:19.225438 Read 93 bytes 19:28:19.225447 Process 93 bytes request 19:28:19.225460 Got request: GET /verifiedserver HTTP/1.1 19:28:19.225468 Are-we-friendly question received 19:28:19.225528 Wrote request (93 bytes) input to log/8/server.input 19:28:19.225544 Identifying ourselves as friends 19:28:19.225614 Response sent (56 bytes) and written to log/8/server.response 19:28:19.225623 special request received, no persistency 19:28:19.225631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 36436 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd swsclose Testnum 1267 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1267 ==149232== ==149232== Process terminating with default action of signal 4 (SIGILL) ==149232== Illegal opcode at address 0x492B75F ==149232== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149232== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149232== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149232== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149232== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149232== by 0x49908EB: curl_version_info (version.c:600) ==149232== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149232== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149232== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149232== by 0x4003269: main (tool_main.c:195) === End of file valgrind1267 test 1274 [HTTP header line folding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1274 ../src/curl -q --output log/21/curl1274.out --include --trace-ascii log/21/trace1274 --trace-time http://127.0.0.1:39881/1274 -D log/21/out1274 > log/21/stdout1274 2> log/21/stderr1274 1274: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1274 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1274 ../src/curl -q --output log/21/curl1274.out --include --trace-ascii log/21/trace1274 --trace-time http://127.0.0.1:39881/1274 -D log/21/out1274 > log/21/stdout1274 2> log/21/stderr1274 === End of file commands.log === Start of file http_server.log 19:28:19.720458 ====> Client connect 19:28:19.720490 accept_connection 3 returned 4 19:28:19.720509 Read 93 bytes 19:28:19.720518 Process 93 bytes request 19:28:19.720530 Got request: GET /verifiedserver HTTP/1.1 19:28:19.720538 Are-we-friendly question received 19:28:19.720560 Wrote request (93 bytes) input to log/21/server.input 19:28:19.720575 Identifying ourselves as friends 19:28:19.720630 Response sent (56 bytes) and written to log/21/server.response 19:28:19.720638 special request received, no persistency 19:28:19.720645 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 49164 * using HTTP/1.x > CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1268 ../src/curl -q --output log/6/curl1268.out --include --trace-ascii log/6/trace1268 --trace-time --stderr log/6/moo1268 --unix-socket -q hej://moo > log/6/stdout1268 2> log/6/stderr1268 GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1274 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1274 ==149556== ==149556== Process terminating with default action of signal 4 (SIGILL) ==149556== Illegal opcode at address 0x492B75F ==149556== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149556== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149556== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149556== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149556== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149556== by 0x49908EB: curl_version_info (version.c:600) ==149556== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149556== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149556== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149556== by 0x4003269: main (tool_main.c:195) === End of file valgrind1274 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1271 ../src/curl -q --output log/7/curl1271.out --include --trace-ascii log/7/trace1271 --trace-time http://127.0.0.1:40859/we/want/our/1271 -w @log/7/blank1271 > log/7/stdout1271 2> log/7/stderr1271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1270 ../src/curl -q --include --trace-ascii log/1/trace1270 --trace-time http://127.0.0.1:38815/we/want/our/1270 -w '%{redirect_url}\n' -s > log/1/stdout1270 2> log/1/stderr1270 test 1268 [filename argument looks like a flag] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1268 ../src/curl -q --output log/6/curl1268.out --include --trace-ascii log/6/trace1268 --trace-time --stderr log/6/moo1268 --unix-socket -q hej://moo > log/6/stdout1268 2> log/6/stderr1268 1268: output (log/6/moo1268) FAILED: --- log/6/check-expected 2026-10-15 19:28:22.336417671 +0000 +++ log/6/check-generated 2026-10-15 19:28:22.335055710 +0000 @@ -1,2 +0,0 @@ -Warning: The filename argument '-q' looks like a flag.[CR][LF] -curl: (1) Protocol "hej" not supported[CR][LF] == Contents of files in the log/6/ directory after test 1268 === Start of file check-expected Warning: The filename argument '-q' looks like a flag.[CR][LF] curl: (1) Protocol "hej" not supported[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1268 ../src/curl -q --output log/6/curl1268.out --include --trace-ascii log/6/trace1268 --trace-time --stderr log/6/moo1268 --unix-socket -q hej://moo > log/6/stdout1268 2> log/6/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==149177== ==149177== Process terminating with default action of signal 4 (SIGILL) ==149177== Illegal opcode at address 0x492B75F ==149177== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149177== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149177== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149177== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149177== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149177== by 0x49908EB: curl_version_info (version.c:600) ==149177== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149177== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149177== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149177== by 0x4003269: main (tool_main.c:195) === End of file valgrind1268 test 1271 [--write-out from file with empty file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1271 ../src/curl -q --output log/7/curl1271.out --include --trace-ascii log/7/trace1271 --trace-time http://127.0.0.1:40859/we/want/our/1271 -w @log/7/blank1271 > log/7/stdout1271 2> log/7/stderr1271 1271: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1271 ../src/curl -q --output log/7/curl1271.out --include --trace-ascii log/7/trace1271 --trace-time http://127.0.0.1:40859/we/want/our/1271 -w @log/7/blank1271 > log/7/stdout1271 2> log/7/stderr1271 === End of file commands.log === Start of file http_server.log 19:28:19.577988 ====> Client connect 19:28:19.578021 accept_connection 3 returned 4 19:28:19.578041 Read 93 bytes 19:28:19.578050 Process 93 bytes request 19:28:19.578062 Got request: GET /verifiedserver HTTP/1.1 19:28:19.578069 Are-we-friendly question received 19:28:19.578133 Wrote request (93 bytes) input to log/7/server.input 19:28:19.578151 Identifying ourselves as friends 19:28:19.578218 Response sent (56 bytes) and written to log/7/server.response 19:28:19.578228 special request received, no persistency 19:28:19.578235 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 37988 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1271 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1271 ==149455== ==149455== Process terminating with default action of signal 4 (SIGILL) ==149455== Illegal opcode at address 0x492B75F ==149455== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149455== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149455== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149455== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149455== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149455== by 0x49908EB: curl_version_info (version.c:600) ==149455== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149455== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149455== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149455== by 0x4003269: main (tool_main.c:195) === End of file valgrind1271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1281 ../src/curl -q --output log/4/curl1281.out --include --trace-ascii log/4/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/4/stdout1281 2> log/4/stderr1281 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1273 ../src/curl -q --output log/19/curl1273.out --include --trace-ascii log/19/trace1273 --trace-time http://127.0.0.1:46497/1273 -C - -f > log/19/stdout1273 2> log/19/stderr1273 RUN: Process with pid 78987 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:39797/1265 > log/9/stdout1265 2> log/9/stderr1265 test 1270 [Basic 'redirect_url'] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1270 ../src/curl -q --include --trace-ascii log/1/trace1270 --trace-time http://127.0.0.1:38815/we/want/our/1270 -w '%{redirect_url}\n' -s > log/1/stdout1270 2> log/1/stderr1270 1270: stdout FAILED: --- log/1/check-expected 2026-10-15 19:28:22.627088934 +0000 +++ log/1/check-generated 2026-10-15 19:28:22.625069117 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 Captive Portal[CR][LF] -Server: ohlala/2000[CR][LF] -Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] -Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] -Location: https://moo.moo.moo[CR][LF] -Content-Type: text/html; charset=utf-8[CR][LF] -X-Frame-Options: SAMEORIGIN[CR][LF] -Strict-Transport-Security: max-age=604800[CR][LF] -Content-Length: 0[CR][LF] -Connection: close[CR][LF] -[CR][LF] -https://moo.moo.moo/[LF] == Contents of files in the log/1/ directory after test 1270 === Start of file check-expected HTTP/1.1 302 Captive Portal[CR][LF] Server: ohlala/2000[CR][LF] Date: Tue, 17 Dec 2019 13:08:30 GMT[CR][LF] Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0[CR][LF] Location: https://moo.moo.moo[CR][LF] Content-Type: text/html; charset=utf-8[CR][LF] X-Frame-Options: SAMEORIGIN[CR][LF] Strict-Transport-Security: max-age=604800[CR][LF] Content-Length: 0[CR][LF] Connection: close[CR][LF] [CR][LF] https://moo.moo.moo/[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1270 ../src/curl -q --include --trace-ascii log/1/trace1270 --trace-time http://127.0.0.1:38815/we/want/our/1270 -w '%{redirect_url}\n' -s > log/1/stdout1270 2> log/1/stderr1270 === End of file commands.log === Start of file http_server.log 19:28:20.378648 ====> Client connect 19:28:20.378697 accept_connection 3 returned 4 19:28:20.378724 Read 93 bytes 19:28:20.378734 Process 93 bytes request 19:28:20.378747 Got request: GET /verifiedserver HTTP/1.1 19:28:20.378756 Are-we-friendly question received 19:28:20.378785 Wrote request (93 bytes) input to log/1/server.input 19:28:20.378802 Identifying ourselves as friends 19:28:20.385328 Response sent (56 bytes) and written to log/1/server.response 19:28:20.385345 special request received, no persistency 19:28:20.385353 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 47292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1270 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1270 ==149359== ==149359== Process terminating with default action of signal 4 (SIGILL) ==149359== Illegal opcode at address 0x492B75F ==149359== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149359== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149359== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149359== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149359== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149359== by 0x49908EB: curl_version_info (version.c:600) ==149359== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149359== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149359== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149359== by 0x4003269: main (tool_main.c:195) === End of file valgrind1270 test 1281 [reject non-numerical port number in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1281 ../src/curl -q --output log/4/curl1281.out --include --trace-ascii log/4/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/4/stdout1281 2> log/4/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/4/ directory after test 1281 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1281 ../src/curl -q --output log/4/curl1281.out --include --trace-ascii log/4/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/4/stdout1281 2> log/4/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==149750== ==149750== Process terminating with default action of signal 4 (SIGILL) ==149750== Illegal opcode at address 0x492B75F ==149750== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149750== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149750== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149750== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149750== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149750== by 0x49908EB: curl_version_info (version.c:600) ==149750== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149750== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149750== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149750== by 0x4003269: main (tool_main.c:195) === End of file valgrind1281 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/server/http_ipv6_server.pid" --logfile "log/9/http_ipv6_server.log" --logdir "log/9" --portfile log/9/server/http_ipv6_server.port --config log/9/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 149029 port 39797 * pid http-ipv6 => 149029 149029 setenv http_proxy = http://127.0.0.1:43733 setenv NO_PROXY = ::1 test 1265 [NO_PROXY with IPv6 numerical address] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:39797/1265 > log/9/stdout1265 2> log/9/stderr1265 1265: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1265 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1265 ../src/curl -q --output log/9/curl1265.out --include --trace-ascii log/9/trace1265 --trace-time http://[::1]:39797/1265 > log/9/stdout1265 2> log/9/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 19:28:18.532645 Running HTTP IPv6 version on port 39797 19:28:18.532767 Wrote pid 149029 to log/9/server/http_ipv6_server.pid 19:28:18.532804 Wrote port 39797 to log/9/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1265 === End of file server.cmd === Start of file valgrind1265 ==149397== ==149397== Process terminating with default action of signal 4 (SIGILL) ==149397== Illegal opcode at address 0x492B75F ==149397== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149397== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149397== by 0x492BRUN: Process with pid 78987 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1286 ../src/curl -q --output log/15/curl1286.out --include --trace-ascii log/15/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:40321/1286 > log/15/stdout1286 2> log/15/stderr1286 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1285 ../src/curl -q --output log/18/curl1285.out --include --trace-ascii log/18/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/18/put1285 http://127.0.0.1:43739/1285 > log/18/stdout1285 2> log/18/stderr1285 67B: curl_msnprintf (mprintf.c:1277) ==149397== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149397== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149397== by 0x49908EB: curl_version_info (version.c:600) ==149397== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149397== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149397== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149397== by 0x4003269: main (tool_main.c:195) === End of file valgrind1265 test 1273 [-f and resume transfer of an entirely-downloaded file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1273 ../src/curl -q --output log/19/curl1273.out --include --trace-ascii log/19/trace1273 --trace-time http://127.0.0.1:46497/1273 -C - -f > log/19/stdout1273 2> log/19/stderr1273 1273: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1273 ../src/curl -q --output log/19/curl1273.out --include --trace-ascii log/19/trace1273 --trace-time http://127.0.0.1:46497/1273 -C - -f > log/19/stdout1273 2> log/19/stderr1273 === End of file commands.log === Start of file curl1273.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1273.out === Start of file http_server.log 19:28:19.734607 ====> Client connect 19:28:19.734640 accept_connection 3 returned 4 19:28:19.735694 Read 93 bytes 19:28:19.735713 Process 93 bytes request 19:28:19.735726 Got request: GET /verifiedserver HTTP/1.1 19:28:19.735735 Are-we-friendly question received 19:28:19.735773 Wrote request (93 bytes) input to log/19/server.input 19:28:19.735791 Identifying ourselves as friends 19:28:19.735856 Response sent (56 bytes) and written to log/19/server.response 19:28:19.735867 special request received, no persistency 19:28:19.735875 ====> Client disconnect 0 19:28:22.250352 signalled to die 19:28:22.250485 ========> exit message: exit_signal_handler(): triggered 19:28:22.250497 ========> IPv4 sws (port 46497 pid: 78987) exits with signal (15) 19:28:22.250509 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46497... * Established connection to 127.0.0.1 (127.0.0.1 port 46497) from 127.0.0.1 port 58004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46497 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46497 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78987 === End of file http_verify.out === Start of file server.cmd Testnum 1273 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78987 === End of file server.response === Start of file valgrind1273 ==149555== ==149555== Process terminating with default action of signal 4 (SIGILL) ==149555== Illegal opcode at address 0x492B75F ==149555== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149555== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149555== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149555== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149555== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149555== by 0x49908EB: curl_version_info (version.c:600) ==149555== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149555== by 0x4003269: main (tool_main.c:195) === End of file valgrind1273 test 1286 [HTTP GET --digest increasing nonce-count] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1286 ../src/curl -q --output log/15/curl1286.out --include --trace-ascii log/15/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:40321/1286 > log/15/stdout1286 2> log/15/stderr1286 1286: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1286 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1286 ../src/curl -q --output log/15/curl1286.out --include --trace-ascii log/15/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:40321/1286 > log/15/stdout1286 2> log/15/stderr1286 === End of file commands.log === Start of file http_server.log 19:28:21.538673 ====> Client connect 19:28:21.538711 accept_connection 3 returned 4 19:28:21.538815 Read 93 bytes 19:28:21.538832 Process 93 bytes request 19:28:21.538847 Got request: GET /verifiedserver HTTP/1.1 19:28:21.538857 Are-we-friendly question received 19:28:21.538887 Wrote request (93 bytes) input to log/15/server.input 19:28:21.538906 Identifying ourselves as friends 19:28:21.538975 Response sent (56 bytes) and written to log/15/server.response 19:28:21.538988 special request received, no persistency 19:28:21.538997 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 44378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1286 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1286 ==150145== ==150145== Process terminating with default action of signal 4 (SIGILL) ==150145== Illegal opcode at address 0x492B75F ==150145== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150145== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150145== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150145== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150145== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150145== by 0x49908EB: curl_version_info (version.c:600) ==150145== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150145== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150145== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150145== by 0x4003269: main (tool_main.c:195) === End of file valgrind1286 test 1285 [HTTP PUT --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1285 ../src/curl -q --output log/18/curl1285.out --include --trace-ascii log/18/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/18/put1285 http://127.0.0.1:43739/1285 > log/18/stdout1285 2> log/18/stderr1285 1285: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1285 === Start of file commands.log ../libtool --mode=execute CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1283 ../src/curl -q --include --trace-ascii log/22/trace1283 --trace-time http://127.0.0.1:35989/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/22/outfile1283_#1#2#3#4.dump" > log/22/stdout1283 2> log/22/stderr1283 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1277 ../src/curl -q --output log/5/curl1277.out --include --trace-ascii log/5/trace1277 --trace-time http://127.0.0.1:37089/1277 --tr-encoding --compressed > log/5/stdout1277 2> log/5/stderr1277 /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1285 ../src/curl -q --output log/18/curl1285.out --include --trace-ascii log/18/trace1285 --trace-time -H "Content-Length: 85" -u auser:apasswd --digest -T log/18/put1285 http://127.0.0.1:43739/1285 > log/18/stdout1285 2> log/18/stderr1285 === End of file commands.log === Start of file http_server.log 19:28:21.503748 ====> Client connect 19:28:21.503799 accept_connection 3 returned 4 19:28:21.503832 Read 93 bytes 19:28:21.503841 Process 93 bytes request 19:28:21.503854 Got request: GET /verifiedserver HTTP/1.1 19:28:21.503862 Are-we-friendly question received 19:28:21.503887 Wrote request (93 bytes) input to log/18/server.input 19:28:21.503903 Identifying ourselves as friends 19:28:21.503962 Response sent (56 bytes) and written to log/18/server.response 19:28:21.503971 special request received, no persistency 19:28:21.503978 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 37106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file put1285 This is data we upload with PUT a second line line three four is the number of lines === End of file put1285 === Start of file server.cmd Testnum 1285 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1285 ==150100== ==150100== Process terminating with default action of signal 4 (SIGILL) ==150100== Illegal opcode at address 0x492B75F ==150100== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150100== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150100== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150100== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150100== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150100== by 0x49908EB: curl_version_info (version.c:600) ==150100== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150100== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150100== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150100== by 0x4003269: main (tool_main.c:195) === End of file valgrind1285 test 1283 [globbing range with same start and stop] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1283 ../src/curl -q --include --trace-ascii log/22/trace1283 --trace-time http://127.0.0.1:35989/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/22/outfile1283_#1#2#3#4.dump" > log/22/stdout1283 2> log/22/stderr1283 1283: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1283 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1283 ../src/curl -q --include --trace-ascii log/22/trace1283 --trace-time http://127.0.0.1:35989/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/22/outfile1283_#1#2#3#4.dump" > log/22/stdout1283 2> log/22/stderr1283 === End of file commands.log === Start of file http_server.log 19:28:20.435286 ====> Client connect 19:28:20.435335 accept_connection 3 returned 4 19:28:20.435365 Read 93 bytes 19:28:20.435378 Process 93 bytes request 19:28:20.435392 Got request: GET /verifiedserver HTTP/1.1 19:28:20.435402 Are-we-friendly question received 19:28:20.435437 Wrote request (93 bytes) input to log/22/server.input 19:28:20.435457 Identifying ourselves as friends 19:28:20.438618 Response sent (56 bytes) and written to log/22/server.response 19:28:20.438634 special request received, no persistency 19:28:20.438644 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 43104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1283 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1283 ==149996== ==149996== Process terminating with default action of signal 4 (SIGILL) ==149996== Illegal opcode at address 0x492B75F ==149996== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149996== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149996== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149996== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149996== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149996== by 0x49908EB: curl_version_info (version.c:600) ==149996== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149996== by 0x4003269: main (tool_main.c:195) === End of file valgrind1283 test 1277 [HTTP GET with both content and transfer encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1277 ../src/curl -q --output log/5/curl1277.out --include --trace-ascii log/5/trace1277 --trace-time http://127.0.0.1:37089/1277 --tr-encoding --compressed > log/5/stdout1277 2> log/5/stderr1277 1277: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1277 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1277 ../src/curl -q --output log/5/curl1277.out --include --trace-ascii log/5/trace1277 --trace-time http://127.0.0.1:37089/1277 --tr-encoding --compressed > log/5/stdout1277 2> log/5/stderr1277 === End of file commands.log === Start of file http_server.log 19:28:20.085279 ====> Client connect 19:28:20.085317 accept_connection 3 returned 4 19:28:20.088541 Read 93 bytes 19:28:20.088562 Process 93 bytes request 19:28:20.088575 Got request: GET /verifiedserver HTTP/1.1 19:28:20.088583 Are-we-friendly question received 19:28:20.088619 Wrote request (93 bytes) input to log/5/server.input 19:28:20.088636 Identifying ourselves as friends 19:28:20.088702 Response sent (56 bytes) and written to log/5/server.response 19:28:20.088712 special request received, no persistency 19:28:20.088719 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 57398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1282 ../src/curl -q --output log/24/curl1282.out --include --trace-ascii log/24/trace1282 --trace-time ftp://127.0.0.1:37215/1282 > log/24/stdout1282 2> log/24/stderr1282 ify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1277 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1277 ==149726== ==149726== Process terminating with default action of signal 4 (SIGILL) ==149726== Illegal opcode at address 0x492B75F ==149726== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149726== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149726== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149726== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149726== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149726== by 0x49908EB: curl_version_info (version.c:600) ==149726== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149726== by 0x4003269: main (tool_main.c:195) === End of file valgrind1277 test 1282 [FTP with 633 response to auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1282 ../src/curl -q --output log/24/curl1282.out --include --trace-ascii log/24/trace1282 --trace-time ftp://127.0.0.1:37215/1282 > log/24/stdout1282 2> log/24/stderr1282 1282: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1282 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1282 ../src/curl -q --output log/24/curl1282.out --include --trace-ascii log/24/trace1282 --trace-time ftp://127.0.0.1:37215/1282 > log/24/stdout1282 2> log/24/stderr1282 === End of file commands.log === Start of file ftp_server.log 19:28:20.782970 ====> Client connect 19:28:20.783145 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:20.783431 < "USER anonymous" 19:28:20.783465 > "331 We are happy you popped in![CR][LF]" 19:28:20.783620 < "PASS ftp@example.com" 19:28:20.783644 > "230 Welcome you silly person[CR][LF]" 19:28:20.783774 < "PWD" 19:28:20.783802 > "257 "/" is current directory[CR][LF]" 19:28:20.783936 < "EPSV" 19:28:20.783957 ====> Passive DATA channel requested by client 19:28:20.783968 DATA sockfilt for passive data channel starting... 19:28:20.785836 DATA sockfilt for passive data channel started (pid 149953) 19:28:20.785946 DATA sockfilt for passive data channel listens on port 38195 19:28:20.786174 > "229 Entering Passive Mode (|||38195|)[CR][LF]" 19:28:20.786198 Client has been notified that upcoming DATA connection is awaited on port 38195 19:28:20.786254 Client connects to port 38195 19:28:20.786275 ====> Client established passive DATA connection on port 38195 19:28:20.786345 < "TYPE I" 19:28:20.786478 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:20.786530 < "SIZE verifiedserver" 19:28:20.786652 > "213 17[CR][LF]" 19:28:20.786696 < "RETR verifiedserver" 19:28:20.786794 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:20.786898 =====> Closing passive DATA connection... 19:28:20.786913 Server disconnects passive DATA connection 19:28:20.787033 Server disconnected passive DATA connection 19:28:20.787054 DATA sockfilt for passive data channel quits (pid 149953) 19:28:20.787251 DATA sockfilt for passive data channel quit (pid 149953) 19:28:20.787270 =====> Closed passive DATA connection 19:28:20.787337 > "226 File transfer complete[CR][LF]" 19:28:20.829497 < "QUIT" 19:28:20.829555 > "221 bye bye baby[CR][LF]" 19:28:20.830788 MAIN sockfilt said DISC 19:28:20.830830 ====> Client disconnected 19:28:20.830906 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:21.386059 ====> Client connect 19:28:21.386361 Received DATA (on stdin) 19:28:21.386375 > 146 bytes data, server => client 19:28:21.386384 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:21.386393 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:21.386400 '220 \___|\___/|_| \_\_____|\r\n' 19:28:21.386498 < 16 bytes data, client => server 19:28:21.386509 'USER anonymous\r\n' 19:28:21.386670 Received DATA (on stdin) 19:28:21.386679 > 33 bytes data, server => client 19:28:21.386688 '331 We are happy you popped in!\r\n' 19:28:21.386738 < 22 bytes data, client => server 19:28:21.386747 'PASS ftp@example.com\r\n' 19:28:21.386845 Received DATA (on stdin) 19:28:21.386854 > 30 bytes data, server => client 19:28:21.386863 '230 Welcome you silly person\r\n' 19:28:21.386905 < 5 bytes data, client => server 19:28:21.386913 'PWD\r\n' 19:28:21.387002 Received DATA (on stdin) 19:28:21.387011 > 30 bytes data, server => client 19:28:21.387019 '257 "/" is current directory\r\n' 19:28:21.387069 < 6 bytes data, client => server 19:28:21.387077 'EPSV\r\n' 19:28:21.389161 Received DATA (on stdin) 19:28:21.389173 > 39 bytes data, server => client 19:28:21.389189 '229 Entering Passive Mode (|||38195|)\r\n' 19:28:21.389313 < 8 bytes data, client => server 19:28:21.389326 'TYPE I\r\n' 19:28:21.389556 Received DATA (on stdin) 19:28:21.389567 > 33 bytes data, server => client 19:28:21.389583 '200 I modify TYPE as you wanted\r\n' 19:28:21.389633 < 21 bytes data, client => server 19:28:21.389644 'SIZE verifiedserver\r\n' 19:28:21.389745 Received DATA (on stdin) 19:28:21.389754 > 8 bytes data, server => client 19:28:21.389768 '213 17\r\n' 19:28:21.389812 < 21 bytes data, client => server 19:28:21.389821 'RETR verifiedserver\r\n' 19:28:21.389907 Received DATA (on stdin) 19:28:21.389916 > 29 bytes data, server => client 19:28:21.389930 '150 Binary junk (17 bytes).\r\n' 19:28:21.390477 Received DATA (on stdin) 19:28:21.390488 > 28 bytes data, server => client 19:28:21.390502 '226 File transfer complete\r\n' 19:28:21.432507 < 6 bytes data, client => server 19:28:21.432533 'QUIT\r\n' 19:28:21.432767 Received DATA (on stdin) 19:28:21.432781 > 18 bytes data, server => client 19:28:21.432791 '221 bye bye baby\r\n' 19:28:21.433933 ====> Client disconnect 19:28:21.434110 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:20.388865 Running IPv4 version 19:28:20.388928 Listening on port 38195 19:28:20.388968 Wrote pid 149953 to log/24/server/ftp_sockdata.pid 19:28:20.388986 Received PING (on stdin) 19:28:20.389064 Received PORT (on stdin) 19:28:20.389413 ====> Client connect 19:28:20.390006 Received DATA (on stdin) 19:28:20.390017 > 17 bytes data, server => client 19:28:20.390115 'WE ROOLZ: 85113\r\n' 19:28:20.390173 Received DISC (on stdin) 19:28:20.390183 ====> Client forcibly disconnected 19:28:20.390254 Received QUIT (on stdin) 19:28:20.390262 quits 19:28:20.390321 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 633 XXXXXXXXXXXXXXXX Testnum 1282 === End of file server.cmd === Start of file valgrind1282 ==149995== ==149995== Process terminating with default action of signal 4 (SIGILL) ==149995== Illegal opcode at address 0x492B75F ==149995== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149995== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149995== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149995== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149995== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149995== by 0x49908EB: curl_version_info (version.c:600) ==149995== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149995== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149995== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149995== CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1290 ../src/curl -q --output log/12/curl1290.out --include --trace-ascii log/12/trace1290 --trace-time "http://127.0.0.1:40921/we/want/[]/page/1290" > log/12/stdout1290 2> log/12/stderr1290 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1289 ../src/curl -q --output log/23/curl1289.out --include --trace-ascii log/23/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/23/stdout1289 2> log/23/stderr1289 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1280 ../src/curl -q --output log/17/curl1280.out --include --trace-ascii log/17/trace1280 --trace-time http://127.0.0.1:35993/[a-d]/1280 > log/17/stdout1280 2> log/17/stderr1280 by 0x4003269: main (tool_main.c:195) === End of file valgrind1282 test 1290 [Verify URL globbing ignores []] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1290 ../src/curl -q --output log/12/curl1290.out --include --trace-ascii log/12/trace1290 --trace-time "http://127.0.0.1:40921/we/want/[]/page/1290" > log/12/stdout1290 2> log/12/stderr1290 1290: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1290 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1290 ../src/curl -q --output log/12/curl1290.out --include --trace-ascii log/12/trace1290 --trace-time "http://127.0.0.1:40921/we/want/[]/page/1290" > log/12/stdout1290 2> log/12/stderr1290 === End of file commands.log === Start of file http_server.log 19:28:20.916968 ====> Client connect 19:28:20.917013 accept_connection 3 returned 4 19:28:20.917117 Read 93 bytes 19:28:20.917133 Process 93 bytes request 19:28:20.917148 Got request: GET /verifiedserver HTTP/1.1 19:28:20.917158 Are-we-friendly question received 19:28:20.917190 Wrote request (93 bytes) input to log/12/server.input 19:28:20.917207 Identifying ourselves as friends 19:28:20.917277 Response sent (56 bytes) and written to log/12/server.response 19:28:20.917289 special request received, no persistency 19:28:20.917299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 38448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1290 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1290 ==150397== ==150397== Process terminating with default action of signal 4 (SIGILL) ==150397== Illegal opcode at address 0x492B75F ==150397== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150397== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150397== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150397== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150397== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150397== by 0x49908EB: curl_version_info (version.c:600) ==150397== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150397== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150397== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150397== by 0x4003269: main (tool_main.c:195) === End of file valgrind1290 test 1289 [globbing with overflow and bad syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1289 ../src/curl -q --output log/23/curl1289.out --include --trace-ascii log/23/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/23/stdout1289 2> log/23/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/23/ directory after test 1289 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1289 ../src/curl -q --output log/23/curl1289.out --include --trace-ascii log/23/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/23/stdout1289 2> log/23/stderr1289 === End of file commands.log === Start of file http_server.log 19:28:20.698540 ====> Client connect 19:28:20.698579 accept_connection 3 returned 4 19:28:20.698601 Read 93 bytes 19:28:20.698611 Process 93 bytes request 19:28:20.698623 Got request: GET /verifiedserver HTTP/1.1 19:28:20.698632 Are-we-friendly question received 19:28:20.698661 Wrote request (93 bytes) input to log/23/server.input 19:28:20.698681 Identifying ourselves as friends 19:28:20.698750 Response sent (56 bytes) and written to log/23/server.response 19:28:20.698762 special request received, no persistency 19:28:20.698771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 42190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1289 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1289 ==150277== ==150277== Process terminating with default action of signal 4 (SIGILL) ==150277== Illegal opcode at address 0x492B75F ==150277== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150277== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150277== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150277== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150277== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150277== by 0x49908EB: curl_version_info (version.c:600) ==150277== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150277== by 0x4003269: main (tool_main.c:195) === End of file valgrind1289 test 1280 [simple [a-d] globbing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1280 ../src/curl -q --output log/17/curl1280.out --include --trace-ascii log/17/trace1280 --trace-time http://127.0.0.1:35993/[a-d]/1280 > log/17/stdout1280 2> log/17/stderr1280 1280: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1280 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1280 ../src/curl -q --output log/17/curl1280.out --include --trace-ascii log/17/trace1280 --trace-time http://127.0.0.1:35993/[a-d]/1280 > log/17/stdout1280 2> log/17/stderr1280 === End of file commands.log === Start of file http_server.log 19:28:21.181128 ====> Client connect 19:28:21.181168 accept_connection 3 returned 4 19:28:21.181192 Read 93 bytes 19:28:21.181204 Process 93 bytes request 19:28:21.181217 Got request: GET /verifiedserver HTTP/1.1 19:28:21.181227 Are-we-friendly question received 19:28:21.181288 Wrote request (93 bytes) input to log/17/server.input 19:28:21.181309 Identifying ourselves as friends 19:28:21.181383 Response sent (56 bytes) and written to log/17/server.response 19:28:21.181395 special request received, no persistency 19:28:21.181404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established conCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1300 ./unit/units unit1300 - > log/7/stdout1300 2> log/7/stderr1300 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1278 ../src/curl -q --include --trace-ascii log/13/trace1278 --trace-time http://127.0.0.1:38821/1278 --no-progress-meter -o log/13/out1278 --no-remote-name -w '%{stderr}yes\n' > log/13/stdout1278 2> log/13/stderr1278 nection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 35170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1280 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1280 ==149811== ==149811== Process terminating with default action of signal 4 (SIGILL) ==149811== Illegal opcode at address 0x492B75F ==149811== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149811== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149811== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149811== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149811== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149811== by 0x49908EB: curl_version_info (version.c:600) ==149811== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149811== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149811== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149811== by 0x4003269: main (tool_main.c:195) === End of file valgrind1280 test 1300 [llist unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1300 ./unit/units unit1300 - > log/7/stdout1300 2> log/7/stderr1300 units returned 132, when expecting 0 1300: exit FAILED == Contents of files in the log/7/ directory after test 1300 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1300 ./unit/units unit1300 - > log/7/stdout1300 2> log/7/stderr1300 === End of file commands.log === Start of file server.cmd Testnum 1300 === End of file server.cmd === Start of file valgrind1300 ==150903== ==150903== Process terminating with default action of signal 4 (SIGILL) ==150903== Illegal opcode at address 0x4091F7F ==150903== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==150903== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==150903== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==150903== by 0x400B1A9: main (first.c:264) === End of file valgrind1300 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1284 ../src/curl -q --output log/3/curl1284.out --include --trace-ascii log/3/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36161/1284 > log/3/stdout1284 2> log/3/stderr1284 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1292 ../src/curl -q --output log/20/curl1292.out --include --trace-ascii log/20/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33897/1292 > log/20/stdout1292 2> log/20/stderr1292 test 1278 [verify extra --no-remote-name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1278 ../src/curl -q --include --trace-ascii log/13/trace1278 --trace-time http://127.0.0.1:38821/1278 --no-progress-meter -o log/13/out1278 --no-remote-name -w '%{stderr}yes\n' > log/13/stdout1278 2> log/13/stderr1278 1278: stderr FAILED: --- log/13/check-expected 2026-10-15 19:28:23.600239745 +0000 +++ log/13/check-generated 2026-10-15 19:28:23.599143209 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/13/ directory after test 1278 === Start of file check-expected yes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1278 ../src/curl -q --include --trace-ascii log/13/trace1278 --trace-time http://127.0.0.1:38821/1278 --no-progress-meter -o log/13/out1278 --no-remote-name -w '%{stderr}yes\n' > log/13/stdout1278 2> log/13/stderr1278 === End of file commands.log === Start of file http_server.log 19:28:20.098589 ====> Client connect 19:28:20.098628 accept_connection 3 returned 4 19:28:20.098650 Read 93 bytes 19:28:20.098660 Process 93 bytes request 19:28:20.098673 Got request: GET /verifiedserver HTTP/1.1 19:28:20.098681 Are-we-friendly question received 19:28:20.098709 Wrote request (93 bytes) input to log/13/server.input 19:28:20.098726 Identifying ourselves as friends 19:28:20.098799 Response sent (56 bytes) and written to log/13/server.response 19:28:20.098810 special request received, no persistency 19:28:20.098819 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1278 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1278 ==149740== ==149740== Process terminating with default action of signal 4 (SIGILL) ==149740== Illegal opcode at address 0x492B75F ==149740== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==149740== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==149740== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==149740== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==149740== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==149740== by 0x49908EB: curl_version_info (version.c:600) ==149740== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==149740== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==149740== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==149740== by 0x4003269: main (tool_main.c:195) === End of file valgrind1278 test 1284 [HTTP POST --digest with user-specified Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1284 ../src/curl -q --output log/3/curl1284.out --include --trace-ascii log/3/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36161/1284 > log/3/stdout1284 2> log/3/stderr1284 1284: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1284 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1284 ../src/curl -q --output log/3/curl1284.out --include --trace-ascii log/3/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:36161/1284 > log/3/stdout1284 2> log/3/stderr1284 === End of file commands.log === Start of file http_server.log 19:28:21.444179 ====> Client connect 19:28:21.444218 accept_connection 3 returned 4 19:28:21.444245 Read 93 bytes 19:28:21.444256 Process 93 bytes request 19:28:21.444269 Got request: GET /verifiedserver HTTP/1.1 19:28:21.444279 Are-we-friendly question received 19:28:21.444313 Wrote request (93 bytes) input to log/3/server.input 19:28:21.444333 Identifying ourselves as friends 19:28:21.444415 Response sent (56 bytes) and written to log/3/server.response 19:28:21.444426 special request received, no persistency 19:28:21.444435 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 60052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1284 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1284 ==150084== ==150084== Process terminating with default action of signal 4 (SIGILL) ==150084== Illegal opcode at address 0x492B75F ==150084== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150084== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150084== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150084== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150084== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150084== by 0x49908EB: curl_version_info (version.c:600) ==150084== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150084== by 0x4003269: main (tool_main.c:195) === End of file valgrind1284 test 1292 [Replaced internal headers with a blank one] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1292 ../src/curl -q --output log/20/curl1292.out --include --trace-ascii log/20/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33897/1292 > log/20/stdout1292 2> log/20/stderr1292 1292: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1292 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1292 ../src/curl -q --output log/20/curl1292.out --include --trace-ascii log/20/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:33897/1292 > log/20/stdout1292 2> log/20/stderr1292 === End of file commands.log === Start of file http_server.log 19:28:21.107310 ====> Client connect 19:28:21.107347 accept_connection 3 returned 4 19:28:21.107370 Read 93 bytes 19:28:21.107380 Process 93 bytes request 19:28:21.107394 Got request: GET /verifiedserver HTTP/1.1 19:28:21.107402 Are-we-friendly question received 19:28:21.107431 Wrote request (93 bytes) input to lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1293 ../src/curl -q --output log/14/curl1293.out --include --trace-ascii log/14/trace1293 --trace-time http://0 http://127.0.0.1:45467/1293 -F= > log/14/stdout1293 2> log/14/stderr1293 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1302 ./unit/units unit1302 - > log/4/stdout1302 2> log/4/stderr1302 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1301 ./libtest/libtests lib1301 - > log/1/stdout1301 2> log/1/stderr1301 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1291 ../src/curl -q --output log/10/curl1291.out --include --trace-ascii log/10/trace1291 --trace-time -K log/10/cmd1291 --fail-early > log/10/stdout1291 2> log/10/stderr1291 og/20/server.input 19:28:21.107450 Identifying ourselves as friends 19:28:21.107519 Response sent (56 bytes) and written to log/20/server.response 19:28:21.107531 special request received, no persistency 19:28:21.107539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 37248 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1292 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1292 ==150503== ==150503== Process terminating with default action of signal 4 (SIGILL) ==150503== Illegal opcode at address 0x492B75F ==150503== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150503== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150503== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150503== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150503== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150503== by 0x49908EB: curl_version_info (version.c:600) ==150503== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150503== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150503== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150503== by 0x4003269: main (tool_main.c:195) === End of file valgrind1292 test 1293 [Multipart formpost to two URLs, the first failing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1293 ../src/curl -q --output log/14/curl1293.out --include --trace-ascii log/14/trace1293 --trace-time http://0 http://127.0.0.1:45467/1293 -F= > log/14/stdout1293 2> log/14/stderr1293 1293: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1293 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1293 ../src/curl -q --output log/14/curl1293.out --include --trace-ascii log/14/trace1293 --trace-time http://0 http://127.0.0.1:45467/1293 -F= > log/14/stdout1293 2> log/14/stderr1293 === End of file commands.log === Start of file http_server.log 19:28:21.555213 ====> Client connect 19:28:21.555250 accept_connection 3 returned 4 19:28:21.568654 Read 93 bytes 19:28:21.568683 Process 93 bytes request 19:28:21.568698 Got request: GET /verifiedserver HTTP/1.1 19:28:21.568706 Are-we-friendly question received 19:28:21.568759 Wrote request (93 bytes) input to log/14/server.input 19:28:21.568783 Identifying ourselves as friends 19:28:21.568854 Response sent (56 bytes) and written to log/14/server.response 19:28:21.568865 special request received, no persistency 19:28:21.568873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 37332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1293 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1293 ==150639== ==150639== Process terminating with default action of signal 4 (SIGILL) ==150639== Illegal opcode at address 0x492B75F ==150639== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150639== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150639== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150639== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150639== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150639== by 0x49908EB: curl_version_info (version.c:600) ==150639== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150639== by 0x4003269: main (tool_main.c:195) === End of file valgrind1293 test 1302 [base64 encode/decode unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1302 ./unit/units unit1302 - > log/4/stdout1302 2> log/4/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/4/ directory after test 1302 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1302 ./unit/units unit1302 - > log/4/stdout1302 2> log/4/stderr1302 === End of file commands.log === Start of file server.cmd Testnum 1302 === End of file server.cmd === Start of file valgrind1302 ==151085== ==151085== Process terminating with default action of signal 4 (SIGILL) ==151085== Illegal opcode at address 0x4091F7F ==151085== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151085== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151085== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151085== by 0x400B1A9: main (first.c:264) === End of file valgrind1302 test 1301 [curl_strequal tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1301 ./libtest/libtests lib1301 - > log/1/stdout1301 2> log/1/stderr1301 libtests returned 132, when expecting 0 1301: exit FAILED == Contents of files in the log/1/ directory after test 1301 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1301 ./libtest/libtests lib1301 - > log/1/stdout1301 2> log/1/stderr1301 === End of file commands.log === Start of file server.cmd Testnum 1301 === End of file server.cmd === Start of file valgrind1301 ==151094== ==151094== Process terminating with default action of signal 4 (SIGILL) ==151094== Illegal opcode at address 0x51CC63F ==151094== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==151094== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==151094== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==151094== by 0x40041AF: main (first.c:264) === End of file valgrind1301 prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/10/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/10/cmd1291; test 1291 [Attempt to upload 1000 files but fail immediately] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1291 ../src/curl -q --output log/10/curl1291.out --include --trace-ascii log/10/trace1291 --trace-time -K log/10/cmd1291 --fail-early > log/10/stdout1291 2> log/10/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/10/ directory after test 1291 === Start of file cmd1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this === File too long: 599 lines omitted here upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/uploaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1304 ./unit/units unit1304 log/19/netrc1304 > log/19/stdout1304 2> log/19/stderr1304 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:35903/1296 > log/16/stdout1296 2> log/16/stderr1296 d/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/10/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 === End of file cmd1291 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1291 ../src/curl -q --output log/10/curl1291.out --include --trace-ascii log/10/trace1291 --trace-time -K log/10/cmd1291 --fail-early > log/10/stdout1291 2> log/10/stderr1291 === End of file commands.log === Start of file server.cmd Testnum 1291 === End of file server.cmd === Start of file upload-this XXXXXXXx === End of file upload-this === Start of file valgrind1291 ==150391== ==150391== Process terminating with default action of signal 4 (SIGILL) ==150391== Illegal opcode at address 0x492B75F ==150391== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150391== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150391== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150391== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150391== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150391== by 0x49908EB: curl_version_info (version.c:600) ==150391== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150391== by 0x4003269: main (tool_main.c:195) === End of file valgrind1291 test 1304 [netrc parsing unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1304 ./unit/units unit1304 log/19/netrc1304 > log/19/stdout1304 2> log/19/stderr1304 units returned 132, when expecting 0 1304: exit FAILED == Contents of files in the log/19/ directory after test 1304 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1304 ./unit/units unit1304 log/19/netrc1304 > log/19/stdout1304 2> log/19/stderr1304 === End of file commands.log === Start of file netrc1304 machine example.com login admin password passwd machine curl.example.com login none password none === End of file netrc1304 === Start of file server.cmd Testnum 1304 === End of file server.cmd === Start of file valgrind1304 ==151162== ==151162== Process terminating with default action of signal 4 (SIGILL) ==151162== Illegal opcode at address 0x4091F7F ==151162== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151162== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151162== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151162== by 0x400B1A9: main (first.c:264) === End of file valgrind1304 test 1296 [HTTP URL with %0a in name part] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:35903/1296 > log/16/stdout1296 2> log/16/stderr1296 1296: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1296 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:35903/1296 > log/16/stdout1296 2> log/16/stderr1296 === End of file commands.log === Start of file http_server.log 19:28:22.561200 ====> Client connect 19:28:22.561240 accept_connection 3 returned 4 19:28:22.561261 Read 93 bytes 19:28:22.561270 Process 93 bytes request 19:28:22.561283 Got request: GET /verifiedserver HTTP/1.1 19:28:22.561291 Are-we-friendly question received 19:28:22.561319 Wrote request (93 bytes) input to log/16/server.input 19:28:22.561335 Identifying ourselves as friends 19:28:22.561395 Response sent (56 bytes) and written to log/16/server.response 19:28:22.561404 special request received, no persistency 19:28:22.561412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 33374 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1296 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1296 ==150617== ==150617== Process terminating with default action of signal 4 (SIGILL) ==150617== Illegal opcode at address 0x492B75F ==150617== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150617== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150617== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150617== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150617== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150617== by 0x49908EB: curl_version_info (version.c:600) ==150617== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150617== by 0x4003269: UnknownInlinedFCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1303 ./unit/units unit1303 - > log/9/stdout1303 2> log/9/stderr1303 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1306 ./unit/units unit1305 - > log/18/stdout1306 2> log/18/stderr1306 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1305 ./unit/units unit1305 1305 > log/15/stdout1305 2> log/15/stderr1305 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1288 ../src/curl -q --include --trace-ascii log/11/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:39335 http://127.0.0.1:40989/we/want/that/page/1288 > log/11/stdout1288 2> log/11/stderr1288 un (tool_cfgable.c:339) ==150617== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150617== by 0x4003269: main (tool_main.c:195) === End of file valgrind1296 test 1303 [Curl_timeleft_ms unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1303 ./unit/units unit1303 - > log/9/stdout1303 2> log/9/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/9/ directory after test 1303 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1303 ./unit/units unit1303 - > log/9/stdout1303 2> log/9/stderr1303 === End of file commands.log === Start of file server.cmd Testnum 1303 === End of file server.cmd === Start of file valgrind1303 ==151092== ==151092== Process terminating with default action of signal 4 (SIGILL) ==151092== Illegal opcode at address 0x4091F7F ==151092== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151092== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151092== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151092== by 0x400B1A9: main (first.c:264) === End of file valgrind1303 test 1305 [internal hash create/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1305 ./unit/units unit1305 1305 > log/15/stdout1305 2> log/15/stderr1305 units returned 132, when expecting 0 1305: exit FAILED == Contents of files in the log/15/ directory after test 1305 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1305 ./unit/units unit1305 1305 > log/15/stdout1305 2> log/15/stderr1305 === End of file commands.log === Start of file server.cmd Testnum 1305 === End of file server.cmd === Start of file valgrind1305 ==151248== ==151248== Process terminating with default action of signal 4 (SIGILL) ==151248== Illegal opcode at address 0x4091F7F ==151248== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151248== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151248== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151248== by 0x400B1A9: main (first.c:264) === End of file valgrind1305 test 1306 [internal hash create/add/destroy testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1306 ./unit/units unit1305 - > log/18/stdout1306 2> log/18/stderr1306 units returned 132, when expecting 0 1306: exit FAILED == Contents of files in the log/18/ directory after test 1306 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1306 ./unit/units unit1305 - > log/18/stdout1306 2> log/18/stderr1306 === End of file commands.log === Start of file server.cmd Testnum 1306 === End of file server.cmd === Start of file valgrind1306 ==151264== ==151264== Process terminating with default action of signal 4 (SIGILL) ==151264== Illegal opcode at address 0x4091F7F ==151264== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151264== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151264== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151264== by 0x400B1A9: main (first.c:264) === End of file valgrind1306 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1308 ./libtest/libtests lib1308 log/22/test-1308 > log/22/stdout1308 2> log/22/stderr1308 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1287 ../src/curl -q --output log/2/curl1287.out --include --trace-ascii log/2/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37607 http://test.1287:34531/we/want/that/page/1287 > log/2/stdout1287 2> log/2/stderr1287 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/11/server/http2_server.pid" --logfile "log/11/http2_server.log" --logdir "log/11" --portfile log/11/server/http2_server.port --config log/11/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150163 port 39335 * pid http-proxy => 150163 150163 test 1288 [Suppress proxy CONNECT response headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1288 ../src/curl -q --include --trace-ascii log/11/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:39335 http://127.0.0.1:40989/we/want/that/page/1288 > log/11/stdout1288 2> log/11/stderr1288 1288: stdout FAILED: --- log/11/check-expected 2026-10-15 19:28:24.596996960 +0000 +++ log/11/check-generated 2026-10-15 19:28:24.596023681 +0000 @@ -1,20 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -Funny-head: yesyes[CR][LF] -Content-Length: 9[CR][LF] -Content-Length: 9[CR][LF] -Connection: keep-alive[CR][LF] -Connection: keep-alive[CR][LF] -[CR][LF] -[CR][LF] -contents[LF] -[LF] -CONNECT CODE: 200[LF] -RECEIVED HEADER BYTE TOTAL: 231[LF] == Contents of files in the log/11/ directory after test 1288 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] Funny-head: yesyes[CR][LF] Content-Length: 9[CR][LF] Content-Length: 9[CR][LF] Connection: keep-alive[CR][LF] Connection: keep-alive[CR][LF] [CR][LF] [CR][LF] contents[LF] [LF] CONNECT CODE: 200[LF] RECEIVED HEADER BYTE TOTAL: 231[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1288 ../src/curl -q --include --trace-ascii log/11/trace1288 --trace-time --proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy 127.0.0.1:39335 http://127.0.0.1:40989/we/want/that/page/1288 > log/11/stdout1288 2> log/11/stderr1288 === End of file commands.log === Start of file http2_server.log 19:28:21.606264 Run as proxy, CONNECT to host 127.0.0.1 19:28:21.606401 Running HTTP IPv4 version on port 39335 19:28:21.606454 Wrote pid 150163 to log/11/server/http2_server.pid 19:28:21.606490 Wrote port 39335 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:20.577692 ====> Client connect 19:28:20.577728 accept_connection 3 returned 4 19:28:20.578638 Read 93 bytes 19:28:20.578655 Process 93 bytes request 19:28:20.578667 Got request: GET /verifiedserver HTTP/1.1 19:28:20.578676 Are-we-friendly question received 19:28:20.578712 Wrote request (93 bytes) input to log/11/server.input 19:28:20.578740 Identifying ourselves as friends 19:28:20.578811 Response sent (56 bytes) and written to log/11/server.response 19:28:20.578822 special request received, no persistency 19:28:20.578831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 42198 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1288 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1288 ==150651== ==150651== Process terminating with default action of signal 4 (SIGILL) ==150651== Illegal opcode at address 0x492B75F ==150651== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150651== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150651== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150651== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150651== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150651== by 0x49908EB: curl_version_info (version.c:600) ==150651== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150651== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150651== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150651== by 0x4003269: main (tool_main.c:195) === End of file valgrind1288 test 1308 [formpost tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1308 ./libtest/libtests lib1308 log/22/test-1308 > log/22/stdout1308 2> log/22/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/22/ directory after test 1308 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1308 ./libtest/libtests lib1308 log/22/test-1308 > log/22/stdout1308 2> log/22/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file test-1308 Piece of the file that is to uploaded as a formpost === End of file test-1308 === Start of file valgrind1308 ==151305== ==151305== Process terminating with default action of signal 4 (SIGILL) ==151305== Illegal opcode at address 0x51CC63F ==151305== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==151305== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==151305== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==151305== by 0x40041AF: main (first.c:264) === End of file valgrind1308 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/2/server/http2_server.pid" --logfile "log/2/http2_server.log" --logdir "log/2" --portfile log/2/server/http2_server.port --config log/2/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 150157 port 37607 * pid http-proxy => 150157 150157 test 1287 [HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1287 ../src/curl -q --output log/2/curl1287.out --include --trace-ascii log/2/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37607 http://test.1287:34531/we/want/that/page/1287 > log/2/stdout1287 2> log/2/stderr1287 1287: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1287 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1287 ../srCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1298 ../src/curl -q --output log/21/curl1298.out --include --trace-ascii log/21/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:39881/" -H "Testno: 1298" > log/21/stdout1298 2> log/21/stderr1298 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1299 ../src/curl -q --output log/6/curl1299.out --include --trace-ascii log/6/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33935/ -H "Testno: 1299" > log/6/stdout1299 2> log/6/stderr1299 c/curl -q --output log/2/curl1287.out --include --trace-ascii log/2/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:37607 http://test.1287:34531/we/want/that/page/1287 > log/2/stdout1287 2> log/2/stderr1287 === End of file commands.log === Start of file http2_server.log 19:28:21.614017 Run as proxy, CONNECT to host 127.0.0.1 19:28:21.614136 Running HTTP IPv4 version on port 37607 19:28:21.614179 Wrote pid 150157 to log/2/server/http2_server.pid 19:28:21.614211 Wrote port 37607 to log/2/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:21.568340 ====> Client connect 19:28:21.568380 accept_connection 3 returned 4 19:28:21.576024 Read 93 bytes 19:28:21.576048 Process 93 bytes request 19:28:21.576063 Got request: GET /verifiedserver HTTP/1.1 19:28:21.576073 Are-we-friendly question received 19:28:21.576120 Wrote request (93 bytes) input to log/2/server.input 19:28:21.576141 Identifying ourselves as friends 19:28:21.576211 Response sent (56 bytes) and written to log/2/server.response 19:28:21.576223 special request received, no persistency 19:28:21.576232 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 34168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1287 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1287 ==150633== ==150633== Process terminating with default action of signal 4 (SIGILL) ==150633== Illegal opcode at address 0x492B75F ==150633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150633== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150633== by 0x49908EB: curl_version_info (version.c:600) ==150633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150633== by 0x4003269: main (tool_main.c:195) === End of file valgrind1287 test 1298 [HTTP GET special path with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1298 ../src/curl -q --output log/21/curl1298.out --include --trace-ascii log/21/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:39881/" -H "Testno: 1298" > log/21/stdout1298 2> log/21/stderr1298 1298: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1298 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1298 ../src/curl -q --output log/21/curl1298.out --include --trace-ascii log/21/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:39881/" -H "Testno: 1298" > log/21/stdout1298 2> log/21/stderr1298 === End of file commands.log === Start of file http_server.log 19:28:21.985183 ====> Client connect 19:28:21.985227 accept_connection 3 returned 4 19:28:21.985251 Read 93 bytes 19:28:21.985261 Process 93 bytes request 19:28:21.985274 Got request: GET /verifiedserver HTTP/1.1 19:28:21.985282 Are-we-friendly question received 19:28:21.985307 Wrote request (93 bytes) input to log/21/server.input 19:28:21.985324 Identifying ourselves as friends 19:28:21.985398 Response sent (56 bytes) and written to log/21/server.response 19:28:21.985407 special request received, no persistency 19:28:21.985415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 45430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1298 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1298 ==150899== ==150899== Process terminating with default action of signal 4 (SIGILL) ==150899== Illegal opcode at address 0x492B75F ==150899== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150899== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150899== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150899== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150899== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150899== by 0x49908EB: curl_version_info (version.c:600) ==150899== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150899== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150899== by 0x4003269: main (tool_main.c:195) === End of file valgrind1298 test 1299 [Send "OPTIONS *" with --request-target] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1299 ../src/curl -q --output log/6/curl1299.out --include --trace-ascii log/6/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33935/ -H "Testno: 1299" > log/6/stdout1299 2> log/6/stderr1299 1299: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1299 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1299 ../src/curl -q --output log/6/curl1299.out --include --trace-ascii log/6/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:33935/ -H "Testno: 1299" > log/6/stdout1299 2> log/6/stderr1299 === End of file commands.log === Start of file http_server.log 19:28:22.035179 ====> Client connect 19:28:22.035223 accept_connection 3 returned 4 19:28:22.035249 Read 93 bytes 19:28:22.035259 Process 93 bytes request 19:28:22.035272 Got request: GET /verifiedserver HTTP/1.1 19:28:22.035281 Are-we-friendly question received 19:28:22.035310 Wrote request (93 bytes) input to log/6/server.input 19:28:22.035331 Identifying ourselves as friends 19:28:22.035405 Response sent (56 bytes) and written to log/6/server.response 19:28:22.035415 special request received, no persistency 19:28:22.035424 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 52308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1309 ./unit/units unit1309 - > log/5/stdout1309 2> log/5/stderr1309 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1299 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1299 ==150945== ==150945== Process terminating with default action of signal 4 (SIGILL) ==150945== Illegal opcode at address 0x492B75F ==150945== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150945== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150945== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150945== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150945== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150945== by 0x49908EB: curl_version_info (version.c:600) ==150945== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150945== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150945== by 0x4003269: main (tool_main.c:195) === End of file valgrind1299 test 1309 [splay unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1309 ./unit/units unit1309 - > log/5/stdout1309 2> log/5/stderr1309 1309: stdout FAILED: --- log/5/check-expected 2026-10-15 19:28:25.035176393 +0000 +++ log/5/check-generated 2026-10-15 19:28:25.028509445 +0000 @@ -1,1592 +0,0 @@ -Result:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -Tree look:[LF] - 0.1013[3][LF] - 0.1003[2][LF] - 0.954[3][LF] - 0.944[1][LF] -0.934[0][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[9][LF] - 0.757[8][LF] - 0.718[7][LF] - 0.708[10][LF] - 0.698[9][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[6][LF] - 0.531[9][LF] - 0.521[10][LF] - 0.472[8][LF] - 0.462[9][LF] - 0.413[7][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove node 7, payload 718[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[2][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.777[3][LF] - 0.767[5][LF] - 0.757[4][LF] -0.708[0][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[7][LF] - 0.590[8][LF] - 0.580[6][LF] - 0.541[1][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] - 0.413[3][LF] - 0.403[2][LF] - 0.393[3][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.295[7][LF] - 0.285[6][LF] - 0.275[7][LF] - 0.236[9][LF] - 0.226[8][LF] - 0.216[9][LF] - 0.177[11][LF] - 0.167[12][LF] - 0.157[10][LF] - 0.118[11][LF] - 0.108[13][LF] - 0.98[12][LF] - 0.59[13][LF] - 0.49[15][LF] - 0.39[14][LF] - 0.0[15][LF] -remove node 8, payload 236[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[4][LF] - 0.826[7][LF] - 0.816[6][LF] - 0.777[5][LF] - 0.767[7][LF] - 0.757[6][LF] - 0.708[2][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[1][LF] - 0.531[6][LF] - 0.521[7][LF] - 0.472[5][LF] - 0.462[6][LF] - 0.413[4][LF] - 0.403[3][LF] - 0.393[2][LF] - 0.354[5][LF] - 0.344[4][LF] - 0.334[3][LF] - 0.295[6][LF] - 0.285[5][LF] - 0.275[4][LF] -0.226[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.167[4][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.108[5][LF] - 0.98[4][LF] - 0.59[5][LF] - 0.49[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove node 9, payload 777[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.895[2][LF] - 0.885[4][LF] - 0.875[3][LF] - 0.836[1][LF] - 0.826[3][LF] - 0.816[2][LF] -0.767[0][LF] - 0.757[2][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[7][LF] - 0.344[6][LF] - 0.334[5][LF] - 0.295[8][LF] - 0.285[7][LF] - 0.275[6][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove node 10, payload 295[LF] -Tree look:[LF] - 0.1013[8][LF] - 0.1003[7][LF] - 0.954[8][LF] - 0.944[6][LF] - 0.934[5][LF] - 0.895[4][LF] - 0.885[6][LF] - 0.875[5][LF] - 0.836[3][LF] - 0.826[5][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[3][LF] - 0.708[1][LF] - 0.698[3][LF] - 0.659[4][LF] - 0.649[5][LF] - 0.639[6][LF] - 0.600[8][LF] - 0.590[9][LF] - 0.580[7][LF] - 0.541[2][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] - 0.354[6][LF] - 0.344[5][LF] - 0.334[3][LF] -0.285[0][LF] - 0.275[2][LF] - 0.226[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.167[5][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.108[6][LF] - 0.98[5][LF] - 0.59[6][LF] - 0.49[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove node 11, payload 836[LF] -Tree look:[LF] - 0.1013[5][LF] - 0.1003[4][LF] - 0.954[5][LF] - 0.944[3][LF] - 0.934[2][LF] - 0.895[1][LF] - 0.885[3][LF] - 0.875[2][LF] -0.826[0][LF] - 0.816[2][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[4][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.354[8][LF] - 0.344[7][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove node 12, payload 354[LF] -Tree look:[LF] - 0.1013[7][LF] - 0.1003[6][LF] - 0.954[7][LF] - 0.944[5][LF] - 0.934[4][LF] - 0.895[3][LF] - 0.885[5][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] - 0.767[1][LF] - 0.757[3][LF] - 0.708[2][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[9][LF] - 0.590[10][LF] - 0.580[8][LF] - 0.541[3][LF] - 0.531[8][LF] - 0.521[9][LF] - 0.472[7][LF] - 0.462[8][LF] - 0.413[6][LF] - 0.403[5][LF] - 0.393[4][LF] -0.344[0][LF] - 0.334[1][LF] - 0.285[2][LF] - 0.275[4][LF] - 0.226[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.167[7][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[8][LF] - 0.49[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove node 13, payload 895[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.954[4][LF] - 0.944[2][LF] - 0.934[1][LF] -0.885[0][LF] - 0.875[2][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[5][LF] - 0.531[10][LF] - 0.521[11][LF] - 0.472[9][LF] - 0.462[10][LF] - 0.413[8][LF] - 0.403[7][LF] - 0.393[6][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove node 14, payload 413[LF] -Tree look:[LF] - 0.1013[6][LF] - 0.1003[5][LF] - 0.954[6][LF] - 0.944[4][LF] - 0.934[3][LF] - 0.885[2][LF] - 0.875[3][LF] - 0.826[1][LF] - 0.816[3][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[5][LF] - 0.659[6][LF] - 0.649[7][LF] - 0.639[8][LF] - 0.600[10][LF] - 0.590[11][LF] - 0.580[9][LF] - 0.541[3][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.472[4][LF] - 0.462[5][LF] -0.403[0][LF] - 0.393[2][LF] - 0.344[1][LF] - 0.334[2][LF] - 0.285[3][LF] - 0.275[5][LF] - 0.226[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.108[9][LF] - 0.98[8][LF] - 0.59[9][LF] - 0.49[11][LF] - 0.39[10][LF] - 0.0[11][LF] -remove node 15, payload 954[LF] -Tree look:[LF] - 0.1013[2][LF] - 0.1003[1][LF] -0.944[0][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[5][LF] - 0.531[7][LF] - 0.521[8][LF] - 0.472[6][LF] - 0.462[7][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove node 16, payload 472[LF] -Tree look:[LF] - 0.1013[4][LF] - 0.1003[3][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[3][LF] - 0.531[4][LF] - 0.521[5][LF] -0.462[0][LF] - 0.403[1][LF] - 0.393[3][LF] - 0.344[2][LF] - 0.334[3][LF] - 0.285[4][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.167[9][LF] - 0.157[7][LF] - 0.118[8][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[10][LF] - 0.49[12][LF] - 0.39[11][LF] - 0.0[12][LF] -remove node 17, payload 1013[LF] -Tree look:[LF] -0.1003[0][LF] - 0.944[2][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[6][LF] - 0.767[5][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[7][LF] - 0.659[8][LF] - 0.649[9][LF] - 0.639[10][LF] - 0.600[12][LF] - 0.590[13][LF] - 0.580[11][LF] - 0.541[4][LF] - 0.531[5][LF] - 0.521[6][LF] - 0.462[2][LF] - 0.403[3][LF] - 0.393[5][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[6][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[8][LF] - 0.177[10][LF] - 0.167[11][LF] - 0.157[9][LF] - 0.118[10][LF] - 0.108[12][LF] - 0.98[11][LF] - 0.59[12][LF] - 0.49[14][LF] - 0.39[13][LF] - 0.0[14][LF] -remove node 18, payload 531[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[5][LF] - 0.767[4][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[6][LF] - 0.659[7][LF] - 0.649[8][LF] - 0.639[9][LF] - 0.600[11][LF] - 0.590[12][LF] - 0.580[10][LF] - 0.541[2][LF] -0.521[0][LF] - 0.462[1][LF] - 0.403[2][LF] - 0.393[4][LF] - 0.344[3][LF] - 0.334[4][LF] - 0.285[5][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[9][LF] - 0.108[11][LF] - 0.98[10][LF] - 0.59[11][LF] - 0.49[13][LF] - 0.39[12][LF] - 0.0[13][LF] -remove node 19, payload 49[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[7][LF] - 0.767[6][LF] - 0.757[8][LF] - 0.708[7][LF] - 0.698[8][LF] - 0.659[9][LF] - 0.649[10][LF] - 0.639[11][LF] - 0.600[13][LF] - 0.590[14][LF] - 0.580[12][LF] - 0.541[4][LF] - 0.521[2][LF] - 0.462[1][LF] - 0.403[3][LF] - 0.393[4][LF] - 0.344[2][LF] - 0.334[4][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.108[8][LF] - 0.98[7][LF] - 0.59[6][LF] -0.39[0][LF] - 0.0[1][LF] -remove node 20, payload 590[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[2][LF] - 0.757[5][LF] - 0.708[4][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.649[4][LF] - 0.639[5][LF] - 0.600[6][LF] -0.580[0][LF] - 0.541[2][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[6][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[7][LF] - 0.108[10][LF] - 0.98[9][LF] - 0.59[8][LF] - 0.39[3][LF] - 0.0[4][LF] -remove node 21, payload 108[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[4][LF] - 0.757[7][LF] - 0.708[6][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.649[6][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[2][LF] - 0.541[3][LF] - 0.521[1][LF] - 0.462[2][LF] - 0.403[5][LF] - 0.393[6][LF] - 0.344[4][LF] - 0.334[5][LF] - 0.285[3][LF] - 0.275[7][LF] - 0.226[6][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.167[8][LF] - 0.157[6][LF] - 0.118[4][LF] -0.98[0][LF] - 0.59[2][LF] - 0.39[1][LF] - 0.0[2][LF] -remove node 22, payload 649[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[4][LF] - 0.708[3][LF] - 0.698[2][LF] - 0.659[3][LF] -0.639[0][LF] - 0.600[2][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[5][LF] - 0.275[9][LF] - 0.226[8][LF] - 0.216[7][LF] - 0.177[9][LF] - 0.167[10][LF] - 0.157[8][LF] - 0.118[6][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove node 23, payload 167[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[6][LF] - 0.708[5][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.639[2][LF] - 0.600[3][LF] - 0.580[1][LF] - 0.541[3][LF] - 0.521[2][LF] - 0.462[4][LF] - 0.403[6][LF] - 0.393[7][LF] - 0.344[5][LF] - 0.334[6][LF] - 0.285[3][LF] - 0.275[6][LF] - 0.226[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.157[0][LF] - 0.118[1][LF] - 0.98[2][LF] - 0.59[4][LF] - 0.39[3][LF] - 0.0[4][LF] -remove node 24, payload 708[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.944[4][LF] - 0.934[2][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.826[3][LF] - 0.816[4][LF] - 0.767[1][LF] - 0.757[2][LF] -0.698[0][LF] - 0.659[2][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[6][LF] - 0.403[8][LF] - 0.393[9][LF] - 0.344[7][LF] - 0.334[8][LF] - 0.285[5][LF] - 0.275[8][LF] - 0.226[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove node 25, payload 226[LF] -Tree look:[LF] - 0.1003[5][LF] - 0.944[6][LF] - 0.934[4][LF] - 0.885[6][LF] - 0.875[7][LF] - 0.826[5][LF] - 0.816[6][LF] - 0.767[3][LF] - 0.757[4][LF] - 0.698[2][LF] - 0.659[3][LF] - 0.639[1][LF] - 0.600[3][LF] - 0.580[2][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] - 0.285[3][LF] - 0.275[4][LF] -0.216[0][LF] - 0.177[2][LF] - 0.157[1][LF] - 0.118[2][LF] - 0.98[3][LF] - 0.59[5][LF] - 0.39[4][LF] - 0.0[5][LF] -remove node 26, payload 767[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[3][LF] - 0.875[4][LF] - 0.826[2][LF] - 0.816[3][LF] -0.757[0][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[5][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.285[5][LF] - 0.275[6][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove node 27, payload 285[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[5][LF] - 0.875[6][LF] - 0.826[4][LF] - 0.816[5][LF] - 0.757[2][LF] - 0.698[1][LF] - 0.659[3][LF] - 0.639[2][LF] - 0.600[4][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.462[5][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.344[6][LF] - 0.334[7][LF] -0.275[0][LF] - 0.216[1][LF] - 0.177[3][LF] - 0.157[2][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[6][LF] - 0.39[5][LF] - 0.0[6][LF] -remove node 28, payload 826[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] - 0.885[2][LF] - 0.875[3][LF] -0.816[0][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[6][LF] - 0.580[5][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[7][LF] - 0.403[9][LF] - 0.393[10][LF] - 0.344[8][LF] - 0.334[9][LF] - 0.275[3][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[6][LF] - 0.98[7][LF] - 0.59[9][LF] - 0.39[8][LF] - 0.0[9][LF] -remove node 29, payload 344[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.885[4][LF] - 0.875[5][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] - 0.403[5][LF] - 0.393[6][LF] -0.334[0][LF] - 0.275[1][LF] - 0.216[2][LF] - 0.177[4][LF] - 0.157[3][LF] - 0.118[4][LF] - 0.98[5][LF] - 0.59[7][LF] - 0.39[6][LF] - 0.0[7][LF] -remove node 30, payload 885[LF] -Tree look:[LF] - 0.1003[2][LF] - 0.944[3][LF] - 0.934[1][LF] -0.875[0][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[5][LF] - 0.541[8][LF] - 0.521[7][LF] - 0.462[6][LF] - 0.403[7][LF] - 0.393[8][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove node 31, payload 403[LF] -Tree look:[LF] - 0.1003[4][LF] - 0.944[5][LF] - 0.934[3][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[3][LF] - 0.541[6][LF] - 0.521[5][LF] - 0.462[4][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove node 32, payload 944[LF] -Tree look:[LF] - 0.1003[1][LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[4][LF] - 0.541[7][LF] - 0.521[6][LF] - 0.462[5][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove node 33, payload 462[LF] -Tree look:[LF] - 0.1003[3][LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[4][LF] - 0.521[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove node 34, payload 1003[LF] -Tree look:[LF] -0.934[0][LF] - 0.875[2][LF] - 0.816[1][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.580[3][LF] - 0.541[5][LF] - 0.521[4][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[4][LF] - 0.216[5][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[7][LF] - 0.98[8][LF] - 0.59[10][LF] - 0.39[9][LF] - 0.0[10][LF] -remove node 35, payload 521[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[6][LF] - 0.639[5][LF] - 0.600[6][LF] - 0.580[2][LF] - 0.541[3][LF] -0.393[0][LF] - 0.334[1][LF] - 0.275[2][LF] - 0.216[3][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[8][LF] - 0.39[7][LF] - 0.0[8][LF] -remove node 36, payload 39[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[5][LF] - 0.698[6][LF] - 0.659[8][LF] - 0.639[7][LF] - 0.600[8][LF] - 0.580[4][LF] - 0.541[5][LF] - 0.393[2][LF] - 0.334[1][LF] - 0.275[3][LF] - 0.216[2][LF] - 0.177[5][LF] - 0.157[4][LF] - 0.118[3][LF] - 0.98[4][LF] - 0.59[5][LF] -0.0[0][LF] -remove node 37, payload 580[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] - 0.757[2][LF] - 0.698[3][LF] - 0.659[5][LF] - 0.639[4][LF] - 0.600[5][LF] -0.541[0][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[7][LF] - 0.157[6][LF] - 0.118[5][LF] - 0.98[6][LF] - 0.59[7][LF] - 0.0[3][LF] -remove node 38, payload 98[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.757[4][LF] - 0.698[5][LF] - 0.659[7][LF] - 0.639[6][LF] - 0.600[7][LF] - 0.541[2][LF] - 0.393[1][LF] - 0.334[2][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[6][LF] - 0.157[5][LF] - 0.118[3][LF] -0.59[0][LF] - 0.0[1][LF] -remove node 39, payload 639[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] - 0.698[2][LF] - 0.659[3][LF] -0.600[0][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[4][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[8][LF] - 0.157[7][LF] - 0.118[5][LF] - 0.59[3][LF] - 0.0[4][LF] -remove node 40, payload 157[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.698[4][LF] - 0.659[5][LF] - 0.600[2][LF] - 0.541[1][LF] - 0.393[2][LF] - 0.334[3][LF] - 0.275[5][LF] - 0.216[4][LF] - 0.177[5][LF] -0.118[0][LF] - 0.59[1][LF] - 0.0[2][LF] -remove node 41, payload 698[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.816[2][LF] - 0.757[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[5][LF] - 0.275[7][LF] - 0.216[6][LF] - 0.177[7][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove node 42, payload 216[LF] -Tree look:[LF] - 0.934[5][LF] - 0.875[6][LF] - 0.816[4][LF] - 0.757[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[4][LF] - 0.334[3][LF] - 0.275[4][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove node 43, payload 757[LF] -Tree look:[LF] - 0.934[2][LF] - 0.875[3][LF] - 0.816[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[5][LF] - 0.334[4][LF] - 0.275[5][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove node 44, payload 275[LF] -Tree look:[LF] - 0.934[4][LF] - 0.875[5][LF] - 0.816[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.334[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove node 45, payload 816[LF] -Tree look:[LF] - 0.934[1][LF] - 0.875[2][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[4][LF] - 0.393[5][LF] - 0.334[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove node 46, payload 334[LF] -Tree look:[LF] - 0.934[3][LF] - 0.875[4][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] - 0.393[3][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove node 47, payload 875[LF] -Tree look:[LF] - 0.934[1][LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.393[4][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove node 48, payload 393[LF] -Tree look:[LF] - 0.934[3][LF] - 0.659[2][LF] - 0.600[1][LF] - 0.541[2][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] - 0.0[3][LF] -remove node 49, payload 934[LF] -Tree look:[LF] -0.659[0][LF] - 0.600[1][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[3][LF] - 0.59[4][LF] - 0.0[5][LF] -remove node 0, payload 0[LF] -Tree look:[LF] - 0.659[1][LF] -0.600[0][LF] - 0.541[3][LF] - 0.177[2][LF] - 0.118[1][LF] - 0.59[2][LF] -remove node 1, payload 541[LF] -Tree look:[LF] - 0.659[2][LF] - 0.600[1][LF] -0.177[0][LF] - 0.118[1][LF] - 0.59[2][LF] -remove node 2, payload 59[LF] -Tree look:[LF] - 0.659[3][LF] - 0.600[2][LF] - 0.177[1][LF] -0.118[0][LF] -remove node 3, payload 600[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] - 0.118[1][LF] -remove node 4, payload 118[LF] -Tree look:[LF] - 0.659[1][LF] -0.177[0][LF] -remove node 5, payload 659[LF] -Tree look:[LF] -0.177[0][LF] -remove node 6, payload 177[LF] -Removing nodes not larger than 0[LF] -removed payload 0[0][LF] -Removing nodes not larger than 100[LF] -removed payload 39[0][LF] -removed payload 49[0][LF] -removed payload 49[1][LF] -removed payload 59[0][LF] -removed payload 59[1][LF] -removed payload 59[2][LF] -removed payload 98[0][LF] -removed payload 98[1][LF] -removed payload 98[2][LF] -Removing nodes not larger than 200[LF] -removed payload 108[0][LF] -removed payload 118[0][LF] -removed payload 118[1][LF] -removed payload 157[0][LF] -removed payload 157[1][LF] -removed payload 167[0][LF] -removed payload 167[1][LF] -removed payload 167[2][LF] -removed payload 177[0][LF] -Removing nodes not larger than 300[LF] -removed payload 216[0][LF] -removed payload 226[0][LF] -removed payload 226[1][LF] -removed payload 236[0][LF] -removed payload 236[1][LF] -removed payload 236[2][LF] -removed payload 275[0][LF] -removed payload 275[1][LF] -removed payload 275[2][LF] -removed payload 285[0][LF] -removed payload 295[0][LF] -removed payload 295[1][LF] -Removing nodes not larger than 400[LF] -removed payload 334[0][LF] -removed payload 334[1][LF] -removed payload 344[0][LF] -removed payload 344[1][LF] -removed payload 344[2][LF] -removed payload 354[0][LF] -removed payload 393[0][LF] -Removing nodes not larger than 500[LF] -removed payload 403[0][LF] -removed payload 403[1][LF] -removed payload 413[0][LF] -removed payload 413[1][LF] -removed payload 413[2][LF] -removed payload 462[0][LF] -removed payload 472[0][LF] -removed payload 472[1][LF] -Removing nodes not larger than 600[LF] -removed payload 521[0][LF] -removed payload 521[1][LF] -removed payload 521[2][LF] -removed payload 531[0][LF] -removed payload 541[0][LF] -removed payload 541[1][LF] -removed payload 580[0][LF] -removed payload 580[1][LF] -removed payload 590[0][LF] -removed payload 590[1][LF] -removed payload 590[2][LF] -removed payload 600[0][LF] -Removing nodes not larger than 700[LF] -removed payload 639[0][LF] -removed payload 649[0][LF] -removed payload 649[1][LF] -removed payload 659[0][LF] -removed payload 659[1][LF] -removed payload 659[2][LF] -removed payload 698[0][LF] -removed payload 698[1][LF] -removed payload 698[2][LF] -Removing nodes not larger than 800[LF] -removed payload 708[0][LF] -removed payload 718[0][LF] -removed payload 718[1][LF] -removed payload 757[0][LF] -removed payload 757[1][LF] -removed payload 767[0][LF] -removed payload 767[1][LF] -removed payload 767[2][LF] -removed payload 777[0][LF] -Removing nodes not larger than 900[LF] -removed payload 816[0][LF] -removed payload 826[0][LF] -removed payload 826[1][LF] -removed payload 836[0][LF] -removed payload 836[1][LF] -removed payload 836[2][LF] -removed payload 875[0][LF] -removed payload 875[1][LF] -removed payload 875[2][LF] -removed payload 885[0][LF] -removed payload 895[0][LF] -removed payload 895[1][LF] -Removing nodes not larger than 1000[LF] -removed payload 934[0][LF] -removed payload 934[1][LF] -removed payload 944[0][LF] -removed payload 944[1][LF] -removed payload 944[2][LF] -removed payload 954[0][LF] -Removing nodes not larger than 1100[LF] -removed payload 1003[0][LF] -removed payload 1003[1][LF] -removed payload 1013[0][LF] -removed payload 1013[1][LF] -removed payload 1013[2][LF] -Removing nodes not larger than 0[LF] -removed payload 0[timeout=0][LF] -Removing nodes not larger than 32[LF] -removed payload 31[timeout=3][LF] -removed payload 9[timeout=5][LF] -removed payload 40[timeout=8][LF] -removed payload 18[timeout=10][LF] -removed payload 49[timeout=13][LF] -removed payload 27[timeout=15][LF] -removed payload 5[timeout=17][LF] -removed payload 36[timeout=20][LF] -removed payload 14[timeout=22][LF] -removed payload 45[timeout=25][LF] -removed payload 23[timeout=27][LF] -removed payload 1[timeout=29][LF] -removed payload 32[timeout=32][LF] -Removing nodes not larger than 64[LF] -removed payload 10[timeout=34][LF] -removed payload 41[timeout=37][LF] -removed payload 19[timeout=39][LF] -removed payload 28[timeout=44][LF] -removed payload 6[timeout=46][LF] -removed payload 37[timeout=49][LF] -removed payload 15[timeout=51][LF] -removed payload 46[timeout=54][LF] -removed payload 24[timeout=56][LF] -removed payload 2[timeout=58][LF] -removed payload 33[timeout=61][LF] -removed payload 11[timeout=63][LF] -Removing nodes not larger than 96[LF] -removed payload 42[timeout=66][LF] -removed payload 20[timeout=68][LF] -removed payload 29[timeout=73][LF] -removed payload 7[timeout=75][LF] -removed payload 38[timeout=78][LF] -removed payload 16[timeout=80][LF] -removed payload 47[timeout=83][LF] -removed payload 25[timeout=85][LF] -removed payload 3[timeout=87][LF] -removed payload 34[timeout=90][LF] -removed payload 12[timeout=92][LF] -removed payload 43[timeout=95][LF] -Removing nodes not larger than 128[LF] -removed payload 21[timeout=97][LF] -removed payload 30[timeout=102][LF] -removed payload 8[timeout=104][LF] -removed payload 39[timeout=107][LF] -removed payload 17[timeout=109][LF] -removed payload 48[timeout=112][LF] -removed payload 26[timeout=114][LF] -removed payload 4[timeout=116][LF] -removed payload 35[timeout=119][LF] -removed payload 13[timeout=121][LF] -removed payload 44[timeout=124][LF] -removed payload 22[timeout=126][LF] == Contents of files in the log/5/ directory after test 1309 === Start of file check-expected Result:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] Tree look:[LF] 0.1013[3][LF] 0.1003[2][LF] 0.954[3][LF] 0.944[1][LF] 0.934[0][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[9][LF] 0.757[8][LF] 0.718[7][LF] 0.708[10][LF] 0.698[9][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[6][LF] 0.531[9][LF] 0.521[10][LF] 0.472[8][LF] 0.462[9][LF] 0.413[7][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove node 7, payload 718[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[4][LF] 0.875[3][LF] 0.836[2][LF] 0.826[5][LF] 0.816[4][LF] 0.777[3][LF] 0.767[5][LF] 0.757[4][LF] 0.708[0][LF] 0.698[2][LF] 0.659[3][LF] 0.649[4][LF] 0.639[5][LF] 0.600[7][LF] 0.590[8][LF] 0.580[6][LF] 0.541[1][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.413[3][LF] 0.403[2][LF] 0.393[3][LF] 0.354[5][LF] 0.344[4][LF] 0.334[5][LF] 0.295[7][LF] 0.285[6][LF] 0.275[7][LF] 0.236[9][LF] 0.226[8][LF] 0.216[9][LF] 0.177[11][LF] 0.167[12][LF] 0.157[10][LF] 0.118[11][LF] 0.108[13][LF] 0.98[12][LF] 0.59[13][LF] 0.49[15][LF] 0.39[14][LF] 0.0[15][LF] remove node 8, payload 236[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[6][LF] 0.875[5][LF] 0.836[4][LF] 0.826[7][LF] 0.816[6][LF] 0.777[5][LF] 0.767[7][LF] 0.757[6][LF] 0.708[2][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[1][LF] 0.531[6][LF] 0.521[7][LF] 0.472[5][LF] 0.462[6][LF] 0.413[4][LF] 0.403[3][LF] 0.393[2][LF] 0.354[5][LF] 0.344[4][LF] 0.334[3][LF] 0.295[6][LF] 0.285[5][LF] 0.275[4][LF] 0.226[0][LF] 0.216[1][LF] 0.177[3][LF] 0.167[4][LF] 0.157[2][LF] 0.118[3][LF] 0.108[5][LF] 0.98[4][LF] 0.59[5][LF] 0.49[7][LF] 0.39[6][LF] 0.0[7][LF] remove node 9, payload 777[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.895[2][LF] 0.885[4][LF] 0.875[3][LF] 0.836[1][LF] 0.826[3][LF] 0.816[2][LF] 0.767[0][LF] 0.757[2][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[7][LF] 0.344[6][LF] 0.334[5][LF] 0.295[8][LF] 0.285[7][LF] 0.275[6][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove node 10, payload 295[LF] Tree look:[LF] 0.1013[8][LF] 0.1003[7][LF] 0.954[8][LF] 0.944[6][LF] 0.934[5][LF] 0.895[4][LF] 0.885[6][LF] 0.875[5][LF] 0.836[3][LF] 0.826[5][LF] 0.816[4][LF] 0.767[2][LF] 0.757[3][LF] 0.708[1][LF] 0.698[3][LF] 0.659[4][LF] 0.649[5][LF] 0.639[6][LF] 0.600[8][LF] 0.590[9][LF] 0.580[7][LF] 0.541[2][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.354[6][LF] 0.344[5][LF] 0.334[3][LF] 0.285[0][LF] 0.275[2][LF] 0.226[1][LF] 0.216[2][LF] 0.177[4][LF] 0.167[5][LF] 0.157[3][LF] 0.118[4][LF] 0.108[6][LF] 0.98[5][LF] 0.59[6][LF] 0.49[8][LF] 0.39[7][LF] 0.0[8][LF] remove node 11, payload 836[LF] Tree look:[LF] 0.1013[5][LF] 0.1003[4][LF] 0.954[5][LF] 0.944[3][LF] 0.934[2][LF] 0.895[1][LF] 0.885[3][LF] 0.875[2][LF] 0.826[0][LF] 0.816[2][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[4][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.354[8][LF] 0.344[7][LF] 0.334[5][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove node 12, payload 354[LF] Tree look:[LF] 0.1013[7][LF] 0.1003[6][LF] 0.954[7][LF] 0.944[5][LF] 0.934[4][LF] 0.895[3][LF] 0.885[5][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.767[1][LF] 0.757[3][LF] 0.708[2][LF] 0.698[4][LF] 0.659[5][LF] 0.649[6][LF] 0.639[7][LF] 0.600[9][LF] 0.590[10][LF] 0.580[8][LF] 0.541[3][LF] 0.531[8][LF] 0.521[9][LF] 0.472[7][LF] 0.462[8][LF] 0.413[6][LF] 0.403[5][LF] 0.393[4][LF] 0.344[0][LF] 0.334[1][LF] 0.285[2][LF] 0.275[4][LF] 0.226[3][LF] 0.216[4][LF] 0.177[6][LF] 0.167[7][LF] 0.157[5][LF] 0.118[6][LF] 0.108[8][LF] 0.98[7][LF] 0.59[8][LF] 0.49[10][LF] 0.39[9][LF] 0.0[10][LF] remove node 13, payload 895[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.954[4][LF] 0.944[2][LF] 0.934[1][LF] 0.885[0][LF] 0.875[2][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[5][LF] 0.531[10][LF] 0.521[11][LF] 0.472[9][LF] 0.462[10][LF] 0.413[8][LF] 0.403[7][LF] 0.393[6][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove node 14, payload 413[LF] Tree look:[LF] 0.1013[6][LF] 0.1003[5][LF] 0.954[6][LF] 0.944[4][LF] 0.934[3][LF] 0.885[2][LF] 0.875[3][LF] 0.826[1][LF] 0.816[3][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[5][LF] 0.659[6][LF] 0.649[7][LF] 0.639[8][LF] 0.600[10][LF] 0.590[11][LF] 0.580[9][LF] 0.541[3][LF] 0.531[5][LF] 0.521[6][LF] 0.472[4][LF] 0.462[5][LF] 0.403[0][LF] 0.393[2][LF] 0.344[1][LF] 0.334[2][LF] 0.285[3][LF] 0.275[5][LF] 0.226[4][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[7][LF] 0.108[9][LF] 0.98[8][LF] 0.59[9][LF] 0.49[11][LF] 0.39[10][LF] 0.0[11][LF] remove node 15, payload 954[LF] Tree look:[LF] 0.1013[2][LF] 0.1003[1][LF] 0.944[0][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[5][LF] 0.531[7][LF] 0.521[8][LF] 0.472[6][LF] 0.462[7][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove node 16, payload 472[LF] Tree look:[LF] 0.1013[4][LF] 0.1003[3][LF] 0.944[2][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[3][LF] 0.531[4][LF] 0.521[5][LF] 0.462[0][LF] 0.403[1][LF] 0.393[3][LF] 0.344[2][LF] 0.334[3][LF] 0.285[4][LF] 0.275[6][LF] 0.226[5][LF] 0.216[6][LF] 0.177[8][LF] 0.167[9][LF] 0.157[7][LF] 0.118[8][LF] 0.108[10][LF] 0.98[9][LF] 0.59[10][LF] 0.49[12][LF] 0.39[11][LF] 0.0[12][LF] remove node 17, payload 1013[LF] Tree look:[LF] 0.1003[0][LF] 0.944[2][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[6][LF] 0.767[5][LF] 0.757[7][LF] 0.708[6][LF] 0.698[7][LF] 0.659[8][LF] 0.649[9][LF] 0.639[10][LF] 0.600[12][LF] 0.590[13][LF] 0.580[11][LF] 0.541[4][LF] 0.531[5][LF] 0.521[6][LF] 0.462[2][LF] 0.403[3][LF] 0.393[5][LF] 0.344[4][LF] 0.334[5][LF] 0.285[6][LF] 0.275[8][LF] 0.226[7][LF] 0.216[8][LF] 0.177[10][LF] 0.167[11][LF] 0.157[9][LF] 0.118[10][LF] 0.108[12][LF] 0.98[11][LF] 0.59[12][LF] 0.49[14][LF] 0.39[13][LF] 0.0[14][LF] remove node 18, payload 531[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[5][LF] 0.767[4][LF] 0.757[6][LF] 0.708[5][LF] 0.698[6][LF] 0.659[7][LF] 0.649[8][LF] 0.639[9][LF] 0.600[11][LF] 0.590[12][LF] 0.580[10][LF] 0.541[2][LF] 0.521[0][LF] 0.462[1][LF] 0.403[2][LF] 0.393[4][LF] 0.344[3][LF] 0.334[4][LF] 0.285[5][LF] 0.275[7][LF] 0.226[6][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[9][LF] 0.108[11][LF] 0.98[10][LF] 0.59[11][LF] 0.49[13][LF] 0.39[12][LF] 0.0[13][LF] remove node 19, payload 49[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[7][LF] 0.767[6][LF] 0.757[8][LF] 0.708[7][LF] 0.698[8][LF] 0.659[9][LF] 0.649[10][LF] 0.639[11][LF] 0.600[13][LF] 0.590[14][LF] 0.580[12][LF] 0.541[4][LF] 0.521[2][LF] 0.462[1][LF] 0.403[3][LF] 0.393[4][LF] 0.344[2][LF] 0.334[4][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[5][LF] 0.108[8][LF] 0.98[7][LF] 0.59[6][LF] 0.39[0][LF] 0.0[1][LF] remove node 20, payload 590[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[2][LF] 0.757[5][LF] 0.708[4][LF] 0.698[3][LF] 0.659[5][LF] 0.649[4][LF] 0.639[5][LF] 0.600[6][LF] 0.580[0][LF] 0.541[2][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[6][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[7][LF] 0.108[10][LF] 0.98[9][LF] 0.59[8][LF] 0.39[3][LF] 0.0[4][LF] remove node 21, payload 108[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[4][LF] 0.757[7][LF] 0.708[6][LF] 0.698[5][LF] 0.659[7][LF] 0.649[6][LF] 0.639[7][LF] 0.600[8][LF] 0.580[2][LF] 0.541[3][LF] 0.521[1][LF] 0.462[2][LF] 0.403[5][LF] 0.393[6][LF] 0.344[4][LF] 0.334[5][LF] 0.285[3][LF] 0.275[7][LF] 0.226[6][LF] 0.216[5][LF] 0.177[7][LF] 0.167[8][LF] 0.157[6][LF] 0.118[4][LF] 0.98[0][LF] 0.59[2][LF] 0.39[1][LF] 0.0[2][LF] remove node 22, payload 649[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[4][LF] 0.708[3][LF] 0.698[2][LF] 0.659[3][LF] 0.639[0][LF] 0.600[2][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[5][LF] 0.275[9][LF] 0.226[8][LF] 0.216[7][LF] 0.177[9][LF] 0.167[10][LF] 0.157[8][LF] 0.118[6][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove node 23, payload 167[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[6][LF] 0.708[5][LF] 0.698[4][LF] 0.659[5][LF] 0.639[2][LF] 0.600[3][LF] 0.580[1][LF] 0.541[3][LF] 0.521[2][LF] 0.462[4][LF] 0.403[6][LF] 0.393[7][LF] 0.344[5][LF] 0.334[6][LF] 0.285[3][LF] 0.275[6][LF] 0.226[5][LF] 0.216[4][LF] 0.177[5][LF] 0.157[0][LF] 0.118[1][LF] 0.98[2][LF] 0.59[4][LF] 0.39[3][LF] 0.0[4][LF] remove node 24, payload 708[LF] Tree look:[LF] 0.1003[3][LF] 0.944[4][LF] 0.934[2][LF] 0.885[4][LF] 0.875[5][LF] 0.826[3][LF] 0.816[4][LF] 0.767[1][LF] 0.757[2][LF] 0.698[0][LF] 0.659[2][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[6][LF] 0.403[8][LF] 0.393[9][LF] 0.344[7][LF] 0.334[8][LF] 0.285[5][LF] 0.275[8][LF] 0.226[7][LF] 0.216[6][LF] 0.177[7][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove node 25, payload 226[LF] Tree look:[LF] 0.1003[5][LF] 0.944[6][LF] 0.934[4][LF] 0.885[6][LF] 0.875[7][LF] 0.826[5][LF] 0.816[6][LF] 0.767[3][LF] 0.757[4][LF] 0.698[2][LF] 0.659[3][LF] 0.639[1][LF] 0.600[3][LF] 0.580[2][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.285[3][LF] 0.275[4][LF] 0.216[0][LF] 0.177[2][LF] 0.157[1][LF] 0.118[2][LF] 0.98[3][LF] 0.59[5][LF] 0.39[4][LF] 0.0[5][LF] remove node 26, payload 767[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[3][LF] 0.875[4][LF] 0.826[2][LF] 0.816[3][LF] 0.757[0][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[5][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.285[5][LF] 0.275[6][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove node 27, payload 285[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[5][LF] 0.875[6][LF] 0.826[4][LF] 0.816[5][LF] 0.757[2][LF] 0.698[1][LF] 0.659[3][LF] 0.639[2][LF] 0.600[4][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.462[5][LF] 0.403[7][LF] 0.393[8][LF] 0.344[6][LF] 0.334[7][LF] 0.275[0][LF] 0.216[1][LF] 0.177[3][LF] 0.157[2][LF] 0.118[3][LF] 0.98[4][LF] 0.59[6][LF] 0.39[5][LF] 0.0[6][LF] remove node 28, payload 826[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.885[2][LF] 0.875[3][LF] 0.816[0][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[6][LF] 0.580[5][LF] 0.541[7][LF] 0.521[6][LF] 0.462[7][LF] 0.403[9][LF] 0.393[10][LF] 0.344[8][LF] 0.334[9][LF] 0.275[3][LF] 0.216[4][LF] 0.177[6][LF] 0.157[5][LF] 0.118[6][LF] 0.98[7][LF] 0.59[9][LF] 0.39[8][LF] 0.0[9][LF] remove node 29, payload 344[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.885[4][LF] 0.875[5][LF] 0.816[2][LF] 0.757[1][LF] 0.698[2][LF] 0.659[5][LF] 0.639[4][LF] 0.600[5][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.403[5][LF] 0.393[6][LF] 0.334[0][LF] 0.275[1][LF] 0.216[2][LF] 0.177[4][LF] 0.157[3][LF] 0.118[4][LF] 0.98[5][LF] 0.59[7][LF] 0.39[6][LF] 0.0[7][LF] remove node 30, payload 885[LF] Tree look:[LF] 0.1003[2][LF] 0.944[3][LF] 0.934[1][LF] 0.875[0][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[5][LF] 0.541[8][LF] 0.521[7][LF] 0.462[6][LF] 0.403[7][LF] 0.393[8][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove node 31, payload 403[LF] Tree look:[LF] 0.1003[4][LF] 0.944[5][LF] 0.934[3][LF] 0.875[2][LF] 0.816[1][LF] 0.757[2][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[3][LF] 0.541[6][LF] 0.521[5][LF] 0.462[4][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove node 32, payload 944[LF] Tree look:[LF] 0.1003[1][LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[3][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[4][LF] 0.541[7][LF] 0.521[6][LF] 0.462[5][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove node 33, payload 462[LF] Tree look:[LF] 0.1003[3][LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[4][LF] 0.521[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove node 34, payload 1003[LF] Tree look:[LF] 0.934[0][LF] 0.875[2][LF] 0.816[1][LF] 0.757[4][LF] 0.698[5][LF] 0.659[7][LF] 0.639[6][LF] 0.600[7][LF] 0.580[3][LF] 0.541[5][LF] 0.521[4][LF] 0.393[2][LF] 0.334[3][LF] 0.275[4][LF] 0.216[5][LF] 0.177[7][LF] 0.157[6][LF] 0.118[7][LF] 0.98[8][LF] 0.59[10][LF] 0.39[9][LF] 0.0[10][LF] remove node 35, payload 521[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] 0.816[1][LF] 0.757[3][LF] 0.698[4][LF] 0.659[6][LF] 0.639[5][LF] 0.600[6][LF] 0.580[2][LF] 0.541[3][LF] 0.393[0][LF] 0.334[1][LF] 0.275[2][LF] 0.216[3][LF] 0.177[5][LF] 0.157[4][LF] 0.118[5][LF] 0.98[6][LF] 0.59[8][LF] 0.39[7][LF] 0.0[8][LF] remove node 36, payload 39[LF] Tree look:[LF] 0.934[4][LF] 0.875[5][LF] 0.816[3][LF] 0.757[5][LF] 0.698[6][LF] 0.659[8][LF] 0.639[7][LF] 0.600[8][LF] 0.580[4][LF] 0.541[5][LF] 0.393[2][LF] 0.334[1][LF] 0.275[3][LF] 0.216[2][LF] 0.177[5][LF] 0.157[4][LF] 0.118[3][LF] 0.98[4][LF] 0.59[5][LF] 0.0[0][LF] remove node 37, payload 580[LF] Tree look:[LF] 0.934[2][LF] 0.875[3][LF] === File too long: 191 lines omitted here remove node 0, payload 0[LF] Tree look:[LF] 0.659[1][LF] 0.600[0][LF] 0.541[3][LF] 0.177[2][LF] 0.118[1][LF] 0.59[2][LF] remove node 1, payload 541[LF] Tree look:[LF] 0.659[2][LF] 0.600[1][LF] 0.177[0][LF] 0.118[1][LF] 0.59[2][LF] remove node 2, payload 59[LF] Tree look:[LF] 0.659[3][LF] 0.600[2][LF] 0.177[1][LF] 0.118[0][LF] remove node 3, payload 600[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] 0.118[1][LF] remove node 4, payload 118[LF] Tree look:[LF] 0.659[1][LF] 0.177[0][LF] remove node 5, payload 659[LF] Tree look:[LF] 0.177[0][LF] remove node 6, payload 177[LF] Removing nodes not larger than 0[LF] removed payload 0[0][LF] Removing nodes not larger than 100[LF] removed payload 39[0][LF] removed payload 49[0][LF] removed payload 49[1][LF] removed payload 59[0][LF] removed payload 59[1][LF] removed payload 59[2][LF] removed payload 98[0][LF] removed payload 98[1][LF] removed payload 98[2][LF] Removing nodes not larger than 200[LF] removed payload 108[0][LF] removed payload 118[0][LF] removed payload 118[1][LF] removed payload 157[0][LF] removed payload 157[1][LF] removed payload 167[0][LF] removed payload 167[1][LF] removed payload 167[2][LF] removed payload 177[0][LF] Removing nodes not larger than 300[LF] removed payload 216[0][LF] removed payload 226[0][LF] removed payload 226[1][LF] removed payload 236[0][LF] removed payload 236[1][LF] removed payload 236[2][LF] removed payload 275[0][LF] removed payload 275[1][LF] removed payload 275[2][LF] removed payload 285[0][LF] removed payload 295[0][LF] removed payload 295[1][LF] Removing nodes not larger than 400[LF] removed payload 334[0][LF] removed payload 334[1][LF] removed payload 344[0][LF] removed payload 344[1][LF] removed payload 344[2][LF] removed payload 354[0][LF] removed payload 393[0][LF] Removing nodes not larger than 500[LF] removed payload 403[0][LF] removed payload 403[1][LF] removed payload 413[0][LF] removed payload 413[1][LF] removed payload 413[2][LF] removed payload 462[0][LF] removed payload 472[0][LF] removed payload 472[1][LF] Removing nodes not larger than 600[LF] removed payload 521[0][LF] removed payload 521[1][LF] removed payload 521[2][LF] removed payload 531[0][LF] removed payload 541[0][LF] removed payload 541[1][LF] removed payload 580[0][LF] removed payload 580[1][LF] removed payload 590[0][LF] removed payload 590[1][LF] removed payload 590[2][LF] removed payload 600[0][LF] Removing nodes not larger than 700[LF] removed payload 639[0][LF] removed payload 649[0][LF] removed payload 649[1][LF] removed payload 659[0][LF] removed payload 659[1][LF] removed payload 659[2][LF] removed payload 698[0][LF] removed payload 698[1][LF] removed payload 698[2][LF] Removing nodes not larger than 800[LF] removed payload 708[0][LF] removed payload 718[0][LF] removed payload 718[1][LF] removed payload 757[0][LF] removed payload 757[1][LF] removed payload 767[0][LF] removed payload 767[1][LF] removed payload 767[2][LF] removed payload 777[0][LF] RemovingCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1323 ./unit/units unit1323 - > log/19/stdout1323 2> log/19/stderr1323 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1297 ../src/curl -q --output log/8/curl1297.out --include --trace-ascii log/8/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33431 http://127.0.0.1:44467/we/want/that/page/1297 > log/8/stdout1297 2> log/8/stderr1297 nodes not larger than 900[LF] removed payload 816[0][LF] removed payload 826[0][LF] removed payload 826[1][LF] removed payload 836[0][LF] removed payload 836[1][LF] removed payload 836[2][LF] removed payload 875[0][LF] removed payload 875[1][LF] removed payload 875[2][LF] removed payload 885[0][LF] removed payload 895[0][LF] removed payload 895[1][LF] Removing nodes not larger than 1000[LF] removed payload 934[0][LF] removed payload 934[1][LF] removed payload 944[0][LF] removed payload 944[1][LF] removed payload 944[2][LF] removed payload 954[0][LF] Removing nodes not larger than 1100[LF] removed payload 1003[0][LF] removed payload 1003[1][LF] removed payload 1013[0][LF] removed payload 1013[1][LF] removed payload 1013[2][LF] Removing nodes not larger than 0[LF] removed payload 0[timeout=0][LF] Removing nodes not larger than 32[LF] removed payload 31[timeout=3][LF] removed payload 9[timeout=5][LF] removed payload 40[timeout=8][LF] removed payload 18[timeout=10][LF] removed payload 49[timeout=13][LF] removed payload 27[timeout=15][LF] removed payload 5[timeout=17][LF] removed payload 36[timeout=20][LF] removed payload 14[timeout=22][LF] removed payload 45[timeout=25][LF] removed payload 23[timeout=27][LF] removed payload 1[timeout=29][LF] removed payload 32[timeout=32][LF] Removing nodes not larger than 64[LF] removed payload 10[timeout=34][LF] removed payload 41[timeout=37][LF] removed payload 19[timeout=39][LF] removed payload 28[timeout=44][LF] removed payload 6[timeout=46][LF] removed payload 37[timeout=49][LF] removed payload 15[timeout=51][LF] removed payload 46[timeout=54][LF] removed payload 24[timeout=56][LF] removed payload 2[timeout=58][LF] removed payload 33[timeout=61][LF] removed payload 11[timeout=63][LF] Removing nodes not larger than 96[LF] removed payload 42[timeout=66][LF] removed payload 20[timeout=68][LF] removed payload 29[timeout=73][LF] removed payload 7[timeout=75][LF] removed payload 38[timeout=78][LF] removed payload 16[timeout=80][LF] removed payload 47[timeout=83][LF] removed payload 25[timeout=85][LF] removed payload 3[timeout=87][LF] removed payload 34[timeout=90][LF] removed payload 12[timeout=92][LF] removed payload 43[timeout=95][LF] Removing nodes not larger than 128[LF] removed payload 21[timeout=97][LF] removed payload 30[timeout=102][LF] removed payload 8[timeout=104][LF] removed payload 39[timeout=107][LF] removed payload 17[timeout=109][LF] removed payload 48[timeout=112][LF] removed payload 26[timeout=114][LF] removed payload 4[timeout=116][LF] removed payload 35[timeout=119][LF] removed payload 13[timeout=121][LF] removed payload 44[timeout=124][LF] removed payload 22[timeout=126][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1309 ./unit/units unit1309 - > log/5/stdout1309 2> log/5/stderr1309 === End of file commands.log === Start of file server.cmd Testnum 1309 === End of file server.cmd === Start of file valgrind1309 ==151560== ==151560== Process terminating with default action of signal 4 (SIGILL) ==151560== Illegal opcode at address 0x4091F7F ==151560== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==151560== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==151560== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==151560== by 0x400B1A9: main (first.c:264) === End of file valgrind1309 test 1323 [curlx_tvdiff] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1323 ./unit/units unit1323 - > log/19/stdout1323 2> log/19/stderr1323 units returned 132, when expecting 0 1323: exit FAILED == Contents of files in the log/19/ directory after test 1323 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1323 ./unit/units unit1323 - > log/19/stdout1323 2> log/19/stderr1323 === End of file commands.log === Start of file server.cmd Testnum 1323 === End of file server.cmd === Start of file valgrind1323 ==152064== ==152064== Process terminating with default action of signal 4 (SIGILL) ==152064== Illegal opcode at address 0x4091F7F ==152064== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==152064== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==152064== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==152064== by 0x400B1A9: main (first.c:264) === End of file valgrind1323 test 1297 [CONNECT to peer that returns nothing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1297 ../src/curl -q --output log/8/curl1297.out --include --trace-ascii log/8/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33431 http://127.0.0.1:44467/we/want/that/page/1297 > log/8/stdout1297 2> log/8/stderr1297 1297: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1297 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1297 ../src/curl -q --output log/8/curl1297.out --include --trace-ascii log/8/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:33431 http://127.0.0.1:44467/we/want/that/page/1297 > log/8/stdout1297 2> log/8/stderr1297 === End of file commands.log === Start of file http2_server.log 19:28:22.965423 ====> Client connect 19:28:22.965459 accept_connection 3 returned 4 19:28:22.965564 Read 93 bytes 19:28:22.965579 Process 93 bytes request 19:28:22.965593 Got request: GET /verifiedserver HTTP/1.1 19:28:22.965602 Are-we-friendly question received 19:28:22.965635 Wrote request (93 bytes) input to log/8/proxy.input 19:28:22.965653 Identifying ourselves as friends 19:28:22.965713 Response sent (56 bytes) and written to log/8/proxy.response 19:28:22.965723 special request received, no persistency 19:28:22.965731 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33431... * Established connection to 127.0.0.1 (127.0.0.1 port 33431) from 127.0.0.1 port 57240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33431 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33431 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 95309 === End of file http2_verify.out === Start of file http_server.log 19:28:21.875895 ====> Client connect 19:28:21.875929 accept_connection 3 returned 4 19:28:21.875950 Read 93 bytes 19:28:21.875960 Process 93 bytes request 19:28:21.875973 Got request: GET /verifiedserver HTTP/1.1 19:28:21.875981 Are-we-friendly question received 19:28:21.876007 Wrote request (93 bytes) input to log/8/server.input 19:28:21.876023 Identifying ourselves as friends 19:28:21.876081 Response sent (56 bytes) and written to log/8/server.response 19:28:21.876090 special request received, no persistency 19:28:21.876098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 56608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1313 ../src/curl -q --trace-ascii log/17/trace1313 --trace-time http://127.0.0.1:35993/1313 -J -O --output-dir log/17 > log/17/stdout1313 2> log/17/stderr1313 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1310 ../src/curl -q --trace-ascii log/24/trace1310 --trace-time http://127.0.0.1:38895/junk -J -O --show-headers --output-dir log/24 > log/24/stdout1310 2> log/24/stderr1310 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1312 ../src/curl -q --trace-ascii log/23/trace1312 --trace-time 127.0.0.1:44711/1312 -J -O --output-dir log/23 > log/23/stdout1312 2> log/23/stderr1312 log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 95309 === End of file proxy.response === Start of file server.cmd Testnum 1297 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1297 ==150889== ==150889== Process terminating with default action of signal 4 (SIGILL) ==150889== Illegal opcode at address 0x492B75F ==150889== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==150889== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==150889== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==150889== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==150889== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==150889== by 0x49908EB: curl_version_info (version.c:600) ==150889== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==150889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==150889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==150889== by 0x4003269: main (tool_main.c:195) === End of file valgrind1297 test 1313 [HTTP GET with -J, Content-Disposition, uneven quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1313 ../src/curl -q --trace-ascii log/17/trace1313 --trace-time http://127.0.0.1:35993/1313 -J -O --output-dir log/17 > log/17/stdout1313 2> log/17/stderr1313 1313: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1313 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1313 ../src/curl -q --trace-ascii log/17/trace1313 --trace-time http://127.0.0.1:35993/1313 -J -O --output-dir log/17 > log/17/stdout1313 2> log/17/stderr1313 === End of file commands.log === Start of file http_server.log 19:28:24.261806 ====> Client connect 19:28:24.261845 accept_connection 3 returned 4 19:28:24.261869 Read 93 bytes 19:28:24.261878 Process 93 bytes request 19:28:24.261891 Got request: GET /verifiedserver HTTP/1.1 19:28:24.261899 Are-we-friendly question received 19:28:24.261926 Wrote request (93 bytes) input to log/17/server.input 19:28:24.261942 Identifying ourselves as friends 19:28:24.262018 Response sent (56 bytes) and written to log/17/server.response 19:28:24.262027 special request received, no persistency 19:28:24.262035 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 54126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1313 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1313 ==151561== ==151561== Process terminating with default action of signal 4 (SIGILL) ==151561== Illegal opcode at address 0x492B75F ==151561== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151561== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151561== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151561== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151561== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151561== by 0x49908EB: curl_version_info (version.c:600) ==151561== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151561== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151561== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151561== by 0x4003269: main (tool_main.c:195) === End of file valgrind1313 test 1310 [HTTP GET with -J + --show-headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1310 ../src/curl -q --trace-ascii log/24/trace1310 --trace-time http://127.0.0.1:38895/junk -J -O --show-headers --output-dir log/24 > log/24/stdout1310 2> log/24/stderr1310 1310: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1310 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1310 ../src/curl -q --trace-ascii log/24/trace1310 --trace-time http://127.0.0.1:38895/junk -J -O --show-headers --output-dir log/24 > log/24/stdout1310 2> log/24/stderr1310 === End of file commands.log === Start of file http_server.log 19:28:23.033792 ====> Client connect 19:28:23.033818 accept_connection 3 returned 4 19:28:23.033835 Read 93 bytes 19:28:23.033842 Process 93 bytes request 19:28:23.033852 Got request: GET /verifiedserver HTTP/1.1 19:28:23.033859 Are-we-friendly question received 19:28:23.033878 Wrote request (93 bytes) input to log/24/server.input 19:28:23.033890 Identifying ourselves as friends 19:28:23.033937 Response sent (56 bytes) and written to log/24/server.response 19:28:23.033944 special request received, no persistency 19:28:23.033950 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 56682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1310 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1310 ==151401== ==151401== Process terminating with default action of signal 4 (SIGILL) ==151401== Illegal opcode at address 0x492B75F ==151401== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151401== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151401== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151401== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151401== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151401== by 0x49908EB: curl_version_info (version.c:600) ==151401== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151401== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151401== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151401== by 0x4003269: main (tool_main.c:195) === End of file valgrind1310 test 1312 [HTTP GET with -J, Content-Disposition and ; in filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1312 ../src/curl -q --trace-ascii log/23/trace1312 --trace-time 127.0.0.1:44711/1312 -J -O --output-dir log/23 > log/23/stdout1312 2> log/23/stderr1312 1312: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1318 ../src/curl -q --output log/20/curl1318.out --include --trace-ascii log/20/trace1318 --trace-time --resolve MiXeDcAsE.cOm:33897:127.0.0.1 http://MiXeDcAsE.cOm:33897/1318 http://mixedcase.com:33897/13180001 > log/20/stdout1318 2> log/20/stderr1318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:40921/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 n the log/23/ directory after test 1312 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1312 ../src/curl -q --trace-ascii log/23/trace1312 --trace-time 127.0.0.1:44711/1312 -J -O --output-dir log/23 > log/23/stdout1312 2> log/23/stderr1312 === End of file commands.log === Start of file http_server.log 19:28:23.224348 ====> Client connect 19:28:23.224387 accept_connection 3 returned 4 19:28:23.224414 Read 93 bytes 19:28:23.224425 Process 93 bytes request 19:28:23.224439 Got request: GET /verifiedserver HTTP/1.1 19:28:23.224448 Are-we-friendly question received 19:28:23.224479 Wrote request (93 bytes) input to log/23/server.input 19:28:23.224497 Identifying ourselves as friends 19:28:23.224569 Response sent (56 bytes) and written to log/23/server.response 19:28:23.224581 special request received, no persistency 19:28:23.224590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 46938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1312 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1312 ==151541== ==151541== Process terminating with default action of signal 4 (SIGILL) ==151541== Illegal opcode at address 0x492B75F ==151541== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151541== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151541== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151541== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151541== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151541== by 0x49908EB: curl_version_info (version.c:600) ==151541== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151541== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151541== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151541== by 0x4003269: main (tool_main.c:195) === End of file valgrind1312 test 1318 [HTTP with --resolve and same hostname using different cases] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1318 ../src/curl -q --output log/20/curl1318.out --include --trace-ascii log/20/trace1318 --trace-time --resolve MiXeDcAsE.cOm:33897:127.0.0.1 http://MiXeDcAsE.cOm:33897/1318 http://mixedcase.com:33897/13180001 > log/20/stdout1318 2> log/20/stderr1318 1318: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1318 ../src/curl -q --output log/20/curl1318.out --include --trace-ascii log/20/trace1318 --trace-time --resolve MiXeDcAsE.cOm:33897:127.0.0.1 http://MiXeDcAsE.cOm:33897/1318 http://mixedcase.com:33897/13180001 > log/20/stdout1318 2> log/20/stderr1318 === End of file commands.log === Start of file http_server.log 19:28:23.445086 ====> Client connect 19:28:23.445118 accept_connection 3 returned 4 19:28:23.445647 Read 93 bytes 19:28:23.445662 Process 93 bytes request 19:28:23.445673 Got request: GET /verifiedserver HTTP/1.1 19:28:23.445682 Are-we-friendly question received 19:28:23.445712 Wrote request (93 bytes) input to log/20/server.input 19:28:23.445729 Identifying ourselves as friends 19:28:23.445794 Response sent (56 bytes) and written to log/20/server.response 19:28:23.445803 special request received, no persistency 19:28:23.445811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 42590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1318 ==151783== ==151783== Process terminating with default action of signal 4 (SIGILL) ==151783== Illegal opcode at address 0x492B75F ==151783== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151783== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151783== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151783== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151783== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151783== by 0x49908EB: curl_version_info (version.c:600) ==151783== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151783== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151783== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151783== by 0x4003269: main (tool_main.c:195) === End of file valgrind1318 test 1311 [HTTP GET with -J and Content-Disposition] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:40921/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 1311: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1311 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1311 ../src/curl -q --trace-ascii log/12/trace1311 --trace-time http://127.0.0.1:40921/1311 -J -O --output-dir log/12 > log/12/stdout1311 2> log/12/stderr1311 === End of file commands.log === Start of file http_server.log 19:28:23.192962 ====> Client connect 19:28:23.193002 accept_connection 3 returned 4 19:28:23.193026 Read 93 bytes 19:28:23.193037 Process 93 bytes request 19:28:23.193049 Got request: GET /verifiedserver HTTP/1.1 19:28:23.193058 Are-we-friendly question received 19:28:23.193091 Wrote request (93 bytes) input to log/12/server.input 19:28:23.193111 Identifying ourselves as friends 19:28:23.193187 Response sent (56 bytes) and written to log/12/server.response 19:28:23.193199 special request received, no persistency 19:28:23.193208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 57796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out =CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:40859 > log/7/stdout1314 2> log/7/stderr1314 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1317 ../src/curl -q --output log/3/curl1317.out --include --trace-ascii log/3/trace1317 --trace-time --resolve example.com:36161:127.0.0.1 http://example.com:36161/1317 > log/3/stdout1317 2> log/3/stderr1317 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1322 ../src/curl -q --output log/10/curl1322.out --include --trace-ascii log/10/trace1322 --trace-time --ipv4 --resolve example.com.:40913:127.0.0.1 http://example.com.:40913/1322 > log/10/stdout1322 2> log/10/stderr1322 == Start of file server.cmd Testnum 1311 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1311 ==151491== ==151491== Process terminating with default action of signal 4 (SIGILL) ==151491== Illegal opcode at address 0x492B75F ==151491== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151491== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151491== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151491== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151491== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151491== by 0x49908EB: curl_version_info (version.c:600) ==151491== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151491== by 0x4003269: main (tool_main.c:195) === End of file valgrind1311 test 1314 [HTTP Location: following a // prefixed url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:40859 > log/7/stdout1314 2> log/7/stderr1314 1314: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1314 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:40859 > log/7/stdout1314 2> log/7/stderr1314 === End of file commands.log === Start of file http_server.log 19:28:23.278511 ====> Client connect 19:28:23.288687 accept_connection 3 returned 4 19:28:23.288786 Read 93 bytes 19:28:23.288797 Process 93 bytes request 19:28:23.288812 Got request: GET /verifiedserver HTTP/1.1 19:28:23.288820 Are-we-friendly question received 19:28:23.308429 Wrote request (93 bytes) input to log/7/server.input 19:28:23.308469 Identifying ourselves as friends 19:28:23.308547 Response sent (56 bytes) and written to log/7/server.response 19:28:23.308557 special request received, no persistency 19:28:23.308564 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 46980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1314 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1314 ==151620== ==151620== Process terminating with default action of signal 4 (SIGILL) ==151620== Illegal opcode at address 0x492B75F ==151620== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151620== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151620== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151620== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151620== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151620== by 0x49908EB: curl_version_info (version.c:600) ==151620== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151620== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151620== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151620== by 0x4003269: main (tool_main.c:195) === End of file valgrind1314 test 1317 [HTTP with --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1317 ../src/curl -q --output log/3/curl1317.out --include --trace-ascii log/3/trace1317 --trace-time --resolve example.com:36161:127.0.0.1 http://example.com:36161/1317 > log/3/stdout1317 2> log/3/stderr1317 1317: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1317 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1317 ../src/curl -q --output log/3/curl1317.out --include --trace-ascii log/3/trace1317 --trace-time --resolve example.com:36161:127.0.0.1 http://example.com:36161/1317 > log/3/stdout1317 2> log/3/stderr1317 === End of file commands.log === Start of file http_server.log 19:28:24.443104 ====> Client connect 19:28:24.443143 accept_connection 3 returned 4 19:28:24.443167 Read 93 bytes 19:28:24.443177 Process 93 bytes request 19:28:24.443191 Got request: GET /verifiedserver HTTP/1.1 19:28:24.443200 Are-we-friendly question received 19:28:24.443232 Wrote request (93 bytes) input to log/3/server.input 19:28:24.443252 Identifying ourselves as friends 19:28:24.443326 Response sent (56 bytes) and written to log/3/server.response 19:28:24.443339 special request received, no persistency 19:28:24.443348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1317 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1317 ==151772== ==151772== Process terminating with default action of signal 4 (SIGILL) ==151772== Illegal opcode at address 0x492B75F ==151772== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151772== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151772== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151772== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151772== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151772== by 0x49908EB: curl_version_info (version.c:600) ==151772== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151772== by 0x4003269: main (tool_main.c:195) === End of file valgrind1317 test 1322 [HTTP with --resolve and hostname with trailing dot] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1322 ../src/curl -q --output log/10/curl1322.out --include --trace-ascii log/10/trace1322 --trace-time --ipv4 --resolve example.com.:40913:127.0.0.1 http://example.com.:40913/1322 > log/10/stdout1322 2> log/10/stderr1322 1322: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in theCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1320 ../src/curl -q --output log/4/curl1320.out --include --trace-ascii log/4/trace1320 --trace-time smtp://smtp.1320:32885/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:45375 log/4/stdout1320 2> log/4/stderr1320 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1315 ../src/curl -q --output log/13/curl1315.out --include --trace-ascii log/13/trace1315 --trace-time http://127.0.0.1:38821/we/want/1315 -F name=value -F 'file=@log/13/test1315.txt,log/13/test1315.txt;type=magic/content,log/13/test1315.txt' > log/13/stdout1315 2> log/13/stderr1315 log/10/ directory after test 1322 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1322 ../src/curl -q --output log/10/curl1322.out --include --trace-ascii log/10/trace1322 --trace-time --ipv4 --resolve example.com.:40913:127.0.0.1 http://example.com.:40913/1322 > log/10/stdout1322 2> log/10/stderr1322 === End of file commands.log === Start of file http_server.log 19:28:23.799600 ====> Client connect 19:28:23.799659 accept_connection 3 returned 4 19:28:23.799687 Read 93 bytes 19:28:23.799696 Process 93 bytes request 19:28:23.799709 Got request: GET /verifiedserver HTTP/1.1 19:28:23.799718 Are-we-friendly question received 19:28:23.799762 Wrote request (93 bytes) input to log/10/server.input 19:28:23.799798 Identifying ourselves as friends 19:28:23.800034 Response sent (56 bytes) and written to log/10/server.response 19:28:23.800048 special request received, no persistency 19:28:23.800057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 41114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1322 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1322 ==152081== ==152081== Process terminating with default action of signal 4 (SIGILL) ==152081== Illegal opcode at address 0x492B75F ==152081== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152081== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152081== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152081== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152081== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152081== by 0x49908EB: curl_version_info (version.c:600) ==152081== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152081== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152081== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152081== by 0x4003269: main (tool_main.c:195) === End of file valgrind1322 test 1320 [SMTP send tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1320 ../src/curl -q --output log/4/curl1320.out --include --trace-ascii log/4/trace1320 --trace-time smtp://smtp.1320:32885/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:45375 log/4/stdout1320 2> log/4/stderr1320 1320: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1320 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1320 ../src/curl -q --output log/4/curl1320.out --include --trace-ascii log/4/trace1320 --trace-time smtp://smtp.1320:32885/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:45375 log/4/stdout1320 2> log/4/stderr1320 === End of file commands.log === Start of file http2_server.log 19:28:23.765107 ====> Client connect 19:28:23.765161 accept_connection 3 returned 4 19:28:23.765190 Read 93 bytes 19:28:23.765202 Process 93 bytes request 19:28:23.765230 Got request: GET /verifiedserver HTTP/1.1 19:28:23.765240 Are-we-friendly question received 19:28:23.765271 Wrote request (93 bytes) input to log/4/proxy.input 19:28:23.765292 Identifying ourselves as friends 19:28:23.765395 Response sent (56 bytes) and written to log/4/proxy.response 19:28:23.765409 special request received, no persistency 19:28:23.765418 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45375... * Established connection to 127.0.0.1 (127.0.0.1 port 45375) from 127.0.0.1 port 59998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45375 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45375 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 83777 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 83777 === End of file proxy.response === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 19:28:24.118431 ====> Client connect 19:28:24.118623 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:24.122377 < "EHLO verifiedserver" 19:28:24.122438 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:24.123026 < "HELP" 19:28:24.123064 > "214 WE ROOLZ: 113210[CR][LF]" 19:28:24.123083 return proof we are we 19:28:24.123345 < "QUIT" 19:28:24.123375 > "221 curl ESMTP server signing off[CR][LF]" 19:28:24.124579 MAIN sockfilt said DISC 19:28:24.124608 ====> Client disconnected 19:28:24.124688 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:23.721365 ====> Client connect 19:28:23.721717 Received DATA (on stdin) 19:28:23.721733 > 146 bytes data, server => client 19:28:23.721744 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:23.721753 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:23.721761 '220 \___|\___/|_| \_\_____|\r\n' 19:28:23.725201 < 21 bytes data, client => server 19:28:23.725228 'EHLO verifiedserver\r\n' 19:28:23.725498 Received DATA (on stdin) 19:28:23.725511 > 53 bytes data, server => client 19:28:23.725523 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:23.725962 < 6 bytes data, client => server 19:28:23.725979 'HELP\r\n' 19:28:23.726135 Received DATA (on stdin) 19:28:23.726148 > 22 bytes data, server => client 19:28:23.726158 '214 WE ROOLZ: 113210\r\n' 19:28:23.726276 < 6 bytes data, client => server 19:28:23.726292 'QUIT\r\n' 19:28:23.726428 Received DATA (on stdin) 19:28:23.726440 > 35 bytes data, server => client 19:28:23.726450 '221 curl ESMTP server signing off\r\n' 19:28:23.727577 ====> Client disconnect 19:28:23.727738 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1320 From: different To: another body === End of file stdin-for-1320 === Start of file valgrind1320 ==152039== ==152039== Process terminating with default action of signal 4 (SIGILL) ==152039== Illegal opcode at address 0x492B75F ==152039== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152039== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152039== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152039== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152039== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152039== by 0x49908EB: curl_version_info (version.c:600) ==152039== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152039== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152039== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152039== by 0x4003269: main (tool_main.c:195) === End of file valgrind1320 test 1315 [HTTP -F witCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1325 ../src/curl -q --output log/9/curl1325.out --include --trace-ascii log/9/trace1325 --trace-time http://127.0.0.1:43733/we/1325 -L -d "moo" > log/9/stdout1325 2> log/9/stderr1325 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1328 ../src/curl -q --output log/15/curl1328.out --include --trace-ascii log/15/trace1328 --trace-time -f 'http://127.0.0.1:40321/[13280000-13280001]' -o log/15/#1 > log/15/stdout1328 2> log/15/stderr1328 h three files, one with explicit type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1315 ../src/curl -q --output log/13/curl1315.out --include --trace-ascii log/13/trace1315 --trace-time http://127.0.0.1:38821/we/want/1315 -F name=value -F 'file=@log/13/test1315.txt,log/13/test1315.txt;type=magic/content,log/13/test1315.txt' > log/13/stdout1315 2> log/13/stderr1315 1315: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1315 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1315 ../src/curl -q --output log/13/curl1315.out --include --trace-ascii log/13/trace1315 --trace-time http://127.0.0.1:38821/we/want/1315 -F name=value -F 'file=@log/13/test1315.txt,log/13/test1315.txt;type=magic/content,log/13/test1315.txt' > log/13/stdout1315 2> log/13/stderr1315 === End of file commands.log === Start of file http_server.log 19:28:23.306033 ====> Client connect 19:28:23.306102 accept_connection 3 returned 4 19:28:23.306125 Read 93 bytes 19:28:23.306135 Process 93 bytes request 19:28:23.306148 Got request: GET /verifiedserver HTTP/1.1 19:28:23.306156 Are-we-friendly question received 19:28:23.306184 Wrote request (93 bytes) input to log/13/server.input 19:28:23.306201 Identifying ourselves as friends 19:28:23.306268 Response sent (56 bytes) and written to log/13/server.response 19:28:23.306277 special request received, no persistency 19:28:23.306286 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1315 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==151604== ==151604== Process terminating with default action of signal 4 (SIGILL) ==151604== Illegal opcode at address 0x492B75F ==151604== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==151604== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==151604== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==151604== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==151604== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==151604== by 0x49908EB: curl_version_info (version.c:600) ==151604== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==151604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==151604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==151604== by 0x4003269: main (tool_main.c:195) === End of file valgrind1315 test 1325 [HTTP 308-redirect with POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1325 ../src/curl -q --output log/9/curl1325.out --include --trace-ascii log/9/trace1325 --trace-time http://127.0.0.1:43733/we/1325 -L -d "moo" > log/9/stdout1325 2> log/9/stderr1325 1325: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1325 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1325 ../src/curl -q --output log/9/curl1325.out --include --trace-ascii log/9/trace1325 --trace-time http://127.0.0.1:43733/we/1325 -L -d "moo" > log/9/stdout1325 2> log/9/stderr1325 === End of file commands.log === Start of file http_server.log 19:28:24.015090 ====> Client connect 19:28:24.015132 accept_connection 3 returned 4 19:28:24.015158 Read 93 bytes 19:28:24.015169 Process 93 bytes request 19:28:24.015182 Got request: GET /verifiedserver HTTP/1.1 19:28:24.015191 Are-we-friendly question received 19:28:24.015217 Wrote request (93 bytes) input to log/9/server.input 19:28:24.015234 Identifying ourselves as friends 19:28:24.015318 Response sent (56 bytes) and written to log/9/server.response 19:28:24.015328 special request received, no persistency 19:28:24.015336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 51386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1325 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1325 ==152261== ==152261== Process terminating with default action of signal 4 (SIGILL) ==152261== Illegal opcode at address 0x492B75F ==152261== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152261== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152261== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152261== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152261== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152261== by 0x49908EB: curl_version_info (version.c:600) ==152261== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152261== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152261== by 0x4003269: main (tool_main.c:195) === End of file valgrind1325 test 1328 [HTTP GET a globbed range with -f] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1328 ../src/curl -q --output log/15/curl1328.out --include --trace-ascii log/15/trace1328 --trace-time -f 'http://127.0.0.1:40321/[13280000-13280001]' -o log/15/#1 > log/15/stdout1328 2> log/15/stderr1328 1328: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1328 ../src/curl -q --output log/15/curl1328.out --include --trace-ascii log/15/trace1328 --trace-time -f 'http://127.0.0.1:40321/[13280000-13280001]' -o log/15/#1 > log/15/stdout1328 2> log/15/stderr1328 === End of file commands.log === Start of file http_server.log 19:28:25.351751 ====> Client connect 19:28:25.351791 accept_connection 3 returned 4 19:28:25.351812 Read 93 bytes 19:28:25.351820 Process 93 bytes request 19:28:25.351831 Got request: GET /verifiedserver HTTP/1.1 19:28:25.351839 Are-we-friendly question received 19:28:25.351860 Wrote request (93 bytes) input to log/15/server.input 19:28:25.351878 IdentCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1319 ../src/curl -q --output log/14/curl1319.out --include --trace-ascii log/14/trace1319 --trace-time pop3://pop.1319:44619/1319 -p -x 127.0.0.1:37729 -u user:secret > log/14/stdout1319 2> log/14/stderr1319 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:35739/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:38255 > log/1/stdout1321 2> log/1/stderr1321 ifying ourselves as friends 19:28:25.351938 Response sent (56 bytes) and written to log/15/server.response 19:28:25.351945 special request received, no persistency 19:28:25.351952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 54296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1328 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1328 ==152450== ==152450== Process terminating with default action of signal 4 (SIGILL) ==152450== Illegal opcode at address 0x492B75F ==152450== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152450== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152450== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152450== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152450== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152450== by 0x49908EB: curl_version_info (version.c:600) ==152450== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152450== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152450== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152450== by 0x4003269: main (tool_main.c:195) === End of file valgrind1328 test 1319 [POP3 fetch tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1319 ../src/curl -q --output log/14/curl1319.out --include --trace-ascii log/14/trace1319 --trace-time pop3://pop.1319:44619/1319 -p -x 127.0.0.1:37729 -u user:secret > log/14/stdout1319 2> log/14/stderr1319 1319: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1319 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1319 ../src/curl -q --output log/14/curl1319.out --include --trace-ascii log/14/trace1319 --trace-time pop3://pop.1319:44619/1319 -p -x 127.0.0.1:37729 -u user:secret > log/14/stdout1319 2> log/14/stderr1319 === End of file commands.log === Start of file http2_server.log 19:28:23.734257 ====> Client connect 19:28:23.734295 accept_connection 3 returned 4 19:28:23.734317 Read 93 bytes 19:28:23.734328 Process 93 bytes request 19:28:23.734341 Got request: GET /verifiedserver HTTP/1.1 19:28:23.734350 Are-we-friendly question received 19:28:23.734380 Wrote request (93 bytes) input to log/14/proxy.input 19:28:23.734398 Identifying ourselves as friends 19:28:23.734467 Response sent (56 bytes) and written to log/14/proxy.response 19:28:23.734479 special request received, no persistency 19:28:23.734488 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37729... * Established connection to 127.0.0.1 (127.0.0.1 port 37729) from 127.0.0.1 port 42142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37729 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37729 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 83621 === End of file http2_verify.out === Start of file pop3_server.log 19:28:23.982868 ====> Client connect 19:28:23.983138 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:28:23.983472 < "CAPA" 19:28:23.983524 > "-ERR Unrecognized command[CR][LF]" 19:28:23.983716 < "RETR verifiedserver" 19:28:23.983752 return proof we are we 19:28:23.983778 > "+OK Mail transfer starts[CR][LF]" 19:28:23.983802 > "WE ROOLZ: 125320[CR][LF]" 19:28:23.983819 > ".[CR][LF]" 19:28:24.032764 < "QUIT" 19:28:24.033252 > "+OK curl POP3 server signing off[CR][LF]" 19:28:24.042023 MAIN sockfilt said DISC 19:28:24.042107 ====> Client disconnected 19:28:24.042212 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:28:24.584468 ====> Client connect 19:28:24.586214 Received DATA (on stdin) 19:28:24.586229 > 164 bytes data, server => client 19:28:24.586240 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:24.586249 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:24.586257 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:28:24.586351 < 6 bytes data, client => server 19:28:24.586365 'CAPA\r\n' 19:28:24.586585 Received DATA (on stdin) 19:28:24.586597 > 27 bytes data, server => client 19:28:24.586608 '-ERR Unrecognized command\r\n' 19:28:24.586671 < 21 bytes data, client => server 19:28:24.586684 'RETR verifiedserver\r\n' 19:28:24.586874 Received DATA (on stdin) 19:28:24.586886 > 26 bytes data, server => client 19:28:24.586896 '+OK Mail transfer starts\r\n' 19:28:24.586920 Received DATA (on stdin) 19:28:24.586929 > 18 bytes data, server => client 19:28:24.586938 'WE ROOLZ: 125320\r\n' 19:28:24.586951 Received DATA (on stdin) 19:28:24.586960 > 3 bytes data, server => client 19:28:24.586969 '.\r\n' 19:28:24.634556 < 6 bytes data, client => server 19:28:24.634586 'QUIT\r\n' 19:28:24.636652 Received DATA (on stdin) 19:28:24.637391 > 34 bytes data, server => client 19:28:24.637796 '+OK curl POP3 server signing off\r\n' 19:28:24.639581 ====> Client disconnect 19:28:24.645288 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 83621 === End of file proxy.response === Start of file server.cmd Testnum 1319 === End of file server.cmd === Start of file valgrind1319 ==152031== ==152031== Process terminating with default action of signal 4 (SIGILL) ==152031== Illegal opcode at address 0x492B75F ==152031== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152031== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152031== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152031== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152031== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152031== by 0x49908EB: curl_version_info (version.c:600) ==152031== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152031== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152031== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152031== by 0x4003269: main (tool_main.c:195) === End of file valgrind1319 test 1321 [IMAP FETCH tunneled through HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:35739/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:38255 > log/1/stdout1321 2> log/1/stderr1321 1321: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1321 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callerCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1326 ../src/curl -q --output log/18/curl1326.out --include --trace-ascii log/18/trace1326 --trace-time telnet://127.0.0.1:43739 --upload-file - log/18/stdout1326 2> log/18/stderr1326 s=16 --log-file=log/1/valgrind1321 ../src/curl -q --output log/1/curl1321.out --include --trace-ascii log/1/trace1321 --trace-time 'imap://imap.1321:35739/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:38255 > log/1/stdout1321 2> log/1/stderr1321 === End of file commands.log === Start of file http2_server.log 19:28:24.941059 ====> Client connect 19:28:24.941097 accept_connection 3 returned 4 19:28:24.941125 Read 93 bytes 19:28:24.941135 Process 93 bytes request 19:28:24.941158 Got request: GET /verifiedserver HTTP/1.1 19:28:24.941167 Are-we-friendly question received 19:28:24.941199 Wrote request (93 bytes) input to log/1/proxy.input 19:28:24.941223 Identifying ourselves as friends 19:28:24.941293 Response sent (57 bytes) and written to log/1/proxy.response 19:28:24.941304 special request received, no persistency 19:28:24.941312 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38255... * Established connection to 127.0.0.1 (127.0.0.1 port 38255) from 127.0.0.1 port 58730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38255 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38255 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 116732 === End of file http2_verify.out === Start of file imap_server.log 19:28:24.198230 ====> Client connect 19:28:24.198397 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:28:24.198688 < "A001 CAPABILITY" 19:28:24.198742 > "A001 BAD Command[CR][LF]" 19:28:24.198909 < "A002 LIST "verifiedserver" *" 19:28:24.198937 LIST_imap got "verifiedserver" * 19:28:24.198961 > "* LIST () "/" "WE ROOLZ: 122891"[CR][LF]" 19:28:24.198979 > "A002 OK LIST Completed[CR][LF]" 19:28:24.198993 return proof we are we 19:28:24.249227 < "A003 LOGOUT" 19:28:24.249283 > "* BYE curl IMAP server signing off[CR][LF]" 19:28:24.249304 > "A003 OK LOGOUT completed[CR][LF]" 19:28:24.253055 MAIN sockfilt said DISC 19:28:24.253099 ====> Client disconnected 19:28:24.253172 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:23.801179 ====> Client connect 19:28:23.801450 Received DATA (on stdin) 19:28:23.801463 > 164 bytes data, server => client 19:28:23.801474 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:23.801483 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:23.801492 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:28:23.801559 < 17 bytes data, client => server 19:28:23.801571 'A001 CAPABILITY\r\n' 19:28:23.801789 Received DATA (on stdin) 19:28:23.801801 > 18 bytes data, server => client 19:28:23.801810 'A001 BAD Command\r\n' 19:28:23.801867 < 30 bytes data, client => server 19:28:23.801877 'A002 LIST "verifiedserver" *\r\n' 19:28:23.802038 Received DATA (on stdin) 19:28:23.802048 > 34 bytes data, server => client 19:28:23.802058 '* LIST () "/" "WE ROOLZ: 122891"\r\n' 19:28:23.802079 Received DATA (on stdin) 19:28:23.802088 > 24 bytes data, server => client 19:28:23.802097 'A002 OK LIST Completed\r\n' 19:28:23.852088 < 13 bytes data, client => server 19:28:23.852120 'A003 LOGOUT\r\n' 19:28:23.855029 Received DATA (on stdin) 19:28:23.855054 > 36 bytes data, server => client 19:28:23.855063 '* BYE curl IMAP server signing off\r\n' 19:28:23.855093 Received DATA (on stdin) 19:28:23.855101 > 26 bytes data, server => client 19:28:23.855110 'A003 OK LOGOUT completed\r\n' 19:28:23.856042 ====> Client disconnect 19:28:23.856213 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 116732 === End of file proxy.response === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==152195== ==152195== Process terminating with default action of signal 4 (SIGILL) ==152195== Illegal opcode at address 0x492B75F ==152195== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152195== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152195== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152195== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152195== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152195== by 0x49908EB: curl_version_info (version.c:600) ==152195== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152195== by 0x4003269: main (tool_main.c:195) === End of file valgrind1321 test 1326 [TELNET to HTTP server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1326 ../src/curl -q --output log/18/curl1326.out --include --trace-ascii log/18/trace1326 --trace-time telnet://127.0.0.1:43739 --upload-file - log/18/stdout1326 2> log/18/stderr1326 1326: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1326 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1326 ../src/curl -q --output log/18/curl1326.out --include --trace-ascii log/18/trace1326 --trace-time telnet://127.0.0.1:43739 --upload-file - log/18/stdout1326 2> log/18/stderr1326 === End of file commands.log === Start of file http_server.log 19:28:25.251368 ====> Client connect 19:28:25.251404 accept_connection 3 returned 4 19:28:25.251424 Read 93 bytes 19:28:25.251433 Process 93 bytes request 19:28:25.251446 Got request: GET /verifiedserver HTTP/1.1 19:28:25.251454 Are-we-friendly question received 19:28:25.251479 Wrote request (93 bytes) input to log/18/server.input 19:28:25.251494 Identifying ourselves as friends 19:28:25.251554 Response sent (56 bytes) and written to log/18/server.response 19:28:25.251564 special request received, no persistency 19:28:25.251572 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==152392== ==152392== Process terminating with default action of signal 4 (SIGILL) ==152392== Illegal opcode at address 0x492B75F ==152392== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152392== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152392== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152392== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152392== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152392== by 0x49908EB: curl_version_info (version.c:600) ==152392== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1329 ../src/curl -q --output log/22/curl1329.out --include --trace-ascii log/22/trace1329 --trace-time http://127.0.0.1:35989/we/want/that/page/1329 -x "/server" > log/22/stdout1329 2> log/22/stderr1329 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1334 ../src/curl -q --trace-ascii log/5/trace1334 --trace-time http://127.0.0.1:37089/1334 -O -D log/5/heads1334 --output-dir log/5 > log/5/stdout1334 2> log/5/stderr1334 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1327 ../src/curl -q --include --trace-ascii log/11/trace1327 --trace-time telnet://127.0.0.1:40989 -T log/11/1327.txt log/11/stdout1327 2> log/11/stderr1327 10) ==152392== by 0x4003269: main (tool_main.c:195) === End of file valgrind1326 test 1329 [/-prefixed proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1329 ../src/curl -q --output log/22/curl1329.out --include --trace-ascii log/22/trace1329 --trace-time http://127.0.0.1:35989/we/want/that/page/1329 -x "/server" > log/22/stdout1329 2> log/22/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/22/ directory after test 1329 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1329 ../src/curl -q --output log/22/curl1329.out --include --trace-ascii log/22/trace1329 --trace-time http://127.0.0.1:35989/we/want/that/page/1329 -x "/server" > log/22/stdout1329 2> log/22/stderr1329 === End of file commands.log === Start of file http_server.log 19:28:24.521720 ====> Client connect 19:28:24.521758 accept_connection 3 returned 4 19:28:24.521781 Read 93 bytes 19:28:24.521791 Process 93 bytes request 19:28:24.521804 Got request: GET /verifiedserver HTTP/1.1 19:28:24.521812 Are-we-friendly question received 19:28:24.521841 Wrote request (93 bytes) input to log/22/server.input 19:28:24.521858 Identifying ourselves as friends 19:28:24.521935 Response sent (56 bytes) and written to log/22/server.response 19:28:24.521945 special request received, no persistency 19:28:24.521954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 52060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1329 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1329 ==152594== ==152594== Process terminating with default action of signal 4 (SIGILL) ==152594== Illegal opcode at address 0x492B75F ==152594== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152594== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152594== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152594== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152594== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152594== by 0x49908EB: curl_version_info (version.c:600) ==152594== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152594== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152594== by 0x4003269: main (tool_main.c:195) === End of file valgrind1329 test 1334 [HTTP GET with -O without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1334 ../src/curl -q --trace-ascii log/5/trace1334 --trace-time http://127.0.0.1:37089/1334 -O -D log/5/heads1334 --output-dir log/5 > log/5/stdout1334 2> log/5/stderr1334 1334: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1334 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1334 ../src/curl -q --trace-ascii log/5/trace1334 --trace-time http://127.0.0.1:37089/1334 -O -D log/5/heads1334 --output-dir log/5 > log/5/stdout1334 2> log/5/stderr1334 === End of file commands.log === Start of file http_server.log 19:28:24.748403 ====> Client connect 19:28:24.748444 accept_connection 3 returned 4 19:28:24.748468 Read 93 bytes 19:28:24.748477 Process 93 bytes request 19:28:24.748490 Got request: GET /verifiedserver HTTP/1.1 19:28:24.748498 Are-we-friendly question received 19:28:24.748525 Wrote request (93 bytes) input to log/5/server.input 19:28:24.748541 Identifying ourselves as friends 19:28:24.748615 Response sent (56 bytes) and written to log/5/server.response 19:28:24.748626 special request received, no persistency 19:28:24.748634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 50184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1334 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1334 ==152812== ==152812== Process terminating with default action of signal 4 (SIGILL) ==152812== Illegal opcode at address 0x492B75F ==152812== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152812== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152812== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152812== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152812== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152812== by 0x49908EB: curl_version_info (version.c:600) ==152812== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152812== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152812== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152812== by 0x4003269: main (tool_main.c:195) === End of file valgrind1334 test 1327 [TELNET check of upload with stdout redirected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1327 ../src/curl -q --include --trace-ascii log/11/trace1327 --trace-time telnet://127.0.0.1:40989 -T log/11/1327.txt log/11/stdout1327 2> log/11/stderr1327 1327: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1327 === Start of file 1327.txt GET /we/want/1327 HTTP/1.0 === End of file 1327.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1327 ../src/curl -q --include --trace-ascii log/11/trace1327 --trace-time telnet://127.0.0.1:40989 -T log/11/1327.txt log/11/stdout1327 2> log/11/stderr1327 === End of file commands.log === Start of file http_server.log 19:28:24.278398 ====> Client connect 19:28:24.278441 accept_connection 3 returned 4 19:28:24.278467 Read 93 bytes 19:28:24.278478 Process 93 bytes request 19:28:24.278493 Got request: GET /verifiedserver HTTP/1.1 19:28:24.278502 Are-we-friendly question received 19:28:24.278532 Wrote request (93 bytes) input to log/11/server.input 19:28:24.278550 Identifying ourselves as friends 19:28:24.278622 Response sent (56 bytes) and written to log/11/server.response 19:28:24.278633 special request received, no persistency 19:28:24.278641 ====> CCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1333 ../src/curl -q --output log/6/curl1333.out --include --trace-ascii log/6/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33935/1333 > log/6/stdout1333 2> log/6/stderr1333 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1331 ../src/curl -q --output log/2/curl1331.out --include --trace-ascii log/2/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:34531 http://z.x.com/1331 --proxy-anyauth -c log/2/dump1331 > log/2/stdout1331 2> log/2/stderr1331 lient disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 55556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1327 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file stdin-for-1327 GET /ignore/for/1327 HTTP/1.0 === End of file stdin-for-1327 === Start of file valgrind1327 ==152408== ==152408== Process terminating with default action of signal 4 (SIGILL) ==152408== Illegal opcode at address 0x492B75F ==152408== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152408== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152408== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152408== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152408== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152408== by 0x49908EB: curl_version_info (version.c:600) ==152408== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152408== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152408== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152408== by 0x4003269: main (tool_main.c:195) === End of file valgrind1327 test 1333 [HTTP POST zero length, chunked-encoded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1333 ../src/curl -q --output log/6/curl1333.out --include --trace-ascii log/6/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33935/1333 > log/6/stdout1333 2> log/6/stderr1333 1333: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1333 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1333 ../src/curl -q --output log/6/curl1333.out --include --trace-ascii log/6/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:33935/1333 > log/6/stdout1333 2> log/6/stderr1333 === End of file commands.log === Start of file http_server.log 19:28:24.687501 ====> Client connect 19:28:24.687537 accept_connection 3 returned 4 19:28:24.687558 Read 93 bytes 19:28:24.687568 Process 93 bytes request 19:28:24.687582 Got request: GET /verifiedserver HTTP/1.1 19:28:24.687591 Are-we-friendly question received 19:28:24.687618 Wrote request (93 bytes) input to log/6/server.input 19:28:24.687635 Identifying ourselves as friends 19:28:24.687698 Response sent (56 bytes) and written to log/6/server.response 19:28:24.687708 special request received, no persistency 19:28:24.687716 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 52314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1333 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1333 ==152747== ==152747== Process terminating with default action of signal 4 (SIGILL) ==152747== Illegal opcode at address 0x492B75F ==152747== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152747== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152747== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152747== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152747== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152747== by 0x49908EB: curl_version_info (version.c:600) ==152747== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152747== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152747== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152747== by 0x4003269: main (tool_main.c:195) === End of file valgrind1333 test 1331 [HTTP --proxy-anyauth and 407 with cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1331 ../src/curl -q --output log/2/curl1331.out --include --trace-ascii log/2/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:34531 http://z.x.com/1331 --proxy-anyauth -c log/2/dump1331 > log/2/stdout1331 2> log/2/stderr1331 1331: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1331 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1331 ../src/curl -q --output log/2/curl1331.out --include --trace-ascii log/2/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:34531 http://z.x.com/1331 --proxy-anyauth -c log/2/dump1331 > log/2/stdout1331 2> log/2/stderr1331 === End of file commands.log === Start of file http_server.log 19:28:25.528409 ====> Client connect 19:28:25.528453 accept_connection 3 returned 4 19:28:25.528477 Read 93 bytes 19:28:25.528486 Process 93 bytes request 19:28:25.528500 Got request: GET /verifiedserver HTTP/1.1 19:28:25.528508 Are-we-friendly question received 19:28:25.528534 Wrote request (93 bytes) input to log/2/server.input 19:28:25.528554 Identifying ourselves as friends 19:28:25.528626 Response sent (56 bytes) and written to log/2/server.response 19:28:25.528635 special request received, no persistency 19:28:25.528642 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 50778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1331 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1331 ==152598== ==152598== Process terminating with default action of signal 4 (SIGILL) ==152598== Illegal opcode at address 0x492B75F ==152598== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152598== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152598== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152598== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152598== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152598== by 0x49908EB: curl_version_info (version.c:600) ==152598== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152598== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152598== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1324 ../src/curl -q --output log/16/curl1324.out --include --trace-ascii log/16/trace1324 --trace-time --resolve example.com:39667:[::1] http://example.com:39667/1324 > log/16/stdout1324 2> log/16/stderr1324 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1332 ../src/curl -q --output log/21/curl1332.out --include --trace-ascii log/21/trace1332 --trace-time http://127.0.0.1:39881/blah/1332 -L -d "moo" --post303 > log/21/stdout1332 2> log/21/stderr1332 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1338 ../src/curl -q --trace-ascii log/24/trace1338 --trace-time http://127.0.0.1:38895/1338 -J -O -D log/24/heads1338 --output-dir log/24 > log/24/stdout1338 2> log/24/stderr1338 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1336 ../src/curl -q --trace-ascii log/8/trace1336 --trace-time http://127.0.0.1:44467/1336 -O -D log/8/heads1336 --output-dir log/8 > log/8/stdout1336 2> log/8/stderr1336 x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152598== by 0x4003269: main (tool_main.c:195) === End of file valgrind1331 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_ipv6_server.pid" --logfile "log/16/http_ipv6_server.log" --logdir "log/16" --portfile log/16/server/http_ipv6_server.port --config log/16/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 152116 port 39667 * pid http-ipv6 => 152116 152116 test 1324 [HTTP with --resolve and [ipv6address]] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1324 ../src/curl -q --output log/16/curl1324.out --include --trace-ascii log/16/trace1324 --trace-time --resolve example.com:39667:[::1] http://example.com:39667/1324 > log/16/stdout1324 2> log/16/stderr1324 1324: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1324 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1324 ../src/curl -q --output log/16/curl1324.out --include --trace-ascii log/16/trace1324 --trace-time --resolve example.com:39667:[::1] http://example.com:39667/1324 > log/16/stdout1324 2> log/16/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 19:28:24.947613 Running HTTP IPv6 version on port 39667 19:28:24.947715 Wrote pid 152116 to log/16/server/http_ipv6_server.pid 19:28:24.947753 Wrote port 39667 to log/16/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1324 === End of file server.cmd === Start of file valgrind1324 ==152886== ==152886== Process terminating with default action of signal 4 (SIGILL) ==152886== Illegal opcode at address 0x492B75F ==152886== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152886== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152886== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152886== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152886== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152886== by 0x49908EB: curl_version_info (version.c:600) ==152886== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152886== by 0x4003269: main (tool_main.c:195) === End of file valgrind1324 test 1332 [HTTP POST with 303 redirect and --post303] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1332 ../src/curl -q --output log/21/curl1332.out --include --trace-ascii log/21/trace1332 --trace-time http://127.0.0.1:39881/blah/1332 -L -d "moo" --post303 > log/21/stdout1332 2> log/21/stderr1332 1332: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1332 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1332 ../src/curl -q --output log/21/curl1332.out --include --trace-ascii log/21/trace1332 --trace-time http://127.0.0.1:39881/blah/1332 -L -d "moo" --post303 > log/21/stdout1332 2> log/21/stderr1332 === End of file commands.log === Start of file http_server.log 19:28:24.566789 ====> Client connect 19:28:24.566823 accept_connection 3 returned 4 19:28:24.566844 Read 93 bytes 19:28:24.566854 Process 93 bytes request 19:28:24.566866 Got request: GET /verifiedserver HTTP/1.1 19:28:24.566875 Are-we-friendly question received 19:28:24.566902 Wrote request (93 bytes) input to log/21/server.input 19:28:24.566920 Identifying ourselves as friends 19:28:24.566982 Response sent (56 bytes) and written to log/21/server.response 19:28:24.566992 special request received, no persistency 19:28:24.567000 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 45440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1332 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1332 ==152629== ==152629== Process terminating with default action of signal 4 (SIGILL) ==152629== Illegal opcode at address 0x492B75F ==152629== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152629== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152629== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152629== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152629== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152629== by 0x49908EB: curl_version_info (version.c:600) ==152629== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152629== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152629== by 0x4003269: main (tool_main.c:195) === End of file valgrind1332 test 1338 [HTTP GET with -O -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1338 ../src/curl -q --trace-ascii log/24/trace1338 --trace-time http://127.0.0.1:38895/1338 -J -O -D log/24/heads1338 --output-dir log/24 > log/24/stdout1338 2> log/24/stderr1338 1338: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1338 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1338 ../src/curl -q --trace-ascii log/24/trace1338 --trace-time http://127.0.0.1:38895/1338 -J -O -D log/24/heads1338 --output-dir log/24 > log/24/stdout1338 2> log/24/stderr1338 === End of file commands.log === Start of file http_server.log 19:28:25.515795 ====> Client connect 19:28:25.515833 accept_connection 3 returned 4 19:28:25.516010 Read 93 bytes 19:28:25.516027 Process 93 bytes request 19:28:25.516041 Got request: GET /verifiedserver HTTP/1.1 19:28:25.516050 Are-we-friendly question received 19:28:25.516083 Wrote request (93 bytes) input to log/24/server.input 19:28:25.516101 Identifying ourselves as friends 19:28:25.516166 Response sent (56 bytes) and written to log/24/server.response 19:28:25.516177 special request received, no persistency 19:28:25.516186 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 56688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 leCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1339 ../src/curl -q --trace-ascii log/23/trace1339 --trace-time http://127.0.0.1:44711/1339 -J -O -D - --output-dir log/23 > log/23/stdout1339 2> log/23/stderr1339 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1342 ../src/curl -q --trace-ascii log/7/trace1342 --trace-time http://127.0.0.1:40859/1342 -i -O -D log/7/heads1342 --output-dir log/7 > log/7/stdout1342 2> log/7/stderr1342 ft intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1338 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1338 ==153089== ==153089== Process terminating with default action of signal 4 (SIGILL) ==153089== Illegal opcode at address 0x492B75F ==153089== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153089== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153089== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153089== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153089== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153089== by 0x49908EB: curl_version_info (version.c:600) ==153089== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153089== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153089== by 0x4003269: main (tool_main.c:195) === End of file valgrind1338 test 1336 [HTTP GET with -O and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1336 ../src/curl -q --trace-ascii log/8/trace1336 --trace-time http://127.0.0.1:44467/1336 -O -D log/8/heads1336 --output-dir log/8 > log/8/stdout1336 2> log/8/stderr1336 1336: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1336 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1336 ../src/curl -q --trace-ascii log/8/trace1336 --trace-time http://127.0.0.1:44467/1336 -O -D log/8/heads1336 --output-dir log/8 > log/8/stdout1336 2> log/8/stderr1336 === End of file commands.log === Start of file http_server.log 19:28:25.277363 ====> Client connect 19:28:25.277405 accept_connection 3 returned 4 19:28:25.277430 Read 93 bytes 19:28:25.277442 Process 93 bytes request 19:28:25.277456 Got request: GET /verifiedserver HTTP/1.1 19:28:25.277465 Are-we-friendly question received 19:28:25.277498 Wrote request (93 bytes) input to log/8/server.input 19:28:25.277519 Identifying ourselves as friends 19:28:25.277593 Response sent (56 bytes) and written to log/8/server.response 19:28:25.277605 special request received, no persistency 19:28:25.277615 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 56620 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1336 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1336 ==152985== ==152985== Process terminating with default action of signal 4 (SIGILL) ==152985== Illegal opcode at address 0x492B75F ==152985== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==152985== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==152985== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==152985== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==152985== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==152985== by 0x49908EB: curl_version_info (version.c:600) ==152985== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==152985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==152985== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==152985== by 0x4003269: main (tool_main.c:195) === End of file valgrind1336 test 1339 [HTTP GET with -O -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1339 ../src/curl -q --trace-ascii log/23/trace1339 --trace-time http://127.0.0.1:44711/1339 -J -O -D - --output-dir log/23 > log/23/stdout1339 2> log/23/stderr1339 1339: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1339 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1339 ../src/curl -q --trace-ascii log/23/trace1339 --trace-time http://127.0.0.1:44711/1339 -J -O -D - --output-dir log/23 > log/23/stdout1339 2> log/23/stderr1339 === End of file commands.log === Start of file http_server.log 19:28:25.578355 ====> Client connect 19:28:25.578397 accept_connection 3 returned 4 19:28:25.578421 Read 93 bytes 19:28:25.578433 Process 93 bytes request 19:28:25.578447 Got request: GET /verifiedserver HTTP/1.1 19:28:25.578456 Are-we-friendly question received 19:28:25.578489 Wrote request (93 bytes) input to log/23/server.input 19:28:25.578509 Identifying ourselves as friends 19:28:25.578587 Response sent (56 bytes) and written to log/23/server.response 19:28:25.578599 special request received, no persistency 19:28:25.578608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 46944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1339 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1339 ==153100== ==153100== Process terminating with default action of signal 4 (SIGILL) ==153100== Illegal opcode at address 0x492B75F ==153100== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153100== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153100== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153100== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153100== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153100== by 0x49908EB: curl_version_info (version.c:600) ==153100== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153100== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153100== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153100== by 0x4003269: main (tool_main.c:195) === End of file valgrind1339 test 1342 [HTTP GET with -O -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1342 ../src/curl -q --trace-ascii log/7/trace1342 --trace-time http://127.0.0.1:40859/1342 -i -O -D log/7/heads1342 --output-dir log/7 > log/7/stdout1342 2> log/7/stderr1342 1342: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1342 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:33897/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/20 > log/20/stdout1340 2> log/20/stderr1340 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1344 ../src/curl -q --trace-ascii log/10/trace1344 --trace-time http://127.0.0.1:40913/1344 -i -O -D log/10/heads1344 --output-dir log/10 > log/10/stdout1344 2> log/10/stderr1344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1342 ../src/curl -q --trace-ascii log/7/trace1342 --trace-time http://127.0.0.1:40859/1342 -i -O -D log/7/heads1342 --output-dir log/7 > log/7/stdout1342 2> log/7/stderr1342 === End of file commands.log === Start of file http_server.log 19:28:26.011859 ====> Client connect 19:28:26.011898 accept_connection 3 returned 4 19:28:26.011922 Read 93 bytes 19:28:26.011931 Process 93 bytes request 19:28:26.011945 Got request: GET /verifiedserver HTTP/1.1 19:28:26.011954 Are-we-friendly question received 19:28:26.011983 Wrote request (93 bytes) input to log/7/server.input 19:28:26.012002 Identifying ourselves as friends 19:28:26.012076 Response sent (56 bytes) and written to log/7/server.response 19:28:26.012087 special request received, no persistency 19:28:26.012096 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 46992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1342 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1342 ==153371== ==153371== Process terminating with default action of signal 4 (SIGILL) ==153371== Illegal opcode at address 0x492B75F ==153371== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153371== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153371== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153371== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153371== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153371== by 0x49908EB: curl_version_info (version.c:600) ==153371== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153371== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153371== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153371== by 0x4003269: main (tool_main.c:195) === End of file valgrind1342 test 1340 [HTTP GET with -O -J and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:33897/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/20 > log/20/stdout1340 2> log/20/stderr1340 1340: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1340 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1340 ../src/curl -q --trace-ascii log/20/trace1340 --trace-time http://127.0.0.1:33897/1340 -J -O -D log/20/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/20 > log/20/stdout1340 2> log/20/stderr1340 === End of file commands.log === Start of file http_server.log 19:28:25.768342 ====> Client connect 19:28:25.768391 accept_connection 3 returned 4 19:28:25.768597 Read 93 bytes 19:28:25.768612 Process 93 bytes request 19:28:25.768624 Got request: GET /verifiedserver HTTP/1.1 19:28:25.768633 Are-we-friendly question received 19:28:25.768666 Wrote request (93 bytes) input to log/20/server.input 19:28:25.768683 Identifying ourselves as friends 19:28:25.768747 Response sent (56 bytes) and written to log/20/server.response 19:28:25.768756 special request received, no persistency 19:28:25.768764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 42604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1340 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1340 ==153252== ==153252== Process terminating with default action of signal 4 (SIGILL) ==153252== Illegal opcode at address 0x492B75F ==153252== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153252== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153252== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153252== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153252== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153252== by 0x49908EB: curl_version_info (version.c:600) ==153252== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153252== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153252== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153252== by 0x4003269: main (tool_main.c:195) === End of file valgrind1340 test 1344 [HTTP GET with -O -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1344 ../src/curl -q --trace-ascii log/10/trace1344 --trace-time http://127.0.0.1:40913/1344 -i -O -D log/10/heads1344 --output-dir log/10 > log/10/stdout1344 2> log/10/stderr1344 1344: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1344 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1344 ../src/curl -q --trace-ascii log/10/trace1344 --trace-time http://127.0.0.1:40913/1344 -i -O -D log/10/heads1344 --output-dir log/10 > log/10/stdout1344 2> log/10/stderr1344 === End of file commands.log === Start of file http_server.log 19:28:26.121673 ====> Client connect 19:28:26.121720 accept_connection 3 returned 4 19:28:26.121746 Read 93 bytes 19:28:26.121756 Process 93 bytes request 19:28:26.121768 Got request: GET /verifiedserver HTTP/1.1 19:28:26.121777 Are-we-friendly question received 19:28:26.121807 Wrote request (93 bytes) input to log/10/server.input 19:28:26.121823 Identifying ourselves as friends 19:28:26.121914 Response sent (56 bytes) and written to log/10/server.response 19:28:26.121925 special request received, no persistency 19:28:26.121933 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 41118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1341 ../src/curl -q --trace-ascii log/12/trace1341 --trace-time http://127.0.0.1:40921/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/12 > log/12/stdout1341 2> log/12/stderr1341 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1337 ../src/curl -q --trace-ascii log/17/trace1337 --trace-time http://127.0.0.1:35993/1337 -O -D - --output-dir log/17 > log/17/stdout1337 2> log/17/stderr1337 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1343 ../src/curl -q --trace-ascii log/3/trace1343 --trace-time http://127.0.0.1:36161/1343 -i -O -D - --output-dir log/3 > log/3/stdout1343 2> log/3/stderr1343 ver.cmd Testnum 1344 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1344 ==153468== ==153468== Process terminating with default action of signal 4 (SIGILL) ==153468== Illegal opcode at address 0x492B75F ==153468== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153468== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153468== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153468== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153468== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153468== by 0x49908EB: curl_version_info (version.c:600) ==153468== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153468== by 0x4003269: main (tool_main.c:195) === End of file valgrind1344 test 1341 [HTTP GET with -O -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1341 ../src/curl -q --trace-ascii log/12/trace1341 --trace-time http://127.0.0.1:40921/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/12 > log/12/stdout1341 2> log/12/stderr1341 1341: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1341 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1341 ../src/curl -q --trace-ascii log/12/trace1341 --trace-time http://127.0.0.1:40921/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/12 > log/12/stdout1341 2> log/12/stderr1341 === End of file commands.log === Start of file http_server.log 19:28:25.894773 ====> Client connect 19:28:25.895005 accept_connection 3 returned 4 19:28:25.895037 Read 93 bytes 19:28:25.895047 Process 93 bytes request 19:28:25.895060 Got request: GET /verifiedserver HTTP/1.1 19:28:25.895068 Are-we-friendly question received 19:28:25.895099 Wrote request (93 bytes) input to log/12/server.input 19:28:25.895115 Identifying ourselves as friends 19:28:25.895201 Response sent (56 bytes) and written to log/12/server.response 19:28:25.895209 special request received, no persistency 19:28:25.895217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 57810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1341 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1341 ==153319== ==153319== Process terminating with default action of signal 4 (SIGILL) ==153319== Illegal opcode at address 0x492B75F ==153319== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153319== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153319== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153319== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153319== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153319== by 0x49908EB: curl_version_info (version.c:600) ==153319== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153319== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153319== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153319== by 0x4003269: main (tool_main.c:195) === End of file valgrind1341 test 1337 [HTTP GET with -O and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1337 ../src/curl -q --trace-ascii log/17/trace1337 --trace-time http://127.0.0.1:35993/1337 -O -D - --output-dir log/17 > log/17/stdout1337 2> log/17/stderr1337 1337: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1337 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1337 ../src/curl -q --trace-ascii log/17/trace1337 --trace-time http://127.0.0.1:35993/1337 -O -D - --output-dir log/17 > log/17/stdout1337 2> log/17/stderr1337 === End of file commands.log === Start of file http_server.log 19:28:26.541753 ====> Client connect 19:28:26.541801 accept_connection 3 returned 4 19:28:26.541955 Read 93 bytes 19:28:26.541972 Process 93 bytes request 19:28:26.541985 Got request: GET /verifiedserver HTTP/1.1 19:28:26.541994 Are-we-friendly question received 19:28:26.542028 Wrote request (93 bytes) input to log/17/server.input 19:28:26.542046 Identifying ourselves as friends 19:28:26.542112 Response sent (56 bytes) and written to log/17/server.response 19:28:26.542123 special request received, no persistency 19:28:26.542132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 54134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1337 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1337 ==153093== ==153093== Process terminating with default action of signal 4 (SIGILL) ==153093== Illegal opcode at address 0x492B75F ==153093== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153093== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153093== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153093== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153093== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153093== by 0x49908EB: curl_version_info (version.c:600) ==153093== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153093== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153093== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153093== by 0x4003269: main (tool_main.c:195) === End of file valgrind1337 test 1343 [HTTP GET with -O -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1343 ../src/curl -q --trace-ascii log/3/trace1343 --trace-time http://127.0.0.1:36161/1343 -i -O -D - --output-dir log/3 > log/3/stdout1343 2> log/3/stderr1343 1343: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1343 === Start of file commands.log ../libtool --mode=execute /usr/bin/valCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1335 ../src/curl -q --trace-ascii log/19/trace1335 --trace-time http://127.0.0.1:37077/1335 -O -D - --output-dir="log/19" > log/19/stdout1335 2> log/19/stderr1335 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1345 ../src/curl -q --trace-ascii log/4/trace1345 --trace-time http://127.0.0.1:35735/1345 -i -O -D - --output-dir log/4 > log/4/stdout1345 2> log/4/stderr1345 grind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1343 ../src/curl -q --trace-ascii log/3/trace1343 --trace-time http://127.0.0.1:36161/1343 -i -O -D - --output-dir log/3 > log/3/stdout1343 2> log/3/stderr1343 === End of file commands.log === Start of file http_server.log 19:28:27.083219 ====> Client connect 19:28:27.083259 accept_connection 3 returned 4 19:28:27.083284 Read 93 bytes 19:28:27.083295 Process 93 bytes request 19:28:27.083309 Got request: GET /verifiedserver HTTP/1.1 19:28:27.083320 Are-we-friendly question received 19:28:27.083351 Wrote request (93 bytes) input to log/3/server.input 19:28:27.083372 Identifying ourselves as friends 19:28:27.083445 Response sent (56 bytes) and written to log/3/server.response 19:28:27.083457 special request received, no persistency 19:28:27.083467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1343 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1343 ==153460== ==153460== Process terminating with default action of signal 4 (SIGILL) ==153460== Illegal opcode at address 0x492B75F ==153460== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153460== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153460== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153460== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153460== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153460== by 0x49908EB: curl_version_info (version.c:600) ==153460== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153460== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153460== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153460== by 0x4003269: main (tool_main.c:195) === End of file valgrind1343 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/19/server/http_server.pid" --logfile "log/19/http_server.log" --logdir "log/19" --portfile log/19/server/http_server.port --config log/19/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 152965 port 37077 * pid http => 152965 152965 test 1335 [HTTP GET with -O without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1335 ../src/curl -q --trace-ascii log/19/trace1335 --trace-time http://127.0.0.1:37077/1335 -O -D - --output-dir="log/19" > log/19/stdout1335 2> log/19/stderr1335 1335: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1335 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1335 ../src/curl -q --trace-ascii log/19/trace1335 --trace-time http://127.0.0.1:37077/1335 -O -D - --output-dir="log/19" > log/19/stdout1335 2> log/19/stderr1335 === End of file commands.log === Start of file http_server.log 19:28:25.262154 Running HTTP IPv4 version on port 37077 19:28:25.262258 Wrote pid 152965 to log/19/server/http_server.pid 19:28:25.262299 Wrote port 37077 to log/19/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start of file valgrind1335 ==153538== ==153538== Process terminating with default action of signal 4 (SIGILL) ==153538== Illegal opcode at address 0x492B75F ==153538== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153538== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153538== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153538== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153538== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153538== by 0x49908EB: curl_version_info (version.c:600) ==153538== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153538== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153538== by 0x4003269: main (tool_main.c:195) === End of file valgrind1335 test 1345 [HTTP GET with -O -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1345 ../src/curl -q --trace-ascii log/4/trace1345 --trace-time http://127.0.0.1:35735/1345 -i -O -D - --output-dir log/4 > log/4/stdout1345 2> log/4/stderr1345 1345: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1345 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1345 ../src/curl -q --trace-ascii log/4/trace1345 --trace-time http://127.0.0.1:35735/1345 -i -O -D - --output-dir log/4 > log/4/stdout1345 2> log/4/stderr1345 === End of file commands.log === Start of file http_server.log 19:28:27.257943 ====> Client connect 19:28:27.257987 accept_connection 3 returned 4 19:28:27.258013 Read 93 bytes 19:28:27.258025 Process 93 bytes request 19:28:27.258038 Got request: GET /verifiedserver HTTP/1.1 19:28:27.258048 Are-we-friendly question received 19:28:27.258081 Wrote request (93 bytes) input to log/4/server.input 19:28:27.258101 Identifying ourselves as friends 19:28:27.258176 Response sent (56 bytes) and written to log/4/server.response 19:28:27.258189 special request received, no persistency 19:28:27.258198 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 54138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1345 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1345 ==153570== ==153570== Process terminating with default action of signal 4 (SIGILL) ==153570== Illegal opcode at address 0x492B75F ==153570== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153570== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153570== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153570== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153570== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153570== by 0x49908EB: curl_version_info (version.c:600) ==153570== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153570== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153570== by 0x4003269: UnknownInlinedFun (toCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1347 ../src/curl -q --trace-ascii log/9/trace1347 --trace-time http://127.0.0.1:43733/1347 -i -O --output-dir log/9 > log/9/stdout1347 2> log/9/stderr1347 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1346 ../src/curl -q --trace-ascii log/13/trace1346 --trace-time http://127.0.0.1:38821/1346 -i -O --output-dir log/13 > log/13/stdout1346 2> log/13/stderr1346 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1351 ../src/curl -q --trace-ascii log/18/trace1351 --trace-time ftp://127.0.0.1:36115/path/file1351 -O -J -D log/18/heads1351 --output-dir log/18 > log/18/stdout1351 2> log/18/stderr1351 ol_cfgable.c:310) ==153570== by 0x4003269: main (tool_main.c:195) === End of file valgrind1345 test 1347 [HTTP GET with -O -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1347 ../src/curl -q --trace-ascii log/9/trace1347 --trace-time http://127.0.0.1:43733/1347 -i -O --output-dir log/9 > log/9/stdout1347 2> log/9/stderr1347 1347: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1347 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1347 ../src/curl -q --trace-ascii log/9/trace1347 --trace-time http://127.0.0.1:43733/1347 -i -O --output-dir log/9 > log/9/stdout1347 2> log/9/stderr1347 === End of file commands.log === Start of file http_server.log 19:28:26.374995 ====> Client connect 19:28:26.375044 accept_connection 3 returned 4 19:28:26.375065 Read 93 bytes 19:28:26.375074 Process 93 bytes request 19:28:26.375085 Got request: GET /verifiedserver HTTP/1.1 19:28:26.375094 Are-we-friendly question received 19:28:26.375121 Wrote request (93 bytes) input to log/9/server.input 19:28:26.375136 Identifying ourselves as friends 19:28:26.375200 Response sent (56 bytes) and written to log/9/server.response 19:28:26.375209 special request received, no persistency 19:28:26.375216 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 51396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1347 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1347 ==153706== ==153706== Process terminating with default action of signal 4 (SIGILL) ==153706== Illegal opcode at address 0x492B75F ==153706== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153706== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153706== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153706== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153706== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153706== by 0x49908EB: curl_version_info (version.c:600) ==153706== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153706== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153706== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153706== by 0x4003269: main (tool_main.c:195) === End of file valgrind1347 test 1346 [HTTP GET with -O -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1346 ../src/curl -q --trace-ascii log/13/trace1346 --trace-time http://127.0.0.1:38821/1346 -i -O --output-dir log/13 > log/13/stdout1346 2> log/13/stderr1346 1346: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1346 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1346 ../src/curl -q --trace-ascii log/13/trace1346 --trace-time http://127.0.0.1:38821/1346 -i -O --output-dir log/13 > log/13/stdout1346 2> log/13/stderr1346 === End of file commands.log === Start of file http_server.log 19:28:26.391906 ====> Client connect 19:28:26.391944 accept_connection 3 returned 4 19:28:26.391964 Read 93 bytes 19:28:26.391972 Process 93 bytes request 19:28:26.391985 Got request: GET /verifiedserver HTTP/1.1 19:28:26.391994 Are-we-friendly question received 19:28:26.392019 Wrote request (93 bytes) input to log/13/server.input 19:28:26.392034 Identifying ourselves as friends 19:28:26.392090 Response sent (56 bytes) and written to log/13/server.response 19:28:26.392099 special request received, no persistency 19:28:26.392106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1346 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1346 ==153726== ==153726== Process terminating with default action of signal 4 (SIGILL) ==153726== Illegal opcode at address 0x492B75F ==153726== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153726== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153726== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153726== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153726== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153726== by 0x49908EB: curl_version_info (version.c:600) ==153726== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153726== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153726== by 0x4003269: main (tool_main.c:195) === End of file valgrind1346 test 1351 [FTP download, file without C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1351 ../src/curl -q --trace-ascii log/18/trace1351 --trace-time ftp://127.0.0.1:36115/path/file1351 -O -J -D log/18/heads1351 --output-dir log/18 > log/18/stdout1351 2> log/18/stderr1351 1351: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1351 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1351 ../src/curl -q --trace-ascii log/18/trace1351 --trace-time ftp://127.0.0.1:36115/path/file1351 -O -J -D log/18/heads1351 --output-dir log/18 > log/18/stdout1351 2> log/18/stderr1351 === End of file commands.log === Start of file ftp_server.log 19:28:27.064197 ====> Client connect 19:28:27.064426 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.064803 < "USER anonymous" 19:28:27.064842 > "331 We are happy you popped in![CR][LF]" 19:28:27.065300 < "PASS ftp@example.com" 19:28:27.065343 > "230 Welcome you silly person[CR][LF]" 19:28:27.065513 < "PWD" 19:28:27.065549 > "257 "/" is current directory[CR][LF]" 19:28:27.068876 < "EPSV" 19:28:27.068907 ====> Passive DATA channel requested bCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:33255/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 y client 19:28:27.068924 DATA sockfilt for passive data channel starting... 19:28:27.074469 DATA sockfilt for passive data channel started (pid 153889) 19:28:27.074614 DATA sockfilt for passive data channel listens on port 32815 19:28:27.074670 > "229 Entering Passive Mode (|||32815|)[CR][LF]" 19:28:27.074693 Client has been notified that upcoming DATA connection is awaited on port 32815 19:28:27.075011 Client connects to port 32815 19:28:27.075042 ====> Client established passive DATA connection on port 32815 19:28:27.075140 < "TYPE I" 19:28:27.075178 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.075431 < "SIZE verifiedserver" 19:28:27.075478 > "213 17[CR][LF]" 19:28:27.075670 < "RETR verifiedserver" 19:28:27.075711 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.075812 =====> Closing passive DATA connection... 19:28:27.075836 Server disconnects passive DATA connection 19:28:27.076094 Server disconnected passive DATA connection 19:28:27.076125 DATA sockfilt for passive data channel quits (pid 153889) 19:28:27.076447 DATA sockfilt for passive data channel quit (pid 153889) 19:28:27.076478 =====> Closed passive DATA connection 19:28:27.076511 > "226 File transfer complete[CR][LF]" 19:28:27.130250 < "QUIT" 19:28:27.132016 > "221 bye bye baby[CR][LF]" 19:28:27.132078 MAIN sockfilt said DISC 19:28:27.132104 ====> Client disconnected 19:28:27.132197 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:26.666993 ====> Client connect 19:28:26.667376 Received DATA (on stdin) 19:28:26.667395 > 146 bytes data, server => client 19:28:26.667407 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:26.667416 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:26.667426 '220 \___|\___/|_| \_\_____|\r\n' 19:28:26.667563 < 16 bytes data, client => server 19:28:26.667580 'USER anonymous\r\n' 19:28:26.667771 Received DATA (on stdin) 19:28:26.667784 > 33 bytes data, server => client 19:28:26.667794 '331 We are happy you popped in!\r\n' 19:28:26.668108 < 22 bytes data, client => server 19:28:26.668126 'PASS ftp@example.com\r\n' 19:28:26.668271 Received DATA (on stdin) 19:28:26.668282 > 30 bytes data, server => client 19:28:26.668291 '230 Welcome you silly person\r\n' 19:28:26.668347 < 5 bytes data, client => server 19:28:26.668359 'PWD\r\n' 19:28:26.671577 Received DATA (on stdin) 19:28:26.671600 > 30 bytes data, server => client 19:28:26.671612 '257 "/" is current directory\r\n' 19:28:26.671695 < 6 bytes data, client => server 19:28:26.671709 'EPSV\r\n' 19:28:26.677632 Received DATA (on stdin) 19:28:26.677649 > 39 bytes data, server => client 19:28:26.677660 '229 Entering Passive Mode (|||32815|)\r\n' 19:28:26.677880 < 8 bytes data, client => server 19:28:26.677893 'TYPE I\r\n' 19:28:26.678112 Received DATA (on stdin) 19:28:26.678125 > 33 bytes data, server => client 19:28:26.678136 '200 I modify TYPE as you wanted\r\n' 19:28:26.678239 < 21 bytes data, client => server 19:28:26.678256 'SIZE verifiedserver\r\n' 19:28:26.678413 Received DATA (on stdin) 19:28:26.678426 > 8 bytes data, server => client 19:28:26.678435 '213 17\r\n' 19:28:26.678496 < 21 bytes data, client => server 19:28:26.678511 'RETR verifiedserver\r\n' 19:28:26.678766 Received DATA (on stdin) 19:28:26.678779 > 29 bytes data, server => client 19:28:26.678790 '150 Binary junk (17 bytes).\r\n' 19:28:26.679442 Received DATA (on stdin) 19:28:26.679459 > 28 bytes data, server => client 19:28:26.679469 '226 File transfer complete\r\n' 19:28:26.732968 < 6 bytes data, client => server 19:28:26.733005 'QUIT\r\n' 19:28:26.733208 Received DATA (on stdin) 19:28:26.733221 > 18 bytes data, server => client 19:28:26.733240 '221 bye bye baby\r\n' 19:28:26.734593 ====> Client disconnect 19:28:26.735122 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.676270 Running IPv4 version 19:28:27.676360 Listening on port 32815 19:28:27.676416 Wrote pid 153889 to log/18/server/ftp_sockdata.pid 19:28:27.677314 Received PING (on stdin) 19:28:27.677436 Received PORT (on stdin) 19:28:27.677847 ====> Client connect 19:28:27.678820 Received DATA (on stdin) 19:28:27.678835 > 17 bytes data, server => client 19:28:27.678846 'WE ROOLZ: 85350\r\n' 19:28:27.678875 Received DISC (on stdin) 19:28:27.678889 ====> Client forcibly disconnected 19:28:27.679065 Received QUIT (on stdin) 19:28:27.679078 quits 19:28:27.679158 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==153952== ==153952== Process terminating with default action of signal 4 (SIGILL) ==153952== Illegal opcode at address 0x492B75F ==153952== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153952== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153952== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153952== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153952== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153952== by 0x49908EB: curl_version_info (version.c:600) ==153952== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153952== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153952== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153952== by 0x4003269: main (tool_main.c:195) === End of file valgrind1351 test 1352 [FTP download, file without C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:33255/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 1352: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1352 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1352 ../src/curl -q --trace-ascii log/22/trace1352 --trace-time ftp://127.0.0.1:33255/path/file1352 -O -J -D - --output-dir log/22 > log/22/stdout1352 2> log/22/stderr1352 === End of file commands.log === Start of file ftp_server.log 19:28:27.431196 ====> Client connect 19:28:27.431397 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.434009 < "USER anonymous" 19:28:27.434058 > "331 We are happy you popped in![CR][LF]" 19:28:27.434890 < "PASS ftp@example.com" 19:28:27.434936 > "230 Welcome you silly person[CR][LF]" 19:28:27.442139 < "PWD" 19:28:27.442214 > "257 "/" is current directory[CR][LF]" 19:28:27.455471 < "EPSV" 19:28:27.455513 ====> Passive DATA channel requested by client 19:28:27.455529 DATA sockfilt for passive data channel starting... 19:28:27.462042 DATA sockfilt for passive data channel started (pid 154113) 19:28:27.462221 DATA sockfilt for passive data channel listens on port 40723 19:28:27.462281 > "229 Entering Passive Mode (|||40723|)[CR][LF]" 19:28:27.462305 Client has been notified that upcoming DATA connection is awaited on port 40723 19:28:27.466669 Client connects to port 40723 19:28:27.466725 ====> Client established passive DATA connection on port 40723 19:28:27.466856 < "TYPE I" 19:28:27.466898 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.482153 < "SIZE verifiedserver" 19:28:27.482233 > "213 17[CR][LF]" 19:28:27.482529 < "RETR verifiedserver" 19:28:27.482580 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.482697 =====> Closing passive DATA connection... 19:28:27.482723 Server disconnects passive DATA connection 19:28:27.483002 Server disconnected passive DATA connection 19:28:27.483035 DATA sockfilt for passive data channel quits (pid 154113) CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1349 ../src/curl -q --trace-ascii log/14/trace1349 --trace-time ftp://127.0.0.1:37411/path/file1349 -O -D log/14/heads1349 --output-dir log/14 > log/14/stdout1349 2> log/14/stderr1349 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1348 ../src/curl -q --trace-ascii log/15/trace1348 --trace-time ftp://127.0.0.1:44883/path/file1348 -O --output-dir log/15 > log/15/stdout1348 2> log/15/stderr1348 19:28:27.483361 DATA sockfilt for passive data channel quit (pid 154113) 19:28:27.483395 =====> Closed passive DATA connection 19:28:27.483427 > "226 File transfer complete[CR][LF]" 19:28:27.542511 < "QUIT" 19:28:27.542573 > "221 bye bye baby[CR][LF]" 19:28:27.543823 MAIN sockfilt said DISC 19:28:27.543868 ====> Client disconnected 19:28:27.543977 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:28.033991 ====> Client connect 19:28:28.035172 Received DATA (on stdin) 19:28:28.035199 > 146 bytes data, server => client 19:28:28.035288 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:28.035301 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:28.035310 '220 \___|\___/|_| \_\_____|\r\n' 19:28:28.036713 < 16 bytes data, client => server 19:28:28.036732 'USER anonymous\r\n' 19:28:28.037561 Received DATA (on stdin) 19:28:28.037590 > 33 bytes data, server => client 19:28:28.037614 '331 We are happy you popped in!\r\n' 19:28:28.037692 < 22 bytes data, client => server 19:28:28.037703 'PASS ftp@example.com\r\n' 19:28:28.037848 Received DATA (on stdin) 19:28:28.037858 > 30 bytes data, server => client 19:28:28.037868 '230 Welcome you silly person\r\n' 19:28:28.041597 < 5 bytes data, client => server 19:28:28.041625 'PWD\r\n' 19:28:28.050577 Received DATA (on stdin) 19:28:28.050600 > 30 bytes data, server => client 19:28:28.050611 '257 "/" is current directory\r\n' 19:28:28.051645 < 6 bytes data, client => server 19:28:28.051665 'EPSV\r\n' 19:28:28.068499 Received DATA (on stdin) 19:28:28.068534 > 39 bytes data, server => client 19:28:28.068546 '229 Entering Passive Mode (|||40723|)\r\n' 19:28:28.068787 < 8 bytes data, client => server 19:28:28.068804 'TYPE I\r\n' 19:28:28.078232 Received DATA (on stdin) 19:28:28.078270 > 33 bytes data, server => client 19:28:28.078282 '200 I modify TYPE as you wanted\r\n' 19:28:28.081648 < 21 bytes data, client => server 19:28:28.081676 'SIZE verifiedserver\r\n' 19:28:28.085160 Received DATA (on stdin) 19:28:28.085185 > 8 bytes data, server => client 19:28:28.085195 '213 17\r\n' 19:28:28.085314 < 21 bytes data, client => server 19:28:28.085330 'RETR verifiedserver\r\n' 19:28:28.085639 Received DATA (on stdin) 19:28:28.085653 > 29 bytes data, server => client 19:28:28.085664 '150 Binary junk (17 bytes).\r\n' 19:28:28.086341 Received DATA (on stdin) 19:28:28.086354 > 28 bytes data, server => client 19:28:28.086364 '226 File transfer complete\r\n' 19:28:28.145213 < 6 bytes data, client => server 19:28:28.145249 'QUIT\r\n' 19:28:28.145491 Received DATA (on stdin) 19:28:28.145507 > 18 bytes data, server => client 19:28:28.145518 '221 bye bye baby\r\n' 19:28:28.146668 ====> Client disconnect 19:28:28.146897 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.062326 Running IPv4 version 19:28:27.062417 Listening on port 40723 19:28:27.062463 Wrote pid 154113 to log/22/server/ftp_sockdata.pid 19:28:27.062492 Received PING (on stdin) 19:28:27.065017 Received PORT (on stdin) 19:28:27.069505 ====> Client connect 19:28:27.085699 Received DATA (on stdin) 19:28:27.085716 > 17 bytes data, server => client 19:28:27.085726 'WE ROOLZ: 84714\r\n' 19:28:27.085753 Received DISC (on stdin) 19:28:27.085764 ====> Client forcibly disconnected 19:28:27.085960 Received QUIT (on stdin) 19:28:27.085974 quits 19:28:27.086057 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==154152== ==154152== Process terminating with default action of signal 4 (SIGILL) ==154152== Illegal opcode at address 0x492B75F ==154152== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154152== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154152== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154152== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154152== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154152== by 0x49908EB: curl_version_info (version.c:600) ==154152== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154152== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154152== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154152== by 0x4003269: main (tool_main.c:195) === End of file valgrind1352 test 1349 [FTP download, file without C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1349 ../src/curl -q --trace-ascii log/14/trace1349 --trace-time ftp://127.0.0.1:37411/path/file1349 -O -D log/14/heads1349 --output-dir log/14 > log/14/stdout1349 2> log/14/stderr1349 1349: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1349 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1349 ../src/curl -q --trace-ascii log/14/trace1349 --trace-time ftp://127.0.0.1:37411/path/file1349 -O -D log/14/heads1349 --output-dir log/14 > log/14/stdout1349 2> log/14/stderr1349 === End of file commands.log === Start of file ftp_server.log 19:28:27.004884 ====> Client connect 19:28:27.005060 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.005309 < "USER anonymous" 19:28:27.005500 > "331 We are happy you popped in![CR][LF]" 19:28:27.005653 < "PASS ftp@example.com" 19:28:27.005725 > "230 Welcome you silly person[CR][LF]" 19:28:27.005817 < "PWD" 19:28:27.005845 > "257 "/" is current directory[CR][LF]" 19:28:27.007938 < "EPSV" 19:28:27.007965 ====> Passive DATA channel requested by client 19:28:27.007978 DATA sockfilt for passive data channel starting... 19:28:27.012174 DATA sockfilt for passive data channel started (pid 153868) 19:28:27.012280 DATA sockfilt for passive data channel listens on port 45241 19:28:27.012319 > "229 Entering Passive Mode (|||45241|)[CR][LF]" 19:28:27.012336 Client has been notified that upcoming DATA connection is awaited on port 45241 19:28:27.012555 Client connects to port 45241 19:28:27.012582 ====> Client established passive DATA connection on port 45241 19:28:27.012654 < "TYPE I" 19:28:27.012679 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.012817 < "SIZE verifiedserver" 19:28:27.012847 > "213 17[CR][LF]" 19:28:27.012976 < "RETR verifiedserver" 19:28:27.013005 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.013099 =====> Closing passive DATA connection... 19:28:27.013114 Server disconnects passive DATA connection 19:28:27.013307 Server disconnected passive DATA connection 19:28:27.013329 DATA sockfilt for passive data channel quits (pid 153868) 19:28:27.013590 DATA sockfilt for passive data channel quit (pid 153868) 19:28:27.013611 =====> Closed passive DATA connection 19:28:27.013636 > "226 File transfer complete[CR][LF]" 19:28:27.058999 < "QUIT" 19:28:27.059066 > "221 bye bye baby[CR][LF]" 19:28:27.060264 MAIN sockfilt said DISC 19:28:27.060294 ====> Client disconnected 19:28:27.060388 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.607715 ====> Client connect 19:28:27.607994 Received DATA (on stdin) 19:28:27.608006 > 146 bytes data, server => client 19:28:27.608016 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.608025 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.608034 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.608110 < 16 bytes data, client => server 19:28:27.608120 'USER anonymous\r\n' 19:28:27.608430 Received DATA (on stdin) 19:28:27.608441 > 33 bytes data, server => client 19:28:27.608450 '331 We are happy you popped in!\r\n' 19:28:27.608500 < 22 bytes data, client => server 19:28:27.608510 'PASS ftp@example.com\r\n' 19:28:27.608583 Received DATA (on stdin) 19:28:27.608593 > 30 bytes data, server => client 19:28:27.608608 '230 Welcome you silly person\r\n' 19:28:27.608672 < 5 bytes data, client => server 19:28:27.608681 'PWD\r\n' 19:28:27.608768 Received DATA (on stdin) 19:28:27.608777 > 30 bytes data, server => client 19:28:27.608786 '257 "/" is current directory\r\n' 19:28:27.608831 < 6 bytes data, client => server 19:28:27.608840 'EPSV\r\n' 19:28:27.615267 Received DATA (on stdin) 19:28:27.615281 > 39 bytes data, server => client 19:28:27.615291 '229 Entering Passive Mode (|||45241|)\r\n' 19:28:27.615412 < 8 bytes data, client => server 19:28:27.615424 'TYPE I\r\n' 19:28:27.615604 Received DATA (on stdin) 19:28:27.615614 > 33 bytes data, server => client 19:28:27.615624 '200 I modify TYPE as you wanted\r\n' 19:28:27.615670 < 21 bytes data, client => server 19:28:27.615679 'SIZE verifiedserver\r\n' 19:28:27.615771 Received DATA (on stdin) 19:28:27.615780 > 8 bytes data, server => client 19:28:27.615788 '213 17\r\n' 19:28:27.615832 < 21 bytes data, client => server 19:28:27.615840 'RETR verifiedserver\r\n' 19:28:27.616038 Received DATA (on stdin) 19:28:27.616048 > 29 bytes data, server => client 19:28:27.616057 '150 Binary junk (17 bytes).\r\n' 19:28:27.616562 Received DATA (on stdin) 19:28:27.616573 > 28 bytes data, server => client 19:28:27.616582 '226 File transfer complete\r\n' 19:28:27.661697 < 6 bytes data, client => server 19:28:27.661738 'QUIT\r\n' 19:28:27.662005 Received DATA (on stdin) 19:28:27.662019 > 18 bytes data, server => client 19:28:27.662030 '221 bye bye baby\r\n' 19:28:27.663139 ====> Client disconnect 19:28:27.663322 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.612802 Running IPv4 version 19:28:27.612872 Listening on port 45241 19:28:27.612910 Wrote pid 153868 to log/14/server/ftp_sockdata.pid 19:28:27.615034 Received PING (on stdin) 19:28:27.615123 Received PORT (on stdin) 19:28:27.615441 ====> Client connect 19:28:27.616079 Received DATA (on stdin) 19:28:27.616090 > 17 bytes data, server => client 19:28:27.616098 'WE ROOLZ: 85053\r\n' 19:28:27.616119 Received DISC (on stdin) 19:28:27.616128 ====> Client forcibly disconnected 19:28:27.616259 Received QUIT (on stdin) 19:28:27.616269 quits 19:28:27.616333 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==153913== ==153913== Process terminating with default action of signal 4 (SIGILL) ==153913== Illegal opcode at address 0x492B75F ==153913== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153913== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153913== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153913== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153913== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153913== by 0x49908EB: curl_version_info (version.c:600) ==153913== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153913== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153913== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153913== by 0x4003269: main (tool_main.c:195) === End of file valgrind1349 test 1348 [FTP download, file without Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1348 ../src/curl -q --trace-ascii log/15/trace1348 --trace-time ftp://127.0.0.1:44883/path/file1348 -O --output-dir log/15 > log/15/stdout1348 2> log/15/stderr1348 1348: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1348 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1348 ../src/curl -q --trace-ascii log/15/trace1348 --trace-time ftp://127.0.0.1:44883/path/file1348 -O --output-dir log/15 > log/15/stdout1348 2> log/15/stderr1348 === End of file commands.log === Start of file ftp_server.log 19:28:26.985444 ====> Client connect 19:28:26.985626 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:26.992163 < "USER anonymous" 19:28:26.992213 > "331 We are happy you popped in![CR][LF]" 19:28:26.992411 < "PASS ftp@example.com" 19:28:26.992442 > "230 Welcome you silly person[CR][LF]" 19:28:26.992603 < "PWD" 19:28:26.992634 > "257 "/" is current directory[CR][LF]" 19:28:26.992793 < "EPSV" 19:28:26.992818 ====> Passive DATA channel requested by client 19:28:26.992832 DATA sockfilt for passive data channel starting... 19:28:27.012226 DATA sockfilt for passive data channel started (pid 153853) 19:28:27.012382 DATA sockfilt for passive data channel listens on port 42955 19:28:27.012439 > "229 Entering Passive Mode (|||42955|)[CR][LF]" 19:28:27.012463 Client has been notified that upcoming DATA connection is awaited on port 42955 19:28:27.019828 Client connects to port 42955 19:28:27.019891 ====> Client established passive DATA connection on port 42955 19:28:27.020019 < "TYPE I" 19:28:27.020066 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.027276 < "SIZE verifiedserver" 19:28:27.027353 > "213 17[CR][LF]" 19:28:27.032117 < "RETR verifiedserver" 19:28:27.032185 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.032297 =====> Closing passive DATA connection... 19:28:27.032319 Server disconnects passive DATA connection 19:28:27.032467 Server disconnected passive DATA connection 19:28:27.032502 DATA sockfilt for passive data channel quits (pid 153853) 19:28:27.032811 DATA sockfilt for passive data channel quit (pid 153853) 19:28:27.032840 =====> Closed passive DATA connection 19:28:27.032871 > "226 File transfer complete[CR][LF]" 19:28:27.082297 < "QUIT" 19:28:27.082348 > "221 bye bye baby[CR][LF]" 19:28:27.083443 MAIN sockfilt said DISC 19:28:27.083473 ====> Client disconnected 19:28:27.083546 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:26.588258 ====> Client connect 19:28:26.588566 Received DATA (on stdin) 19:28:26.588580 > 146 bytes data, server => client 19:28:26.588591 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:26.588601 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:26.588610 '220 \___|\___/|_| \_\_____|\r\n' 19:28:26.591653 < 16 bytes data, client => server 19:28:26.591671 'USER anonymous\r\n' 19:28:26.595146 Received DATA (on stdin) 19:28:26.595160 > 33 bytes data, server => client 19:28:26.595170 '331 We are happy you popped in!\r\n' 19:28:26.595241 < 22 bytes data, client => server 19:28:26.595253 'PASS ftp@example.com\r\n' 19:28:26.595371 Received DATA (on stdin) 19:28:26.595382 > 30 bytes data, server => client 19:28:26.595392 '230 Welcome you silly person\r\n' 19:28:26.595445 < 5 bytes data, client => server 19:28:26.595457 'PWD\r\n' 19:28:26.595560 Received DATA (on stdin) 19:28:26.595571 > 30 bytes data, server => client 19:28:26.595580 '257 "/" is current directory\r\n' 19:28:26.595641 < 6 bytes data, client => server 19:28:26.595651 'EPSV\r\n' 19:28:26.615403 Received DATA (on stdin) 19:28:26.615419 > 39 bytes data, server => client 19:28:26.615430 '229 Entering Passive Mode (|||42955|)\r\n' 19:28:26.621758 < 8 bytes data, client => server 19:28:26.621784 'TYPE I\r\n' 19:28:26.628247 Received DATA (on stdin) 19:28:26.628282 > 33 bytes data, server => client 19:28:26.628294 '200 I modify TYPE as you wanted\r\n' 19:28:26.628410 < 21 bytes data, client => server 19:28:26.628422 'SIZE verifiedserver\r\n' 19:28:26.631584 Received DATA (on stdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1350 ../src/curl -q --trace-ascii log/1/trace1350 --trace-time ftp://127.0.0.1:40221/path/file1350 -O -D - --output-dir log/1 > log/1/stdout1350 2> log/1/stderr1350 in) 19:28:26.631602 > 8 bytes data, server => client 19:28:26.631611 '213 17\r\n' 19:28:26.631684 < 21 bytes data, client => server 19:28:26.631693 'RETR verifiedserver\r\n' 19:28:26.638275 Received DATA (on stdin) 19:28:26.638304 > 29 bytes data, server => client 19:28:26.638314 '150 Binary junk (17 bytes).\r\n' 19:28:26.638347 Received DATA (on stdin) 19:28:26.638356 > 28 bytes data, server => client 19:28:26.638366 '226 File transfer complete\r\n' 19:28:26.685057 < 6 bytes data, client => server 19:28:26.685086 'QUIT\r\n' 19:28:26.685275 Received DATA (on stdin) 19:28:26.685286 > 18 bytes data, server => client 19:28:26.685296 '221 bye bye baby\r\n' 19:28:26.686317 ====> Client disconnect 19:28:26.686468 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:26.602363 Running IPv4 version 19:28:26.602449 Listening on port 42955 19:28:26.602490 Wrote pid 153853 to log/15/server/ftp_sockdata.pid 19:28:26.615064 Received PING (on stdin) 19:28:26.615205 Received PORT (on stdin) 19:28:26.622681 ====> Client connect 19:28:26.635256 Received DATA (on stdin) 19:28:26.635275 > 17 bytes data, server => client 19:28:26.635285 'WE ROOLZ: 84744\r\n' 19:28:26.635324 Received DISC (on stdin) 19:28:26.635336 ====> Client forcibly disconnected 19:28:26.635441 Received QUIT (on stdin) 19:28:26.635453 quits 19:28:26.635532 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==153908== ==153908== Process terminating with default action of signal 4 (SIGILL) ==153908== Illegal opcode at address 0x492B75F ==153908== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153908== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153908== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153908== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153908== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153908== by 0x49908EB: curl_version_info (version.c:600) ==153908== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153908== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153908== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153908== by 0x4003269: main (tool_main.c:195) === End of file valgrind1348 test 1350 [FTP download, file without C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1350 ../src/curl -q --trace-ascii log/1/trace1350 --trace-time ftp://127.0.0.1:40221/path/file1350 -O -D - --output-dir log/1 > log/1/stdout1350 2> log/1/stderr1350 1350: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1350 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1350 ../src/curl -q --trace-ascii log/1/trace1350 --trace-time ftp://127.0.0.1:40221/path/file1350 -O -D - --output-dir log/1 > log/1/stdout1350 2> log/1/stderr1350 === End of file commands.log === Start of file ftp_server.log 19:28:27.002108 ====> Client connect 19:28:27.002325 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.002625 < "USER anonymous" 19:28:27.002665 > "331 We are happy you popped in![CR][LF]" 19:28:27.002834 < "PASS ftp@example.com" 19:28:27.002863 > "230 Welcome you silly person[CR][LF]" 19:28:27.003013 < "PWD" 19:28:27.003044 > "257 "/" is current directory[CR][LF]" 19:28:27.003197 < "EPSV" 19:28:27.003218 ====> Passive DATA channel requested by client 19:28:27.003231 DATA sockfilt for passive data channel starting... 19:28:27.009234 DATA sockfilt for passive data channel started (pid 153865) 19:28:27.009382 DATA sockfilt for passive data channel listens on port 37669 19:28:27.009440 > "229 Entering Passive Mode (|||37669|)[CR][LF]" 19:28:27.009465 Client has been notified that upcoming DATA connection is awaited on port 37669 19:28:27.012316 Client connects to port 37669 19:28:27.012371 ====> Client established passive DATA connection on port 37669 19:28:27.012556 < "TYPE I" 19:28:27.012609 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.012829 < "SIZE verifiedserver" 19:28:27.012878 > "213 17[CR][LF]" 19:28:27.013082 < "RETR verifiedserver" 19:28:27.013125 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.013235 =====> Closing passive DATA connection... 19:28:27.013258 Server disconnects passive DATA connection 19:28:27.013397 Server disconnected passive DATA connection 19:28:27.013423 DATA sockfilt for passive data channel quits (pid 153865) 19:28:27.013676 DATA sockfilt for passive data channel quit (pid 153865) 19:28:27.013709 =====> Closed passive DATA connection 19:28:27.013740 > "226 File transfer complete[CR][LF]" 19:28:27.062158 < "QUIT" 19:28:27.062209 > "221 bye bye baby[CR][LF]" 19:28:27.063578 MAIN sockfilt said DISC 19:28:27.063622 ====> Client disconnected 19:28:27.063705 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.604928 ====> Client connect 19:28:27.605269 Received DATA (on stdin) 19:28:27.605284 > 146 bytes data, server => client 19:28:27.605296 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.605307 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.605316 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.605402 < 16 bytes data, client => server 19:28:27.605414 'USER anonymous\r\n' 19:28:27.605595 Received DATA (on stdin) 19:28:27.605606 > 33 bytes data, server => client 19:28:27.605616 '331 We are happy you popped in!\r\n' 19:28:27.605670 < 22 bytes data, client => server 19:28:27.605681 'PASS ftp@example.com\r\n' 19:28:27.605790 Received DATA (on stdin) 19:28:27.605800 > 30 bytes data, server => client 19:28:27.605810 '230 Welcome you silly person\r\n' 19:28:27.605859 < 5 bytes data, client => server 19:28:27.605869 'PWD\r\n' 19:28:27.605969 Received DATA (on stdin) 19:28:27.605980 > 30 bytes data, server => client 19:28:27.605989 '257 "/" is current directory\r\n' 19:28:27.606048 < 6 bytes data, client => server 19:28:27.606058 'EPSV\r\n' 19:28:27.614914 Received DATA (on stdin) 19:28:27.614942 > 39 bytes data, server => client 19:28:27.614955 '229 Entering Passive Mode (|||37669|)\r\n' 19:28:27.615334 < 8 bytes data, client => server 19:28:27.615354 'TYPE I\r\n' 19:28:27.615547 Received DATA (on stdin) 19:28:27.615560 > 33 bytes data, server => client 19:28:27.615571 '200 I modify TYPE as you wanted\r\n' 19:28:27.615642 < 21 bytes data, client => server 19:28:27.615657 'SIZE verifiedserver\r\n' 19:28:27.615816 Received DATA (on stdin) 19:28:27.615830 > 8 bytes data, server => client 19:28:27.615840 '213 17\r\n' 19:28:27.615903 < 21 bytes data, client => server 19:28:27.615919 'RETR verifiedserver\r\n' 19:28:27.616674 Received DATA (on stdin) 19:28:27.616688 > 29 bytes data, server => client 19:28:27.616698 '150 Binary junk (17 bytes).\r\n' 19:28:27.616724 Received DATA (on stdin) 19:28:27.616736 > 28 bytes data, server => client 19:28:27.616747 '226 File transfer complete\r\n' 19:28:27.664920 < 6 bytes data, client => server 19:28:27.664945 'QUIT\r\n' 19:28:27.665143 Received DATA (on stdin) 19:28:27.665156 > 18 bytes data, server => client 19:28:27.665166 '221 bye bye baby\r\n' 19:28:27.666444 ====> Client disconnect 19:28:27.666638 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.611769 Running IPv4 version 19:28:27.611867 Listening on port 37669 19:28:27.611909 Wrote pid 153865 to log/1/server/ftp_sockdata.pid 19:28:27.612095 Received PING (on stdin) 19:28:27.612203 Received PORT (on stdin) 19:28CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1353 ../src/curl -q --trace-ascii log/5/trace1353 --trace-time ftp://127.0.0.1:39641/path/file1353 -O -i -D log/5/heads1353 --output-dir log/5 > log/5/stdout1353 2> log/5/stderr1353 :27.615171 ====> Client connect 19:28:27.616195 Received DATA (on stdin) 19:28:27.616212 > 17 bytes data, server => client 19:28:27.616223 'WE ROOLZ: 84935\r\n' 19:28:27.616255 Received DISC (on stdin) 19:28:27.616269 ====> Client forcibly disconnected 19:28:27.616360 Received QUIT (on stdin) 19:28:27.616371 quits 19:28:27.616435 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==153891== ==153891== Process terminating with default action of signal 4 (SIGILL) ==153891== Illegal opcode at address 0x492B75F ==153891== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==153891== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==153891== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==153891== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==153891== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==153891== by 0x49908EB: curl_version_info (version.c:600) ==153891== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==153891== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==153891== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==153891== by 0x4003269: main (tool_main.c:195) === End of file valgrind1350 test 1353 [FTP download, file without C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1353 ../src/curl -q --trace-ascii log/5/trace1353 --trace-time ftp://127.0.0.1:39641/path/file1353 -O -i -D log/5/heads1353 --output-dir log/5 > log/5/stdout1353 2> log/5/stderr1353 1353: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1353 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1353 ../src/curl -q --trace-ascii log/5/trace1353 --trace-time ftp://127.0.0.1:39641/path/file1353 -O -i -D log/5/heads1353 --output-dir log/5 > log/5/stdout1353 2> log/5/stderr1353 === End of file commands.log === Start of file ftp_server.log 19:28:27.507024 ====> Client connect 19:28:27.507215 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.507469 < "USER anonymous" 19:28:27.507502 > "331 We are happy you popped in![CR][LF]" 19:28:27.507656 < "PASS ftp@example.com" 19:28:27.507679 > "230 Welcome you silly person[CR][LF]" 19:28:27.507821 < "PWD" 19:28:27.507853 > "257 "/" is current directory[CR][LF]" 19:28:27.508015 < "EPSV" 19:28:27.508043 ====> Passive DATA channel requested by client 19:28:27.508057 DATA sockfilt for passive data channel starting... 19:28:27.515523 DATA sockfilt for passive data channel started (pid 154132) 19:28:27.515662 DATA sockfilt for passive data channel listens on port 44899 19:28:27.515706 > "229 Entering Passive Mode (|||44899|)[CR][LF]" 19:28:27.515722 Client has been notified that upcoming DATA connection is awaited on port 44899 19:28:27.516008 Client connects to port 44899 19:28:27.516038 ====> Client established passive DATA connection on port 44899 19:28:27.516123 < "TYPE I" 19:28:27.516154 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.516312 < "SIZE verifiedserver" 19:28:27.516346 > "213 17[CR][LF]" 19:28:27.516498 < "RETR verifiedserver" 19:28:27.516529 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.516621 =====> Closing passive DATA connection... 19:28:27.516638 Server disconnects passive DATA connection 19:28:27.516787 Server disconnected passive DATA connection 19:28:27.516810 DATA sockfilt for passive data channel quits (pid 154132) 19:28:27.517059 DATA sockfilt for passive data channel quit (pid 154132) 19:28:27.517082 =====> Closed passive DATA connection 19:28:27.517108 > "226 File transfer complete[CR][LF]" 19:28:27.568969 < "QUIT" 19:28:27.569023 > "221 bye bye baby[CR][LF]" 19:28:27.570200 MAIN sockfilt said DISC 19:28:27.570232 ====> Client disconnected 19:28:27.570314 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.109811 ====> Client connect 19:28:27.110133 Received DATA (on stdin) 19:28:27.110146 > 146 bytes data, server => client 19:28:27.110156 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.110165 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.110173 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.110244 < 16 bytes data, client => server 19:28:27.110254 'USER anonymous\r\n' 19:28:27.110410 Received DATA (on stdin) 19:28:27.110421 > 33 bytes data, server => client 19:28:27.110431 '331 We are happy you popped in!\r\n' 19:28:27.110482 < 22 bytes data, client => server 19:28:27.110492 'PASS ftp@example.com\r\n' 19:28:27.110583 Received DATA (on stdin) 19:28:27.110593 > 30 bytes data, server => client 19:28:27.110603 '230 Welcome you silly person\r\n' 19:28:27.110650 < 5 bytes data, client => server 19:28:27.110661 'PWD\r\n' 19:28:27.110760 Received DATA (on stdin) 19:28:27.110770 > 30 bytes data, server => client 19:28:27.110779 '257 "/" is current directory\r\n' 19:28:27.110839 < 6 bytes data, client => server 19:28:27.110850 'EPSV\r\n' 19:28:27.118636 Received DATA (on stdin) 19:28:27.118652 > 39 bytes data, server => client 19:28:27.118663 '229 Entering Passive Mode (|||44899|)\r\n' 19:28:27.118837 < 8 bytes data, client => server 19:28:27.118850 'TYPE I\r\n' 19:28:27.119061 Received DATA (on stdin) 19:28:27.119072 > 33 bytes data, server => client 19:28:27.119082 '200 I modify TYPE as you wanted\r\n' 19:28:27.119136 < 21 bytes data, client => server 19:28:27.119146 'SIZE verifiedserver\r\n' 19:28:27.119252 Received DATA (on stdin) 19:28:27.119263 > 8 bytes data, server => client 19:28:27.119272 '213 17\r\n' 19:28:27.119323 < 21 bytes data, client => server 19:28:27.119334 'RETR verifiedserver\r\n' 19:28:27.119625 Received DATA (on stdin) 19:28:27.119636 > 29 bytes data, server => client 19:28:27.119646 '150 Binary junk (17 bytes).\r\n' 19:28:27.120015 Received DATA (on stdin) 19:28:27.120026 > 28 bytes data, server => client 19:28:27.120036 '226 File transfer complete\r\n' 19:28:27.171673 < 6 bytes data, client => server 19:28:27.171708 'QUIT\r\n' 19:28:27.171931 Received DATA (on stdin) 19:28:27.171942 > 18 bytes data, server => client 19:28:27.171952 '221 bye bye baby\r\n' 19:28:27.173052 ====> Client disconnect 19:28:27.173220 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.112643 Running IPv4 version 19:28:27.112703 Listening on port 44899 19:28:27.112742 Wrote pid 154132 to log/5/server/ftp_sockdata.pid 19:28:27.118347 Received PING (on stdin) 19:28:27.118475 Received PORT (on stdin) 19:28:27.118869 ====> Client connect 19:28:27.119545 Received DATA (on stdin) 19:28:27.119556 > 17 bytes data, server => client 19:28:27.119565 'WE ROOLZ: 85245\r\n' 19:28:27.119591 Received DISC (on stdin) 19:28:27.119601 ====> Client forcibly disconnected 19:28:27.119724 Received QUIT (on stdin) 19:28:27.119734 quits 19:28:27.119804 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==154160== ==154160== Process terminating with default action of signal 4 (SIGILL) ==154160== Illegal opcode at address 0x492B75F ==154160== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154160== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154160== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154160== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154160== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154160== by 0x49908EB: curl_version_info (version.c:600) ==154160== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:35787/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1355 ../src/curl -q --trace-ascii log/6/trace1355 --trace-time ftp://127.0.0.1:33989/path/file1355 -O -i --output-dir log/6 > log/6/stdout1355 2> log/6/stderr1355 x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154160== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154160== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154160== by 0x4003269: main (tool_main.c:195) === End of file valgrind1353 test 1358 [FTP download, file with C-D inside, using -O -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:35787/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 1358: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1358 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1358 ../src/curl -q --trace-ascii log/21/trace1358 --trace-time ftp://127.0.0.1:35787/path/file1358 -O -D - --output-dir log/21 > log/21/stdout1358 2> log/21/stderr1358 === End of file commands.log === Start of file ftp_server.log 19:28:27.862130 ====> Client connect 19:28:27.862349 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.865505 < "USER anonymous" 19:28:27.865551 > "331 We are happy you popped in![CR][LF]" 19:28:27.869943 < "PASS ftp@example.com" 19:28:27.869998 > "230 Welcome you silly person[CR][LF]" 19:28:27.870213 < "PWD" 19:28:27.870254 > "257 "/" is current directory[CR][LF]" 19:28:27.870459 < "EPSV" 19:28:27.870489 ====> Passive DATA channel requested by client 19:28:27.870507 DATA sockfilt for passive data channel starting... 19:28:27.880046 DATA sockfilt for passive data channel started (pid 154347) 19:28:27.880213 DATA sockfilt for passive data channel listens on port 33213 19:28:27.880276 > "229 Entering Passive Mode (|||33213|)[CR][LF]" 19:28:27.880298 Client has been notified that upcoming DATA connection is awaited on port 33213 19:28:27.880637 Client connects to port 33213 19:28:27.880673 ====> Client established passive DATA connection on port 33213 19:28:27.880778 < "TYPE I" 19:28:27.880819 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.881034 < "SIZE verifiedserver" 19:28:27.881084 > "213 17[CR][LF]" 19:28:27.881281 < "RETR verifiedserver" 19:28:27.881329 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.881430 =====> Closing passive DATA connection... 19:28:27.881451 Server disconnects passive DATA connection 19:28:27.881703 Server disconnected passive DATA connection 19:28:27.881734 DATA sockfilt for passive data channel quits (pid 154347) 19:28:27.882020 DATA sockfilt for passive data channel quit (pid 154347) 19:28:27.882051 =====> Closed passive DATA connection 19:28:27.882084 > "226 File transfer complete[CR][LF]" 19:28:27.929047 < "QUIT" 19:28:27.929112 > "221 bye bye baby[CR][LF]" 19:28:27.930525 MAIN sockfilt said DISC 19:28:27.930572 ====> Client disconnected 19:28:27.930668 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.464892 ====> Client connect 19:28:27.465256 Received DATA (on stdin) 19:28:27.465269 > 146 bytes data, server => client 19:28:27.465280 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.465290 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.465299 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.468221 < 16 bytes data, client => server 19:28:27.468239 'USER anonymous\r\n' 19:28:27.468448 Received DATA (on stdin) 19:28:27.468460 > 33 bytes data, server => client 19:28:27.468470 '331 We are happy you popped in!\r\n' 19:28:27.472658 < 22 bytes data, client => server 19:28:27.472680 'PASS ftp@example.com\r\n' 19:28:27.472906 Received DATA (on stdin) 19:28:27.472920 > 30 bytes data, server => client 19:28:27.472931 '230 Welcome you silly person\r\n' 19:28:27.472999 < 5 bytes data, client => server 19:28:27.473013 'PWD\r\n' 19:28:27.473153 Received DATA (on stdin) 19:28:27.473166 > 30 bytes data, server => client 19:28:27.473177 '257 "/" is current directory\r\n' 19:28:27.473251 < 6 bytes data, client => server 19:28:27.473266 'EPSV\r\n' 19:28:27.483206 Received DATA (on stdin) 19:28:27.483225 > 39 bytes data, server => client 19:28:27.483236 '229 Entering Passive Mode (|||33213|)\r\n' 19:28:27.483438 < 8 bytes data, client => server 19:28:27.483457 'TYPE I\r\n' 19:28:27.483718 Received DATA (on stdin) 19:28:27.483732 > 33 bytes data, server => client 19:28:27.483743 '200 I modify TYPE as you wanted\r\n' 19:28:27.483813 < 21 bytes data, client => server 19:28:27.483828 'SIZE verifiedserver\r\n' 19:28:27.483983 Received DATA (on stdin) 19:28:27.483997 > 8 bytes data, server => client 19:28:27.484007 '213 17\r\n' 19:28:27.484073 < 21 bytes data, client => server 19:28:27.484088 'RETR verifiedserver\r\n' 19:28:27.484347 Received DATA (on stdin) 19:28:27.484360 > 29 bytes data, server => client 19:28:27.484371 '150 Binary junk (17 bytes).\r\n' 19:28:27.484983 Received DATA (on stdin) 19:28:27.484996 > 28 bytes data, server => client 19:28:27.485006 '226 File transfer complete\r\n' 19:28:27.531697 < 6 bytes data, client => server 19:28:27.531734 'QUIT\r\n' 19:28:27.532015 Received DATA (on stdin) 19:28:27.532031 > 18 bytes data, server => client 19:28:27.532041 '221 bye bye baby\r\n' 19:28:27.533352 ====> Client disconnect 19:28:27.533566 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.482494 Running IPv4 version 19:28:27.482608 Listening on port 33213 19:28:27.482657 Wrote pid 154347 to log/21/server/ftp_sockdata.pid 19:28:27.482866 Received PING (on stdin) 19:28:27.482998 Received PORT (on stdin) 19:28:27.483480 ====> Client connect 19:28:27.484401 Received DATA (on stdin) 19:28:27.484414 > 17 bytes data, server => client 19:28:27.484424 'WE ROOLZ: 84694\r\n' 19:28:27.484451 Received DISC (on stdin) 19:28:27.484464 ====> Client forcibly disconnected 19:28:27.484642 Received QUIT (on stdin) 19:28:27.484656 quits 19:28:27.484729 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==154378== ==154378== Process terminating with default action of signal 4 (SIGILL) ==154378== Illegal opcode at address 0x492B75F ==154378== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154378== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154378== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154378== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154378== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154378== by 0x49908EB: curl_version_info (version.c:600) ==154378== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154378== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154378== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154378== by 0x4003269: main (tool_main.c:195) === End of file valgrind1358 test 1355 [FTP download, file without C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1355 ../src/curl -q --trace-ascii log/6/trace1355 --trace-time ftp://127.0.0.1:33989/path/file1355 -O -i --output-dir log/6 > log/6/stdout1355 2> log/6/stderr1355 1355: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1355 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1357 ../src/curl -q --trace-ascii log/16/trace1357 --trace-time ftp://127.0.0.1:40031/path/file1357 -O -D log/16/heads1357 --output-dir log/16 > log/16/stdout1357 2> log/16/stderr1357 -num-callers=16 --log-file=log/6/valgrind1355 ../src/curl -q --trace-ascii log/6/trace1355 --trace-time ftp://127.0.0.1:33989/path/file1355 -O -i --output-dir log/6 > log/6/stdout1355 2> log/6/stderr1355 === End of file commands.log === Start of file ftp_server.log 19:28:27.585656 ====> Client connect 19:28:27.585893 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.586180 < "USER anonymous" 19:28:27.586218 > "331 We are happy you popped in![CR][LF]" 19:28:27.586384 < "PASS ftp@example.com" 19:28:27.586412 > "230 Welcome you silly person[CR][LF]" 19:28:27.586557 < "PWD" 19:28:27.586586 > "257 "/" is current directory[CR][LF]" 19:28:27.586734 < "EPSV" 19:28:27.586757 ====> Passive DATA channel requested by client 19:28:27.586771 DATA sockfilt for passive data channel starting... 19:28:27.588933 DATA sockfilt for passive data channel started (pid 154153) 19:28:27.589040 DATA sockfilt for passive data channel listens on port 38827 19:28:27.589079 > "229 Entering Passive Mode (|||38827|)[CR][LF]" 19:28:27.589095 Client has been notified that upcoming DATA connection is awaited on port 38827 19:28:27.589331 Client connects to port 38827 19:28:27.589361 ====> Client established passive DATA connection on port 38827 19:28:27.589430 < "TYPE I" 19:28:27.589458 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.589602 < "SIZE verifiedserver" 19:28:27.589639 > "213 17[CR][LF]" 19:28:27.589776 < "RETR verifiedserver" 19:28:27.589809 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.589899 =====> Closing passive DATA connection... 19:28:27.589914 Server disconnects passive DATA connection 19:28:27.590121 Server disconnected passive DATA connection 19:28:27.590146 DATA sockfilt for passive data channel quits (pid 154153) 19:28:27.590394 DATA sockfilt for passive data channel quit (pid 154153) 19:28:27.590416 =====> Closed passive DATA connection 19:28:27.590441 > "226 File transfer complete[CR][LF]" 19:28:27.638820 < "QUIT" 19:28:27.638880 > "221 bye bye baby[CR][LF]" 19:28:27.648758 MAIN sockfilt said DISC 19:28:27.648845 ====> Client disconnected 19:28:27.648939 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:28.188413 ====> Client connect 19:28:28.188811 Received DATA (on stdin) 19:28:28.188825 > 146 bytes data, server => client 19:28:28.188836 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:28.188846 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:28.188855 '220 \___|\___/|_| \_\_____|\r\n' 19:28:28.188937 < 16 bytes data, client => server 19:28:28.188948 'USER anonymous\r\n' 19:28:28.189125 Received DATA (on stdin) 19:28:28.189136 > 33 bytes data, server => client 19:28:28.189146 '331 We are happy you popped in!\r\n' 19:28:28.189198 < 22 bytes data, client => server 19:28:28.189208 'PASS ftp@example.com\r\n' 19:28:28.189315 Received DATA (on stdin) 19:28:28.189325 > 30 bytes data, server => client 19:28:28.189335 '230 Welcome you silly person\r\n' 19:28:28.189383 < 5 bytes data, client => server 19:28:28.189392 'PWD\r\n' 19:28:28.189487 Received DATA (on stdin) 19:28:28.189497 > 30 bytes data, server => client 19:28:28.189507 '257 "/" is current directory\r\n' 19:28:28.189563 < 6 bytes data, client => server 19:28:28.189572 'EPSV\r\n' 19:28:28.192006 Received DATA (on stdin) 19:28:28.192019 > 39 bytes data, server => client 19:28:28.192029 '229 Entering Passive Mode (|||38827|)\r\n' 19:28:28.192159 < 8 bytes data, client => server 19:28:28.192171 'TYPE I\r\n' 19:28:28.192360 Received DATA (on stdin) 19:28:28.192371 > 33 bytes data, server => client 19:28:28.192381 '200 I modify TYPE as you wanted\r\n' 19:28:28.192429 < 21 bytes data, client => server 19:28:28.192439 'SIZE verifiedserver\r\n' 19:28:28.192541 Received DATA (on stdin) 19:28:28.192550 > 8 bytes data, server => client 19:28:28.192560 '213 17\r\n' 19:28:28.192605 < 21 bytes data, client => server 19:28:28.192615 'RETR verifiedserver\r\n' 19:28:28.192817 Received DATA (on stdin) 19:28:28.192827 > 29 bytes data, server => client 19:28:28.192837 '150 Binary junk (17 bytes).\r\n' 19:28:28.193345 Received DATA (on stdin) 19:28:28.193356 > 28 bytes data, server => client 19:28:28.193366 '226 File transfer complete\r\n' 19:28:28.238246 < 6 bytes data, client => server 19:28:28.238277 'QUIT\r\n' 19:28:28.241793 Received DATA (on stdin) 19:28:28.241809 > 18 bytes data, server => client 19:28:28.241819 '221 bye bye baby\r\n' 19:28:28.251555 ====> Client disconnect 19:28:28.251848 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.191499 Running IPv4 version 19:28:27.191593 Listening on port 38827 19:28:27.191630 Wrote pid 154153 to log/6/server/ftp_sockdata.pid 19:28:27.191782 Received PING (on stdin) 19:28:27.191862 Received PORT (on stdin) 19:28:27.192191 ====> Client connect 19:28:27.192861 Received DATA (on stdin) 19:28:27.192872 > 17 bytes data, server => client 19:28:27.192885 'WE ROOLZ: 85558\r\n' 19:28:27.192907 Received DISC (on stdin) 19:28:27.192917 ====> Client forcibly disconnected 19:28:27.193056 Received QUIT (on stdin) 19:28:27.193066 quits 19:28:27.193124 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==154196== ==154196== Process terminating with default action of signal 4 (SIGILL) ==154196== Illegal opcode at address 0x492B75F ==154196== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154196== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154196== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154196== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154196== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154196== by 0x49908EB: curl_version_info (version.c:600) ==154196== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154196== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154196== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154196== by 0x4003269: main (tool_main.c:195) === End of file valgrind1355 test 1357 [FTP download, file with C-D inside, using -O -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1357 ../src/curl -q --trace-ascii log/16/trace1357 --trace-time ftp://127.0.0.1:40031/path/file1357 -O -D log/16/heads1357 --output-dir log/16 > log/16/stdout1357 2> log/16/stderr1357 1357: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1357 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1357 ../src/curl -q --trace-ascii log/16/trace1357 --trace-time ftp://127.0.0.1:40031/path/file1357 -O -D log/16/heads1357 --output-dir log/16 > log/16/stdout1357 2> log/16/stderr1357 === End of file commands.log === Start of file ftp_server.log 19:28:27.868795 ====> Client connect 19:28:27.869018 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.888855 < "USER anonymous" 19:28:27.888926 > "331 We are happy you popped in![CR][LF]" 19:28:27.895705 < "PASS ftp@example.com" 19:28:27.895776 > "230 Welcome you silly person[CR][LF]" 19:28:27.896049 < "PWD" 19:28:27.896100 > "257 "/" is current directory[CR][LF]" 19:28:27.896339 < "EPSV" 19:28:27.896376 ====> Passive DATA channel requested by client 19:28:27.896395 DATA sockfilt for passive data channel starting... 19:28:27.900288 DATA sockfilt for passive data channel started (pid 154353) 19:28:27.CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1356 ../src/curl -q --trace-ascii log/2/trace1356 --trace-time ftp://127.0.0.1:38033/path/file1356 -O --output-dir log/2 > log/2/stdout1356 2> log/2/stderr1356 900412 DATA sockfilt for passive data channel listens on port 41643 19:28:27.900465 > "229 Entering Passive Mode (|||41643|)[CR][LF]" 19:28:27.900484 Client has been notified that upcoming DATA connection is awaited on port 41643 19:28:27.908752 Client connects to port 41643 19:28:27.908818 ====> Client established passive DATA connection on port 41643 19:28:27.908940 < "TYPE I" 19:28:27.908982 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.912271 < "SIZE verifiedserver" 19:28:27.912328 > "213 17[CR][LF]" 19:28:27.912518 < "RETR verifiedserver" 19:28:27.912559 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.912668 =====> Closing passive DATA connection... 19:28:27.912685 Server disconnects passive DATA connection 19:28:27.912972 Server disconnected passive DATA connection 19:28:27.913002 DATA sockfilt for passive data channel quits (pid 154353) 19:28:27.913276 DATA sockfilt for passive data channel quit (pid 154353) 19:28:27.913300 =====> Closed passive DATA connection 19:28:27.913336 > "226 File transfer complete[CR][LF]" 19:28:27.962204 < "QUIT" 19:28:27.962275 > "221 bye bye baby[CR][LF]" 19:28:27.963918 MAIN sockfilt said DISC 19:28:27.963964 ====> Client disconnected 19:28:27.964053 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.471563 ====> Client connect 19:28:27.471927 Received DATA (on stdin) 19:28:27.471943 > 146 bytes data, server => client 19:28:27.471954 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.471965 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.471975 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.488238 < 16 bytes data, client => server 19:28:27.488263 'USER anonymous\r\n' 19:28:27.491840 Received DATA (on stdin) 19:28:27.491858 > 33 bytes data, server => client 19:28:27.491869 '331 We are happy you popped in!\r\n' 19:28:27.498355 < 22 bytes data, client => server 19:28:27.498393 'PASS ftp@example.com\r\n' 19:28:27.498687 Received DATA (on stdin) 19:28:27.498704 > 30 bytes data, server => client 19:28:27.498716 '230 Welcome you silly person\r\n' 19:28:27.498800 < 5 bytes data, client => server 19:28:27.498818 'PWD\r\n' 19:28:27.499003 Received DATA (on stdin) 19:28:27.499018 > 30 bytes data, server => client 19:28:27.499030 '257 "/" is current directory\r\n' 19:28:27.499114 < 6 bytes data, client => server 19:28:27.499130 'EPSV\r\n' 19:28:27.508208 Received DATA (on stdin) 19:28:27.508241 > 39 bytes data, server => client 19:28:27.508255 '229 Entering Passive Mode (|||41643|)\r\n' 19:28:27.508496 < 8 bytes data, client => server 19:28:27.508515 'TYPE I\r\n' 19:28:27.514874 Received DATA (on stdin) 19:28:27.514904 > 33 bytes data, server => client 19:28:27.514916 '200 I modify TYPE as you wanted\r\n' 19:28:27.515020 < 21 bytes data, client => server 19:28:27.515032 'SIZE verifiedserver\r\n' 19:28:27.515223 Received DATA (on stdin) 19:28:27.515236 > 8 bytes data, server => client 19:28:27.515245 '213 17\r\n' 19:28:27.515310 < 21 bytes data, client => server 19:28:27.515320 'RETR verifiedserver\r\n' 19:28:27.515581 Received DATA (on stdin) 19:28:27.515594 > 29 bytes data, server => client 19:28:27.515604 '150 Binary junk (17 bytes).\r\n' 19:28:27.516230 Received DATA (on stdin) 19:28:27.516243 > 28 bytes data, server => client 19:28:27.516253 '226 File transfer complete\r\n' 19:28:27.564895 < 6 bytes data, client => server 19:28:27.564932 'QUIT\r\n' 19:28:27.565175 Received DATA (on stdin) 19:28:27.565190 > 18 bytes data, server => client 19:28:27.565201 '221 bye bye baby\r\n' 19:28:27.566742 ====> Client disconnect 19:28:27.566948 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.502777 Running IPv4 version 19:28:27.502862 Listening on port 41643 19:28:27.502901 Wrote pid 154353 to log/16/server/ftp_sockdata.pid 19:28:27.502921 Received PING (on stdin) 19:28:27.503211 Received PORT (on stdin) 19:28:27.511562 ====> Client connect 19:28:27.515683 Received DATA (on stdin) 19:28:27.515700 > 17 bytes data, server => client 19:28:27.515710 'WE ROOLZ: 84702\r\n' 19:28:27.515740 Received DISC (on stdin) 19:28:27.515751 ====> Client forcibly disconnected 19:28:27.515905 Received QUIT (on stdin) 19:28:27.515917 quits 19:28:27.515990 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==154398== ==154398== Process terminating with default action of signal 4 (SIGILL) ==154398== Illegal opcode at address 0x492B75F ==154398== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154398== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154398== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154398== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154398== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154398== by 0x49908EB: curl_version_info (version.c:600) ==154398== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154398== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154398== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154398== by 0x4003269: main (tool_main.c:195) === End of file valgrind1357 test 1356 [FTP download, file with Content-Disposition inside, using -O] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1356 ../src/curl -q --trace-ascii log/2/trace1356 --trace-time ftp://127.0.0.1:38033/path/file1356 -O --output-dir log/2 > log/2/stdout1356 2> log/2/stderr1356 1356: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1356 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1356 ../src/curl -q --trace-ascii log/2/trace1356 --trace-time ftp://127.0.0.1:38033/path/file1356 -O --output-dir log/2 > log/2/stdout1356 2> log/2/stderr1356 === End of file commands.log === Start of file ftp_server.log 19:28:27.808491 ====> Client connect 19:28:27.808734 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:27.809058 < "USER anonymous" 19:28:27.809151 > "331 We are happy you popped in![CR][LF]" 19:28:27.809276 < "PASS ftp@example.com" 19:28:27.809305 > "230 Welcome you silly person[CR][LF]" 19:28:27.809453 < "PWD" 19:28:27.809487 > "257 "/" is current directory[CR][LF]" 19:28:27.809637 < "EPSV" 19:28:27.809661 ====> Passive DATA channel requested by client 19:28:27.809674 DATA sockfilt for passive data channel starting... 19:28:27.819921 DATA sockfilt for passive data channel started (pid 154305) 19:28:27.820061 DATA sockfilt for passive data channel listens on port 39585 19:28:27.820114 > "229 Entering Passive Mode (|||39585|)[CR][LF]" 19:28:27.820133 Client has been notified that upcoming DATA connection is awaited on port 39585 19:28:27.825449 Client connects to port 39585 19:28:27.825506 ====> Client established passive DATA connection on port 39585 19:28:27.825628 < "TYPE I" 19:28:27.825670 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:27.835498 < "SIZE verifiedserver" 19:28:27.835581 > "213 17[CR][LF]" 19:28:27.835829 < "RETR verifiedserver" 19:28:27.835867 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:27.835968 =====> Closing passive DATA connection... 19:28:27.835984 Server disconnects passive DATA connection 19:28:27.836114 Server disconnected passive DATA connection 19:28:27.836133 DATA sockfilt for passive data channel quits (pid 154305) 19:28:27.836398 DATA sockfilt for passive data channel quit (pid 154305) 19:28:27.836422 =====> Closed passive DATA connection 19:28:27.836448 > "226 File transfer complete[CR][LF]" 19:28:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1360 ../src/curl -q --trace-ascii log/8/trace1360 --trace-time ftp://127.0.0.1:41879/path/file1360 -O -J -D - --output-dir log/8 > log/8/stdout1360 2> log/8/stderr1360 27.882298 < "QUIT" 19:28:27.882367 > "221 bye bye baby[CR][LF]" 19:28:27.883757 MAIN sockfilt said DISC 19:28:27.883807 ====> Client disconnected 19:28:27.883888 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.411242 ====> Client connect 19:28:27.411652 Received DATA (on stdin) 19:28:27.411668 > 146 bytes data, server => client 19:28:27.411680 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.411690 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.411700 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.411799 < 16 bytes data, client => server 19:28:27.411812 'USER anonymous\r\n' 19:28:27.411970 Received DATA (on stdin) 19:28:27.411981 > 33 bytes data, server => client 19:28:27.411998 '331 We are happy you popped in!\r\n' 19:28:27.412076 < 22 bytes data, client => server 19:28:27.412088 'PASS ftp@example.com\r\n' 19:28:27.412199 Received DATA (on stdin) 19:28:27.412209 > 30 bytes data, server => client 19:28:27.412219 '230 Welcome you silly person\r\n' 19:28:27.412268 < 5 bytes data, client => server 19:28:27.412278 'PWD\r\n' 19:28:27.412381 Received DATA (on stdin) 19:28:27.412390 > 30 bytes data, server => client 19:28:27.412400 '257 "/" is current directory\r\n' 19:28:27.412453 < 6 bytes data, client => server 19:28:27.412463 'EPSV\r\n' 19:28:27.424885 Received DATA (on stdin) 19:28:27.424910 > 39 bytes data, server => client 19:28:27.424922 '229 Entering Passive Mode (|||39585|)\r\n' 19:28:27.425127 < 8 bytes data, client => server 19:28:27.425144 'TYPE I\r\n' 19:28:27.428721 Received DATA (on stdin) 19:28:27.428743 > 33 bytes data, server => client 19:28:27.428753 '200 I modify TYPE as you wanted\r\n' 19:28:27.428838 < 21 bytes data, client => server 19:28:27.428850 'SIZE verifiedserver\r\n' 19:28:27.438461 Received DATA (on stdin) 19:28:27.438486 > 8 bytes data, server => client 19:28:27.438497 '213 17\r\n' 19:28:27.438628 < 21 bytes data, client => server 19:28:27.438643 'RETR verifiedserver\r\n' 19:28:27.439347 Received DATA (on stdin) 19:28:27.439359 > 29 bytes data, server => client 19:28:27.439369 '150 Binary junk (17 bytes).\r\n' 19:28:27.439392 Received DATA (on stdin) 19:28:27.439401 > 28 bytes data, server => client 19:28:27.439410 '226 File transfer complete\r\n' 19:28:27.485003 < 6 bytes data, client => server 19:28:27.485028 'QUIT\r\n' 19:28:27.485272 Received DATA (on stdin) 19:28:27.485286 > 18 bytes data, server => client 19:28:27.485296 '221 bye bye baby\r\n' 19:28:27.486587 ====> Client disconnect 19:28:27.486785 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:27.422453 Running IPv4 version 19:28:27.422547 Listening on port 39585 19:28:27.422589 Wrote pid 154305 to log/2/server/ftp_sockdata.pid 19:28:27.422758 Received PING (on stdin) 19:28:27.422851 Received PORT (on stdin) 19:28:27.428272 ====> Client connect 19:28:27.438885 Received DATA (on stdin) 19:28:27.438902 > 17 bytes data, server => client 19:28:27.438911 'WE ROOLZ: 85208\r\n' 19:28:27.438945 Received DISC (on stdin) 19:28:27.438957 ====> Client forcibly disconnected 19:28:27.439033 Received QUIT (on stdin) 19:28:27.439043 quits 19:28:27.439132 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind1356 ==154357== ==154357== Process terminating with default action of signal 4 (SIGILL) ==154357== Illegal opcode at address 0x492B75F ==154357== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154357== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154357== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154357== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154357== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154357== by 0x49908EB: curl_version_info (version.c:600) ==154357== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154357== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154357== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154357== by 0x4003269: main (tool_main.c:195) === End of file valgrind1356 test 1360 [FTP download, file with C-D inside, using -O -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1360 ../src/curl -q --trace-ascii log/8/trace1360 --trace-time ftp://127.0.0.1:41879/path/file1360 -O -J -D - --output-dir log/8 > log/8/stdout1360 2> log/8/stderr1360 1360: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1360 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1360 ../src/curl -q --trace-ascii log/8/trace1360 --trace-time ftp://127.0.0.1:41879/path/file1360 -O -J -D - --output-dir log/8 > log/8/stdout1360 2> log/8/stderr1360 === End of file commands.log === Start of file ftp_server.log 19:28:28.323602 ====> Client connect 19:28:28.325481 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:28.328963 < "USER anonymous" 19:28:28.329010 > "331 We are happy you popped in![CR][LF]" 19:28:28.329169 < "PASS ftp@example.com" 19:28:28.329195 > "230 Welcome you silly person[CR][LF]" 19:28:28.329331 < "PWD" 19:28:28.329358 > "257 "/" is current directory[CR][LF]" 19:28:28.329501 < "EPSV" 19:28:28.329524 ====> Passive DATA channel requested by client 19:28:28.329537 DATA sockfilt for passive data channel starting... 19:28:28.348709 DATA sockfilt for passive data channel started (pid 154545) 19:28:28.348940 DATA sockfilt for passive data channel listens on port 34675 19:28:28.348991 > "229 Entering Passive Mode (|||34675|)[CR][LF]" 19:28:28.349009 Client has been notified that upcoming DATA connection is awaited on port 34675 19:28:28.349348 Client connects to port 34675 19:28:28.349389 ====> Client established passive DATA connection on port 34675 19:28:28.349497 < "TYPE I" 19:28:28.349536 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:28.349733 < "SIZE verifiedserver" 19:28:28.349775 > "213 17[CR][LF]" 19:28:28.349950 < "RETR verifiedserver" 19:28:28.349990 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:28.350090 =====> Closing passive DATA connection... 19:28:28.350110 Server disconnects passive DATA connection 19:28:28.350343 Server disconnected passive DATA connection 19:28:28.350373 DATA sockfilt for passive data channel quits (pid 154545) 19:28:28.350677 DATA sockfilt for passive data channel quit (pid 154545) 19:28:28.350704 =====> Closed passive DATA connection 19:28:28.350735 > "226 File transfer complete[CR][LF]" 19:28:28.395605 < "QUIT" 19:28:28.395661 > "221 bye bye baby[CR][LF]" 19:28:28.397168 MAIN sockfilt said DISC 19:28:28.397207 ====> Client disconnected 19:28:28.397285 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.926318 ====> Client connect 19:28:27.928380 Received DATA (on stdin) 19:28:27.928399 > 146 bytes data, server => client 19:28:27.928410 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:27.928420 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:27.928429 '220 \___|\___/|_| \_\_____|\r\n' 19:28:27.931654 < 16 bytes data, client => server 19:28:27.931669 'USER anonymous\r\n' 19:28:27.931888 Received DATA (on stdin) 19:28:27.931899 > 33 bytes data, server => client 19:28:27.931909 '331 We are happy you popped in!\r\n' 19:28:27.931963 < 22 bytes data, client => server 19:28:27.931972 'PASS ftp@example.com\r\n' 19:28:27.932068 Received DATA (on stdin) 19:28:27.932078 > 30 bytes data, server => client 19:28:27.932087 '230 Welcome you sillCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1359 ../src/curl -q --trace-ascii log/24/trace1359 --trace-time ftp://127.0.0.1:37215/path/file1359 -O -J -D log/24/heads1359 --output-dir log/24 > log/24/stdout1359 2> log/24/stderr1359 y person\r\n' 19:28:27.932133 < 5 bytes data, client => server 19:28:27.932142 'PWD\r\n' 19:28:27.932230 Received DATA (on stdin) 19:28:27.932240 > 30 bytes data, server => client 19:28:27.932249 '257 "/" is current directory\r\n' 19:28:27.932304 < 6 bytes data, client => server 19:28:27.932313 'EPSV\r\n' 19:28:27.951892 Received DATA (on stdin) 19:28:27.951912 > 39 bytes data, server => client 19:28:27.951923 '229 Entering Passive Mode (|||34675|)\r\n' 19:28:27.952128 < 8 bytes data, client => server 19:28:27.952144 'TYPE I\r\n' 19:28:27.952416 Received DATA (on stdin) 19:28:27.952429 > 33 bytes data, server => client 19:28:27.952439 '200 I modify TYPE as you wanted\r\n' 19:28:27.952505 < 21 bytes data, client => server 19:28:27.952519 'SIZE verifiedserver\r\n' 19:28:27.952652 Received DATA (on stdin) 19:28:27.952664 > 8 bytes data, server => client 19:28:27.952673 '213 17\r\n' 19:28:27.952732 < 21 bytes data, client => server 19:28:27.952744 'RETR verifiedserver\r\n' 19:28:27.953080 Received DATA (on stdin) 19:28:27.953092 > 29 bytes data, server => client 19:28:27.953102 '150 Binary junk (17 bytes).\r\n' 19:28:27.953613 Received DATA (on stdin) 19:28:27.953625 > 28 bytes data, server => client 19:28:27.953635 '226 File transfer complete\r\n' 19:28:27.998333 < 6 bytes data, client => server 19:28:27.998368 'QUIT\r\n' 19:28:27.998538 Received DATA (on stdin) 19:28:27.998550 > 18 bytes data, server => client 19:28:27.998561 '221 bye bye baby\r\n' 19:28:27.999526 ====> Client disconnect 19:28:28.000160 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:28.938960 Running IPv4 version 19:28:28.939044 Listening on port 34675 19:28:28.939082 Wrote pid 154545 to log/8/server/ftp_sockdata.pid 19:28:28.948217 Received PING (on stdin) 19:28:28.951690 Received PORT (on stdin) 19:28:28.952169 ====> Client connect 19:28:28.952989 Received DATA (on stdin) 19:28:28.953003 > 17 bytes data, server => client 19:28:28.953013 'WE ROOLZ: 84824\r\n' 19:28:28.953042 Received DISC (on stdin) 19:28:28.953053 ====> Client forcibly disconnected 19:28:28.953259 Received QUIT (on stdin) 19:28:28.953270 quits 19:28:28.953345 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==154593== ==154593== Process terminating with default action of signal 4 (SIGILL) ==154593== Illegal opcode at address 0x492B75F ==154593== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154593== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154593== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154593== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154593== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154593== by 0x49908EB: curl_version_info (version.c:600) ==154593== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154593== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154593== by 0x4003269: main (tool_main.c:195) === End of file valgrind1360 test 1359 [FTP download, file with C-D inside, using -O -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1359 ../src/curl -q --trace-ascii log/24/trace1359 --trace-time ftp://127.0.0.1:37215/path/file1359 -O -J -D log/24/heads1359 --output-dir log/24 > log/24/stdout1359 2> log/24/stderr1359 1359: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1359 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1359 ../src/curl -q --trace-ascii log/24/trace1359 --trace-time ftp://127.0.0.1:37215/path/file1359 -O -J -D log/24/heads1359 --output-dir log/24 > log/24/stdout1359 2> log/24/stderr1359 === End of file commands.log === Start of file ftp_server.log 19:28:28.323584 ====> Client connect 19:28:28.323820 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:28.332128 < "USER anonymous" 19:28:28.332180 > "331 We are happy you popped in![CR][LF]" 19:28:28.332374 < "PASS ftp@example.com" 19:28:28.332402 > "230 Welcome you silly person[CR][LF]" 19:28:28.332551 < "PWD" 19:28:28.332582 > "257 "/" is current directory[CR][LF]" 19:28:28.332739 < "EPSV" 19:28:28.332762 ====> Passive DATA channel requested by client 19:28:28.332776 DATA sockfilt for passive data channel starting... 19:28:28.336782 DATA sockfilt for passive data channel started (pid 154546) 19:28:28.336936 DATA sockfilt for passive data channel listens on port 34497 19:28:28.336992 > "229 Entering Passive Mode (|||34497|)[CR][LF]" 19:28:28.337014 Client has been notified that upcoming DATA connection is awaited on port 34497 19:28:28.337334 Client connects to port 34497 19:28:28.337370 ====> Client established passive DATA connection on port 34497 19:28:28.337467 < "TYPE I" 19:28:28.337505 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:28.337694 < "SIZE verifiedserver" 19:28:28.337737 > "213 17[CR][LF]" 19:28:28.337920 < "RETR verifiedserver" 19:28:28.337961 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:28.338053 =====> Closing passive DATA connection... 19:28:28.338076 Server disconnects passive DATA connection 19:28:28.342286 Server disconnected passive DATA connection 19:28:28.342327 DATA sockfilt for passive data channel quits (pid 154546) 19:28:28.342591 DATA sockfilt for passive data channel quit (pid 154546) 19:28:28.342619 =====> Closed passive DATA connection 19:28:28.342654 > "226 File transfer complete[CR][LF]" 19:28:28.385994 < "QUIT" 19:28:28.386049 > "221 bye bye baby[CR][LF]" 19:28:28.387305 MAIN sockfilt said DISC 19:28:28.387342 ====> Client disconnected 19:28:28.387429 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:28.926335 ====> Client connect 19:28:28.926710 Received DATA (on stdin) 19:28:28.926724 > 146 bytes data, server => client 19:28:28.926734 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:28.926742 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:28.926750 '220 \___|\___/|_| \_\_____|\r\n' 19:28:28.931600 < 16 bytes data, client => server 19:28:28.931625 'USER anonymous\r\n' 19:28:28.935062 Received DATA (on stdin) 19:28:28.935077 > 33 bytes data, server => client 19:28:28.935088 '331 We are happy you popped in!\r\n' 19:28:28.935161 < 22 bytes data, client => server 19:28:28.935172 'PASS ftp@example.com\r\n' 19:28:28.935277 Received DATA (on stdin) 19:28:28.935287 > 30 bytes data, server => client 19:28:28.935297 '230 Welcome you silly person\r\n' 19:28:28.935349 < 5 bytes data, client => server 19:28:28.935358 'PWD\r\n' 19:28:28.935456 Received DATA (on stdin) 19:28:28.935467 > 30 bytes data, server => client 19:28:28.935476 '257 "/" is current directory\r\n' 19:28:28.935535 < 6 bytes data, client => server 19:28:28.935545 'EPSV\r\n' 19:28:28.939903 Received DATA (on stdin) 19:28:28.939922 > 39 bytes data, server => client 19:28:28.939933 '229 Entering Passive Mode (|||34497|)\r\n' 19:28:28.940121 < 8 bytes data, client => server 19:28:28.940138 'TYPE I\r\n' 19:28:28.940387 Received DATA (on stdin) 19:28:28.940400 > 33 bytes data, server => client 19:28:28.940410 '200 I modify TYPE as you wanted\r\n' 19:28:28.940471 < 21 bytes data, client => server 19:28:28.940485 'SIZE verifiedserver\r\n' 19:28:28.940618 Received DATA (on stdin) 19:28:28.940631 > 8 bytes data, server => client 19:28:28.940641 '213 17\r\n' 19:28:28.940700 < 21 bytes data, client => server 19:28:28.940715 'RETR verifiedserver\r\n' 19:28:28.94CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1354 ../src/curl -q --trace-ascii log/11/trace1354 --trace-time ftp://127.0.0.1:36697/path/file1354 -O -i -D - --output-dir log/11 > log/11/stdout1354 2> log/11/stderr1354 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1364 ../src/curl -q --trace-ascii log/10/trace1364 --trace-time http://127.0.0.1:40913/1364 -o log/10/outfile1364 -D log/10/heads1364 > log/10/stdout1364 2> log/10/stderr1364 4860 Received DATA (on stdin) 19:28:28.944884 > 29 bytes data, server => client 19:28:28.944896 '150 Binary junk (17 bytes).\r\n' 19:28:28.945538 Received DATA (on stdin) 19:28:28.945551 > 28 bytes data, server => client 19:28:28.945561 '226 File transfer complete\r\n' 19:28:28.988650 < 6 bytes data, client => server 19:28:28.988684 'QUIT\r\n' 19:28:28.988927 Received DATA (on stdin) 19:28:28.988939 > 18 bytes data, server => client 19:28:28.988949 '221 bye bye baby\r\n' 19:28:28.989225 ====> Client disconnect 19:28:28.990306 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:28.939295 Running IPv4 version 19:28:28.939365 Listening on port 34497 19:28:28.939412 Wrote pid 154546 to log/24/server/ftp_sockdata.pid 19:28:28.939584 Received PING (on stdin) 19:28:28.939703 Received PORT (on stdin) 19:28:28.940161 ====> Client connect 19:28:28.944972 Received DATA (on stdin) 19:28:28.944989 > 17 bytes data, server => client 19:28:28.945003 'WE ROOLZ: 85113\r\n' 19:28:28.945035 Received DISC (on stdin) 19:28:28.945049 ====> Client forcibly disconnected 19:28:28.945221 Received QUIT (on stdin) 19:28:28.945235 quits 19:28:28.945302 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==154555== ==154555== Process terminating with default action of signal 4 (SIGILL) ==154555== Illegal opcode at address 0x492B75F ==154555== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154555== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154555== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154555== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154555== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154555== by 0x49908EB: curl_version_info (version.c:600) ==154555== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154555== by 0x4003269: main (tool_main.c:195) === End of file valgrind1359 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/ftp_server.pid" --logfile "log/11/ftp_server.log" --logdir "log/11" --portfile "log/11/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36697 (log/11/server/ftp_server.port) RUN: FTP server is PID 154115 port 36697 * pid ftp => 154115 154115 test 1354 [FTP download, file without C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1354 ../src/curl -q --trace-ascii log/11/trace1354 --trace-time ftp://127.0.0.1:36697/path/file1354 -O -i -D - --output-dir log/11 > log/11/stdout1354 2> log/11/stderr1354 1354: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1354 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1354 ../src/curl -q --trace-ascii log/11/trace1354 --trace-time ftp://127.0.0.1:36697/path/file1354 -O -i -D - --output-dir log/11 > log/11/stdout1354 2> log/11/stderr1354 === End of file commands.log === Start of file ftp_server.log 19:28:27.508862 FTP server listens on port IPv4/36697 19:28:27.508941 logged pid 154115 in log/11/server/ftp_server.pid 19:28:27.508964 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:27.111393 Running IPv4 version 19:28:27.111457 Listening on port 36697 19:28:27.111523 Wrote pid 154131 to log/11/server/ftp_sockctrl.pid 19:28:27.111569 Wrote port 36697 to log/11/server/ftp_server.port 19:28:27.111689 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==154627== ==154627== Process terminating with default action of signal 4 (SIGILL) ==154627== Illegal opcode at address 0x492B75F ==154627== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154627== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154627== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154627== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154627== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154627== by 0x49908EB: curl_version_info (version.c:600) ==154627== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154627== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154627== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154627== by 0x4003269: main (tool_main.c:195) === End of file valgrind1354 test 1364 [HTTP GET -o fname without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1364 ../src/curl -q --trace-ascii log/10/trace1364 --trace-time http://127.0.0.1:40913/1364 -o log/10/outfile1364 -D log/10/heads1364 > log/10/stdout1364 2> log/10/stderr1364 1364: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1364 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1364 ../src/curl -q --trace-ascii log/10/trace1364 --trace-time http://127.0.0.1:40913/1364 -o log/10/outfile1364 -D log/10/heads1364 > log/10/stdout1364 2> log/10/stderr1364 === End of file commands.log === Start of file http_server.log 19:28:28.278528 ====> Client connect 19:28:28.278579 accept_connection 3 returned 4 19:28:28.278600 Read 93 bytes 19:28:28.278609 Process 93 bytes request 19:28:28.278622 Got request: GET /verifiedserver HTTP/1.1 19:28:28.278630 Are-we-friendly question received 19:28:28.278659 Wrote request (93 bytes) input to log/10/server.input 19:28:28.278676 Identifying ourselves as friends 19:28:28.278746 Response sent (56 bytes) and written to log/10/server.response 19:28:28.278758 special request received, no persistency 19:28:28.278766 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 41134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1364 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1364 ==154799== ==154799== Process terminating with default action of signal 4 (SIGILL) ==154799== Illegal opcode at address 0x492B75F ==154799== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154799== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154799== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154799== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154799== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154799== by 0x49908EB: curl_version_info (version.c:600) ==154799== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154799== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154799== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1362 ../src/curl -q --trace-ascii log/7/trace1362 --trace-time ftp://127.0.0.1:44283/path/file1362 -O -i -D - --output-dir log/7 > log/7/stdout1362 2> log/7/stderr1362 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1363 ../src/curl -q --trace-ascii log/20/trace1363 --trace-time ftp://127.0.0.1:41549/path/file1363 -O -i --output-dir log/20 > log/20/stdout1363 2> log/20/stderr1363 x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154799== by 0x4003269: main (tool_main.c:195) === End of file valgrind1364 test 1362 [FTP download, file with C-D inside, using -O -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1362 ../src/curl -q --trace-ascii log/7/trace1362 --trace-time ftp://127.0.0.1:44283/path/file1362 -O -i -D - --output-dir log/7 > log/7/stdout1362 2> log/7/stderr1362 1362: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1362 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1362 ../src/curl -q --trace-ascii log/7/trace1362 --trace-time ftp://127.0.0.1:44283/path/file1362 -O -i -D - --output-dir log/7 > log/7/stdout1362 2> log/7/stderr1362 === End of file commands.log === Start of file ftp_server.log 19:28:28.518205 ====> Client connect 19:28:28.518461 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:28.518810 < "USER anonymous" 19:28:28.518858 > "331 We are happy you popped in![CR][LF]" 19:28:28.522302 < "PASS ftp@example.com" 19:28:28.522357 > "230 Welcome you silly person[CR][LF]" 19:28:28.522594 < "PWD" 19:28:28.522639 > "257 "/" is current directory[CR][LF]" 19:28:28.522848 < "EPSV" 19:28:28.522881 ====> Passive DATA channel requested by client 19:28:28.522896 DATA sockfilt for passive data channel starting... 19:28:28.535701 DATA sockfilt for passive data channel started (pid 154631) 19:28:28.535868 DATA sockfilt for passive data channel listens on port 44691 19:28:28.535938 > "229 Entering Passive Mode (|||44691|)[CR][LF]" 19:28:28.535957 Client has been notified that upcoming DATA connection is awaited on port 44691 19:28:28.536244 Client connects to port 44691 19:28:28.536282 ====> Client established passive DATA connection on port 44691 19:28:28.536385 < "TYPE I" 19:28:28.536426 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:28.542262 < "SIZE verifiedserver" 19:28:28.542328 > "213 17[CR][LF]" 19:28:28.542514 < "RETR verifiedserver" 19:28:28.542555 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:28.542647 =====> Closing passive DATA connection... 19:28:28.542663 Server disconnects passive DATA connection 19:28:28.542831 Server disconnected passive DATA connection 19:28:28.542854 DATA sockfilt for passive data channel quits (pid 154631) 19:28:28.543125 DATA sockfilt for passive data channel quit (pid 154631) 19:28:28.543149 =====> Closed passive DATA connection 19:28:28.543178 > "226 File transfer complete[CR][LF]" 19:28:28.588956 < "QUIT" 19:28:28.589066 > "221 bye bye baby[CR][LF]" 19:28:28.593233 MAIN sockfilt said DISC 19:28:28.593280 ====> Client disconnected 19:28:28.593374 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:29.120943 ====> Client connect 19:28:29.121363 Received DATA (on stdin) 19:28:29.121382 > 146 bytes data, server => client 19:28:29.121394 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:29.121404 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:29.121414 '220 \___|\___/|_| \_\_____|\r\n' 19:28:29.121515 < 16 bytes data, client => server 19:28:29.121530 'USER anonymous\r\n' 19:28:29.121731 Received DATA (on stdin) 19:28:29.121743 > 33 bytes data, server => client 19:28:29.121753 '331 We are happy you popped in!\r\n' 19:28:29.124993 < 22 bytes data, client => server 19:28:29.125015 'PASS ftp@example.com\r\n' 19:28:29.125235 Received DATA (on stdin) 19:28:29.125253 > 30 bytes data, server => client 19:28:29.125263 '230 Welcome you silly person\r\n' 19:28:29.125348 < 5 bytes data, client => server 19:28:29.125362 'PWD\r\n' 19:28:29.125512 Received DATA (on stdin) 19:28:29.125524 > 30 bytes data, server => client 19:28:29.125534 '257 "/" is current directory\r\n' 19:28:29.125609 < 6 bytes data, client => server 19:28:29.125623 'EPSV\r\n' 19:28:29.138793 Received DATA (on stdin) 19:28:29.138829 > 39 bytes data, server => client 19:28:29.138841 '229 Entering Passive Mode (|||44691|)\r\n' 19:28:29.139080 < 8 bytes data, client => server 19:28:29.139100 'TYPE I\r\n' 19:28:29.139301 Received DATA (on stdin) 19:28:29.139317 > 33 bytes data, server => client 19:28:29.139327 '200 I modify TYPE as you wanted\r\n' 19:28:29.144953 < 21 bytes data, client => server 19:28:29.144976 'SIZE verifiedserver\r\n' 19:28:29.145201 Received DATA (on stdin) 19:28:29.145213 > 8 bytes data, server => client 19:28:29.145223 '213 17\r\n' 19:28:29.145288 < 21 bytes data, client => server 19:28:29.145299 'RETR verifiedserver\r\n' 19:28:29.145532 Received DATA (on stdin) 19:28:29.145543 > 29 bytes data, server => client 19:28:29.145553 '150 Binary junk (17 bytes).\r\n' 19:28:29.146047 Received DATA (on stdin) 19:28:29.146059 > 28 bytes data, server => client 19:28:29.146069 '226 File transfer complete\r\n' 19:28:29.191633 < 6 bytes data, client => server 19:28:29.191662 'QUIT\r\n' 19:28:29.191851 Received DATA (on stdin) 19:28:29.191862 > 18 bytes data, server => client 19:28:29.191877 '221 bye bye baby\r\n' 19:28:29.196028 ====> Client disconnect 19:28:29.196250 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:28.129469 Running IPv4 version 19:28:28.129587 Listening on port 44691 19:28:28.129626 Wrote pid 154631 to log/7/server/ftp_sockdata.pid 19:28:28.138472 Received PING (on stdin) 19:28:28.138625 Received PORT (on stdin) 19:28:28.139051 ====> Client connect 19:28:28.145584 Received DATA (on stdin) 19:28:28.145600 > 17 bytes data, server => client 19:28:28.145610 'WE ROOLZ: 84721\r\n' 19:28:28.145635 Received DISC (on stdin) 19:28:28.145646 ====> Client forcibly disconnected 19:28:28.145726 Received QUIT (on stdin) 19:28:28.145736 quits 19:28:28.145808 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==154712== ==154712== Process terminating with default action of signal 4 (SIGILL) ==154712== Illegal opcode at address 0x492B75F ==154712== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154712== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154712== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154712== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154712== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154712== by 0x49908EB: curl_version_info (version.c:600) ==154712== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154712== by 0x4003269: main (tool_main.c:195) === End of file valgrind1362 test 1363 [FTP download, file with C-D inside, using -O -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1363 ../src/curl -q --trace-ascii log/20/trace1363 --trace-time ftp://127.0.0.1:41549/path/file1363 -O -i --output-dir log/20 > log/20/stdout1363 2> log/20/stderr1363 1363: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1363 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1363 ../src/curl -q --trace-ascii log/20/trace1363 --trace-time ftp://127.0.0.1:41549/path/filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1361 ../src/curl -q --trace-ascii log/23/trace1361 --trace-time ftp://127.0.0.1:35523/path/file1361 -O -i -D log/23/heads1361 --output-dir log/23 > log/23/stdout1361 2> log/23/stderr1361 e1363 -O -i --output-dir log/20 > log/20/stdout1363 2> log/20/stderr1363 === End of file commands.log === Start of file ftp_server.log 19:28:28.685484 ====> Client connect 19:28:28.685686 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:28.692215 < "USER anonymous" 19:28:28.692265 > "331 We are happy you popped in![CR][LF]" 19:28:28.692484 < "PASS ftp@example.com" 19:28:28.692514 > "230 Welcome you silly person[CR][LF]" 19:28:28.692673 < "PWD" 19:28:28.692706 > "257 "/" is current directory[CR][LF]" 19:28:28.692875 < "EPSV" 19:28:28.692899 ====> Passive DATA channel requested by client 19:28:28.692913 DATA sockfilt for passive data channel starting... 19:28:28.705449 DATA sockfilt for passive data channel started (pid 154789) 19:28:28.705632 DATA sockfilt for passive data channel listens on port 44647 19:28:28.705692 > "229 Entering Passive Mode (|||44647|)[CR][LF]" 19:28:28.705717 Client has been notified that upcoming DATA connection is awaited on port 44647 19:28:28.712378 Client connects to port 44647 19:28:28.712450 ====> Client established passive DATA connection on port 44647 19:28:28.712591 < "TYPE I" 19:28:28.712643 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:28.722151 < "SIZE verifiedserver" 19:28:28.722226 > "213 17[CR][LF]" 19:28:28.725553 < "RETR verifiedserver" 19:28:28.725607 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:28.725712 =====> Closing passive DATA connection... 19:28:28.725729 Server disconnects passive DATA connection 19:28:28.725871 Server disconnected passive DATA connection 19:28:28.725892 DATA sockfilt for passive data channel quits (pid 154789) 19:28:28.726185 DATA sockfilt for passive data channel quit (pid 154789) 19:28:28.726212 =====> Closed passive DATA connection 19:28:28.726242 > "226 File transfer complete[CR][LF]" 19:28:28.778851 < "QUIT" 19:28:28.778913 > "221 bye bye baby[CR][LF]" 19:28:28.785351 MAIN sockfilt said DISC 19:28:28.785436 ====> Client disconnected 19:28:28.785523 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:28.288193 ====> Client connect 19:28:28.288563 Received DATA (on stdin) 19:28:28.288577 > 146 bytes data, server => client 19:28:28.288589 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:28.288600 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:28.288609 '220 \___|\___/|_| \_\_____|\r\n' 19:28:28.294864 < 16 bytes data, client => server 19:28:28.294901 'USER anonymous\r\n' 19:28:28.295132 Received DATA (on stdin) 19:28:28.295145 > 33 bytes data, server => client 19:28:28.295156 '331 We are happy you popped in!\r\n' 19:28:28.295249 < 22 bytes data, client => server 19:28:28.295262 'PASS ftp@example.com\r\n' 19:28:28.295377 Received DATA (on stdin) 19:28:28.295388 > 30 bytes data, server => client 19:28:28.295398 '230 Welcome you silly person\r\n' 19:28:28.295451 < 5 bytes data, client => server 19:28:28.295462 'PWD\r\n' 19:28:28.295568 Received DATA (on stdin) 19:28:28.295579 > 30 bytes data, server => client 19:28:28.295589 '257 "/" is current directory\r\n' 19:28:28.295654 < 6 bytes data, client => server 19:28:28.295665 'EPSV\r\n' 19:28:28.311525 Received DATA (on stdin) 19:28:28.311555 > 39 bytes data, server => client 19:28:28.311567 '229 Entering Passive Mode (|||44647|)\r\n' 19:28:28.315103 < 8 bytes data, client => server 19:28:28.315134 'TYPE I\r\n' 19:28:28.315516 Received DATA (on stdin) 19:28:28.315533 > 33 bytes data, server => client 19:28:28.315544 '200 I modify TYPE as you wanted\r\n' 19:28:28.315614 < 21 bytes data, client => server 19:28:28.315630 'SIZE verifiedserver\r\n' 19:28:28.325103 Received DATA (on stdin) 19:28:28.325123 > 8 bytes data, server => client 19:28:28.325133 '213 17\r\n' 19:28:28.328256 < 21 bytes data, client => server 19:28:28.328280 'RETR verifiedserver\r\n' 19:28:28.329109 Received DATA (on stdin) 19:28:28.329125 > 29 bytes data, server => client 19:28:28.329136 '150 Binary junk (17 bytes).\r\n' 19:28:28.329164 Received DATA (on stdin) 19:28:28.329173 > 28 bytes data, server => client 19:28:28.329183 '226 File transfer complete\r\n' 19:28:28.372272 < 6 bytes data, client => server 19:28:28.372308 'QUIT\r\n' 19:28:28.381757 Received DATA (on stdin) 19:28:28.381786 > 18 bytes data, server => client 19:28:28.381798 '221 bye bye baby\r\n' 19:28:28.381890 ====> Client disconnect 19:28:28.388452 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:28.297593 Running IPv4 version 19:28:28.297675 Listening on port 44647 19:28:28.297718 Wrote pid 154789 to log/20/server/ftp_sockdata.pid 19:28:28.308192 Received PING (on stdin) 19:28:28.308373 Received PORT (on stdin) 19:28:28.315167 ====> Client connect 19:28:28.328598 Received DATA (on stdin) 19:28:28.328615 > 17 bytes data, server => client 19:28:28.328630 'WE ROOLZ: 84833\r\n' 19:28:28.328665 Received DISC (on stdin) 19:28:28.328677 ====> Client forcibly disconnected 19:28:28.328760 Received QUIT (on stdin) 19:28:28.328770 quits 19:28:28.328846 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==154911== ==154911== Process terminating with default action of signal 4 (SIGILL) ==154911== Illegal opcode at address 0x492B75F ==154911== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154911== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154911== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154911== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154911== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154911== by 0x49908EB: curl_version_info (version.c:600) ==154911== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154911== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154911== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154911== by 0x4003269: main (tool_main.c:195) === End of file valgrind1363 test 1361 [FTP download, file with C-D inside, using -O -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1361 ../src/curl -q --trace-ascii log/23/trace1361 --trace-time ftp://127.0.0.1:35523/path/file1361 -O -i -D log/23/heads1361 --output-dir log/23 > log/23/stdout1361 2> log/23/stderr1361 1361: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1361 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1361 ../src/curl -q --trace-ascii log/23/trace1361 --trace-time ftp://127.0.0.1:35523/path/file1361 -O -i -D log/23/heads1361 --output-dir log/23 > log/23/stdout1361 2> log/23/stderr1361 === End of file commands.log === Start of file ftp_server.log 19:28:28.544641 ====> Client connect 19:28:28.544862 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:28.552136 < "USER anonymous" 19:28:28.552187 > "331 We are happy you popped in![CR][LF]" 19:28:28.552376 < "PASS ftp@example.com" 19:28:28.552400 > "230 Welcome you silly person[CR][LF]" 19:28:28.552557 < "PWD" 19:28:28.552588 > "257 "/" is current directory[CR][LF]" 19:28:28.552749 < "EPSV" 19:28:28.552772 ====> Passive DATA channel requested by client 19:28:28.552786 DATA sockfilt for passive data channel starting... 19:28:28.560891 DATA sockfilt for passive data channel started (pid 154652) 19:28:28.561062 DATA sockfilt for passive data channel listens on port 41843 19:28:28.561109 > "229 Entering Passive Mode (|||418CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1365 ../src/curl -q --trace-ascii log/12/trace1365 --trace-time http://127.0.0.1:40921/1365 -o log/12/outfile1365 -D - > log/12/stdout1365 2> log/12/stderr1365 43|)[CR][LF]" 19:28:28.561126 Client has been notified that upcoming DATA connection is awaited on port 41843 19:28:28.561395 Client connects to port 41843 19:28:28.561426 ====> Client established passive DATA connection on port 41843 19:28:28.561556 < "TYPE I" 19:28:28.561591 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:28.561763 < "SIZE verifiedserver" 19:28:28.561804 > "213 17[CR][LF]" 19:28:28.561969 < "RETR verifiedserver" 19:28:28.562019 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:28.562113 =====> Closing passive DATA connection... 19:28:28.562131 Server disconnects passive DATA connection 19:28:28.562289 Server disconnected passive DATA connection 19:28:28.562314 DATA sockfilt for passive data channel quits (pid 154652) 19:28:28.562552 DATA sockfilt for passive data channel quit (pid 154652) 19:28:28.562578 =====> Closed passive DATA connection 19:28:28.562609 > "226 File transfer complete[CR][LF]" 19:28:28.607692 < "QUIT" 19:28:28.607759 > "221 bye bye baby[CR][LF]" 19:28:28.611812 MAIN sockfilt said DISC 19:28:28.611853 ====> Client disconnected 19:28:28.611926 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:29.147392 ====> Client connect 19:28:29.151520 Received DATA (on stdin) 19:28:29.151549 > 146 bytes data, server => client 19:28:29.151561 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:29.151571 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:29.151580 '220 \___|\___/|_| \_\_____|\r\n' 19:28:29.151669 < 16 bytes data, client => server 19:28:29.151680 'USER anonymous\r\n' 19:28:29.155060 Received DATA (on stdin) 19:28:29.155076 > 33 bytes data, server => client 19:28:29.155086 '331 We are happy you popped in!\r\n' 19:28:29.155154 < 22 bytes data, client => server 19:28:29.155166 'PASS ftp@example.com\r\n' 19:28:29.155266 Received DATA (on stdin) 19:28:29.155276 > 30 bytes data, server => client 19:28:29.155286 '230 Welcome you silly person\r\n' 19:28:29.155338 < 5 bytes data, client => server 19:28:29.155348 'PWD\r\n' 19:28:29.155454 Received DATA (on stdin) 19:28:29.155464 > 30 bytes data, server => client 19:28:29.155474 '257 "/" is current directory\r\n' 19:28:29.155536 < 6 bytes data, client => server 19:28:29.155546 'EPSV\r\n' 19:28:29.164002 Received DATA (on stdin) 19:28:29.164016 > 39 bytes data, server => client 19:28:29.164027 '229 Entering Passive Mode (|||41843|)\r\n' 19:28:29.164315 < 8 bytes data, client => server 19:28:29.164327 'TYPE I\r\n' 19:28:29.164460 Received DATA (on stdin) 19:28:29.164471 > 33 bytes data, server => client 19:28:29.164482 '200 I modify TYPE as you wanted\r\n' 19:28:29.164538 < 21 bytes data, client => server 19:28:29.164551 'SIZE verifiedserver\r\n' 19:28:29.164673 Received DATA (on stdin) 19:28:29.164684 > 8 bytes data, server => client 19:28:29.164694 '213 17\r\n' 19:28:29.164748 < 21 bytes data, client => server 19:28:29.164760 'RETR verifiedserver\r\n' 19:28:29.165087 Received DATA (on stdin) 19:28:29.165098 > 29 bytes data, server => client 19:28:29.165108 '150 Binary junk (17 bytes).\r\n' 19:28:29.165479 Received DATA (on stdin) 19:28:29.165491 > 28 bytes data, server => client 19:28:29.165501 '226 File transfer complete\r\n' 19:28:29.210378 < 6 bytes data, client => server 19:28:29.210406 'QUIT\r\n' 19:28:29.210643 Received DATA (on stdin) 19:28:29.210660 > 18 bytes data, server => client 19:28:29.210670 '221 bye bye baby\r\n' 19:28:29.213899 ====> Client disconnect 19:28:29.214790 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:28.157656 Running IPv4 version 19:28:28.157718 Listening on port 41843 19:28:28.157757 Wrote pid 154652 to log/23/server/ftp_sockdata.pid 19:28:28.163680 Received PING (on stdin) 19:28:28.163835 Received PORT (on stdin) 19:28:28.164208 ====> Client connect 19:28:28.165001 Received DATA (on stdin) 19:28:28.165013 > 17 bytes data, server => client 19:28:28.165022 'WE ROOLZ: 84709\r\n' 19:28:28.165051 Received DISC (on stdin) 19:28:28.165063 ====> Client forcibly disconnected 19:28:28.165187 Received QUIT (on stdin) 19:28:28.165196 quits 19:28:28.165268 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==154718== ==154718== Process terminating with default action of signal 4 (SIGILL) ==154718== Illegal opcode at address 0x492B75F ==154718== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154718== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154718== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154718== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154718== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154718== by 0x49908EB: curl_version_info (version.c:600) ==154718== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154718== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154718== by 0x4003269: main (tool_main.c:195) === End of file valgrind1361 test 1365 [HTTP GET -o fname without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1365 ../src/curl -q --trace-ascii log/12/trace1365 --trace-time http://127.0.0.1:40921/1365 -o log/12/outfile1365 -D - > log/12/stdout1365 2> log/12/stderr1365 1365: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1365 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1365 ../src/curl -q --trace-ascii log/12/trace1365 --trace-time http://127.0.0.1:40921/1365 -o log/12/outfile1365 -D - > log/12/stdout1365 2> log/12/stderr1365 === End of file commands.log === Start of file http_server.log 19:28:28.406343 ====> Client connect 19:28:28.406383 accept_connection 3 returned 4 19:28:28.406408 Read 93 bytes 19:28:28.406420 Process 93 bytes request 19:28:28.406434 Got request: GET /verifiedserver HTTP/1.1 19:28:28.406444 Are-we-friendly question received 19:28:28.406478 Wrote request (93 bytes) input to log/12/server.input 19:28:28.406499 Identifying ourselves as friends 19:28:28.406578 Response sent (56 bytes) and written to log/12/server.response 19:28:28.406591 special request received, no persistency 19:28:28.406601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 57826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1365 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1365 ==154954== ==154954== Process terminating with default action of signal 4 (SIGILL) ==154954== Illegal opcode at address 0x492B75F ==154954== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154954== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154954== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154954== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154954== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154954== by 0x49908EB: curl_version_info (version.c:600) ==154954== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154954=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1369 ../src/curl -q --trace-ascii log/4/trace1369 --trace-time http://127.0.0.1:35735/1369 -J -o log/4/outfile1369 -D - > log/4/stdout1369 2> log/4/stderr1369 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1368 ../src/curl -q --trace-ascii log/19/trace1368 --trace-time http://127.0.0.1:37077/1368 -J -o log/19/outfile1368 -D log/19/heads1368 > log/19/stdout1368 2> log/19/stderr1368 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1367 ../src/curl -q --trace-ascii log/3/trace1367 --trace-time http://127.0.0.1:36161/1367 -o log/3/outfile1367 -D - > log/3/stdout1367 2> log/3/stderr1367 = by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154954== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154954== by 0x4003269: main (tool_main.c:195) === End of file valgrind1365 test 1369 [HTTP GET -o fname -J without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1369 ../src/curl -q --trace-ascii log/4/trace1369 --trace-time http://127.0.0.1:35735/1369 -J -o log/4/outfile1369 -D - > log/4/stdout1369 2> log/4/stderr1369 1369: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1369 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1369 ../src/curl -q --trace-ascii log/4/trace1369 --trace-time http://127.0.0.1:35735/1369 -J -o log/4/outfile1369 -D - > log/4/stdout1369 2> log/4/stderr1369 === End of file commands.log === Start of file http_server.log 19:28:29.753970 ====> Client connect 19:28:29.754010 accept_connection 3 returned 4 19:28:29.754185 Read 93 bytes 19:28:29.754200 Process 93 bytes request 19:28:29.754213 Got request: GET /verifiedserver HTTP/1.1 19:28:29.754221 Are-we-friendly question received 19:28:29.754253 Wrote request (93 bytes) input to log/4/server.input 19:28:29.754271 Identifying ourselves as friends 19:28:29.754343 Response sent (56 bytes) and written to log/4/server.response 19:28:29.754353 special request received, no persistency 19:28:29.754361 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 54150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1369 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1369 ==155202== ==155202== Process terminating with default action of signal 4 (SIGILL) ==155202== Illegal opcode at address 0x492B75F ==155202== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155202== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155202== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155202== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155202== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155202== by 0x49908EB: curl_version_info (version.c:600) ==155202== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155202== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155202== by 0x4003269: main (tool_main.c:195) === End of file valgrind1369 test 1368 [HTTP GET -o fname -J without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1368 ../src/curl -q --trace-ascii log/19/trace1368 --trace-time http://127.0.0.1:37077/1368 -J -o log/19/outfile1368 -D log/19/heads1368 > log/19/stdout1368 2> log/19/stderr1368 1368: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1368 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1368 ../src/curl -q --trace-ascii log/19/trace1368 --trace-time http://127.0.0.1:37077/1368 -J -o log/19/outfile1368 -D log/19/heads1368 > log/19/stdout1368 2> log/19/stderr1368 === End of file commands.log === Start of file http_server.log 19:28:28.755906 ====> Client connect 19:28:28.755949 accept_connection 3 returned 4 19:28:28.764920 Read 93 bytes 19:28:28.764946 Process 93 bytes request 19:28:28.764970 Got request: GET /verifiedserver HTTP/1.1 19:28:28.764979 Are-we-friendly question received 19:28:28.770482 Wrote request (93 bytes) input to log/19/server.input 19:28:28.770521 Identifying ourselves as friends 19:28:28.770613 Response sent (57 bytes) and written to log/19/server.response 19:28:28.770623 special request received, no persistency 19:28:28.770631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 51822 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1368 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1368 ==155210== ==155210== Process terminating with default action of signal 4 (SIGILL) ==155210== Illegal opcode at address 0x492B75F ==155210== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155210== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155210== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155210== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155210== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155210== by 0x49908EB: curl_version_info (version.c:600) ==155210== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155210== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155210== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155210== by 0x4003269: main (tool_main.c:195) === End of file valgrind1368 test 1367 [HTTP GET -o fname and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1367 ../src/curl -q --trace-ascii log/3/trace1367 --trace-time http://127.0.0.1:36161/1367 -o log/3/outfile1367 -D - > log/3/stdout1367 2> log/3/stderr1367 1367: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1367 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1367 ../src/curl -q --trace-ascii log/3/trace1367 --trace-time http://127.0.0.1:36161/1367 -o log/3/outfile1367 -D - > log/3/stdout1367 2> log/3/stderr1367 === End of file commands.log === Start of file http_server.log 19:28:29.524903 ====> Client connect 19:28:29.524949 accept_connection 3 returned 4 19:28:29.524974 Read 93 bytes 19:28:29.524983 Process 93 bytes request 19:28:29.524999 Got request: GET /verifiedserver HTTP/1.1 19:28:29.525008 Are-we-friendly question received 19:28:29.525033 Wrote request (93 bytes) input to log/3/server.input 19:28:29.525055 Identifying ourselves as friends 19:28:29.525134 Response sent (56 bytes) and written to log/3/server.response 19:28:29.525142 special request received,CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1366 ../src/curl -q --trace-ascii log/17/trace1366 --trace-time http://127.0.0.1:35993/1366 -o log/17/outfile1366 -D log/17/heads1366 > log/17/stdout1366 2> log/17/stderr1366 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:43739/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1370 ../src/curl -q --trace-ascii log/9/trace1370 --trace-time http://127.0.0.1:43733/1370 -J -o log/9/outfile1370 -D log/9/heads1370 > log/9/stdout1370 2> log/9/stderr1370 no persistency 19:28:29.525150 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 36310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1367 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1367 ==155059== ==155059== Process terminating with default action of signal 4 (SIGILL) ==155059== Illegal opcode at address 0x492B75F ==155059== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155059== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155059== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155059== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155059== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155059== by 0x49908EB: curl_version_info (version.c:600) ==155059== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155059== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155059== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155059== by 0x4003269: main (tool_main.c:195) === End of file valgrind1367 test 1366 [HTTP GET -o fname and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1366 ../src/curl -q --trace-ascii log/17/trace1366 --trace-time http://127.0.0.1:35993/1366 -o log/17/outfile1366 -D log/17/heads1366 > log/17/stdout1366 2> log/17/stderr1366 1366: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1366 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1366 ../src/curl -q --trace-ascii log/17/trace1366 --trace-time http://127.0.0.1:35993/1366 -o log/17/outfile1366 -D log/17/heads1366 > log/17/stdout1366 2> log/17/stderr1366 === End of file commands.log === Start of file http_server.log 19:28:29.452006 ====> Client connect 19:28:29.452047 accept_connection 3 returned 4 19:28:29.452071 Read 93 bytes 19:28:29.452082 Process 93 bytes request 19:28:29.452095 Got request: GET /verifiedserver HTTP/1.1 19:28:29.452103 Are-we-friendly question received 19:28:29.452135 Wrote request (93 bytes) input to log/17/server.input 19:28:29.452154 Identifying ourselves as friends 19:28:29.452225 Response sent (56 bytes) and written to log/17/server.response 19:28:29.452237 special request received, no persistency 19:28:29.452246 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 54144 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1366 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1366 ==154980== ==154980== Process terminating with default action of signal 4 (SIGILL) ==154980== Illegal opcode at address 0x492B75F ==154980== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==154980== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==154980== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==154980== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==154980== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==154980== by 0x49908EB: curl_version_info (version.c:600) ==154980== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==154980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==154980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==154980== by 0x4003269: main (tool_main.c:195) === End of file valgrind1366 test 1372 [HTTP GET -o fname -i without Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:43739/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 1372: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1372 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1372 ../src/curl -q --trace-ascii log/18/trace1372 --trace-time http://127.0.0.1:43739/1372 -i -o log/18/outfile1372 -D log/18/heads1372 > log/18/stdout1372 2> log/18/stderr1372 === End of file commands.log === Start of file http_server.log 19:28:30.114877 ====> Client connect 19:28:30.114923 accept_connection 3 returned 4 19:28:30.114949 Read 93 bytes 19:28:30.114959 Process 93 bytes request 19:28:30.114972 Got request: GET /verifiedserver HTTP/1.1 19:28:30.114981 Are-we-friendly question received 19:28:30.115009 Wrote request (93 bytes) input to log/18/server.input 19:28:30.115026 Identifying ourselves as friends 19:28:30.115122 Response sent (56 bytes) and written to log/18/server.response 19:28:30.115132 special request received, no persistency 19:28:30.115140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 36340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1372 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1372 ==155374== ==155374== Process terminating with default action of signal 4 (SIGILL) ==155374== Illegal opcode at address 0x492B75F ==155374== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155374== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155374== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155374== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155374== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155374== by 0x49908EB: curl_version_info (version.c:600) ==155374== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155374== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155374== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155374== by 0x4003269: main (tool_main.c:195) === End of file valgrind1372 test 1370 [HTTP GET -o fname -J and Content-Disposition, -D file] ../libtooCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1374 ../src/curl -q --trace-ascii log/14/trace1374 --trace-time http://127.0.0.1:45467/1374 -i -o log/14/outfile1374 -D log/14/heads1374 > log/14/stdout1374 2> log/14/stderr1374 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:35989/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 l --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1370 ../src/curl -q --trace-ascii log/9/trace1370 --trace-time http://127.0.0.1:43733/1370 -J -o log/9/outfile1370 -D log/9/heads1370 > log/9/stdout1370 2> log/9/stderr1370 1370: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1370 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1370 ../src/curl -q --trace-ascii log/9/trace1370 --trace-time http://127.0.0.1:43733/1370 -J -o log/9/outfile1370 -D log/9/heads1370 > log/9/stdout1370 2> log/9/stderr1370 === End of file commands.log === Start of file http_server.log 19:28:29.098212 ====> Client connect 19:28:29.098253 accept_connection 3 returned 4 19:28:29.098278 Read 93 bytes 19:28:29.098288 Process 93 bytes request 19:28:29.098302 Got request: GET /verifiedserver HTTP/1.1 19:28:29.098310 Are-we-friendly question received 19:28:29.098344 Wrote request (93 bytes) input to log/9/server.input 19:28:29.098362 Identifying ourselves as friends 19:28:29.098450 Response sent (56 bytes) and written to log/9/server.response 19:28:29.098463 special request received, no persistency 19:28:29.098472 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 51410 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1370 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1370 ==155377== ==155377== Process terminating with default action of signal 4 (SIGILL) ==155377== Illegal opcode at address 0x492B75F ==155377== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155377== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155377== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155377== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155377== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155377== by 0x49908EB: curl_version_info (version.c:600) ==155377== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155377== by 0x4003269: main (tool_main.c:195) === End of file valgrind1370 test 1374 [HTTP GET -o fname -i and Content-Disposition, -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1374 ../src/curl -q --trace-ascii log/14/trace1374 --trace-time http://127.0.0.1:45467/1374 -i -o log/14/outfile1374 -D log/14/heads1374 > log/14/stdout1374 2> log/14/stderr1374 1374: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1374 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1374 ../src/curl -q --trace-ascii log/14/trace1374 --trace-time http://127.0.0.1:45467/1374 -i -o log/14/outfile1374 -D log/14/heads1374 > log/14/stdout1374 2> log/14/stderr1374 === End of file commands.log === Start of file http_server.log 19:28:29.578182 ====> Client connect 19:28:29.578217 accept_connection 3 returned 4 19:28:29.578239 Read 93 bytes 19:28:29.578248 Process 93 bytes request 19:28:29.578261 Got request: GET /verifiedserver HTTP/1.1 19:28:29.578269 Are-we-friendly question received 19:28:29.578296 Wrote request (93 bytes) input to log/14/server.input 19:28:29.578320 Identifying ourselves as friends 19:28:29.578386 Response sent (56 bytes) and written to log/14/server.response 19:28:29.578395 special request received, no persistency 19:28:29.578403 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 37348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1374 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1374 ==155614== ==155614== Process terminating with default action of signal 4 (SIGILL) ==155614== Illegal opcode at address 0x492B75F ==155614== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155614== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155614== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155614== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155614== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155614== by 0x49908EB: curl_version_info (version.c:600) ==155614== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155614== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155614== by 0x4003269: main (tool_main.c:195) === End of file valgrind1374 test 1373 [HTTP GET -o fname -i without Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:35989/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 1373: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1373 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:35989/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 === End of file commands.log === Start of file http_server.log 19:28:29.311641 ====> Client connect 19:28:29.311681 accept_connection 3 returned 4 19:28:29.311707 Read 93 bytes 19:28:29.311717 Process 93 bytes request 19:28:29.311731 Got request: GET /verifiedserver HTTP/1.1 19:28:29.311741 Are-we-friendly question received 19:28:29.311770 Wrote request (93 bytes) input to log/22/server.input 19:28:29.311788 Identifying ourselves as friends 19:28:29.311860 Response sent (56 bytes) and written to log/22/server.response 19:28:29.311871 special request received, no persistency 19:28:29.311881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 5CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1371 ../src/curl -q --trace-ascii log/13/trace1371 --trace-time http://127.0.0.1:38821/1371 -J -o log/13/outfile1371 -D - > log/13/stdout1371 2> log/13/stderr1371 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1375 ../src/curl -q --trace-ascii log/15/trace1375 --trace-time http://127.0.0.1:40321/1375 -i -o log/15/outfile1375 -D - > log/15/stdout1375 2> log/15/stderr1375 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:37089/1377 -i -o log/5/outfile1377 > log/5/stdout1377 2> log/5/stderr1377 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1376 ../src/curl -q --trace-ascii log/1/trace1376 --trace-time http://127.0.0.1:38815/1376 -i -o log/1/outfile1376 > log/1/stdout1376 2> log/1/stderr1376 2064 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1373 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1373 ==155521== ==155521== Process terminating with default action of signal 4 (SIGILL) ==155521== Illegal opcode at address 0x492B75F ==155521== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155521== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155521== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155521== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155521== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155521== by 0x49908EB: curl_version_info (version.c:600) ==155521== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155521== by 0x4003269: main (tool_main.c:195) === End of file valgrind1373 test 1371 [HTTP GET -o fname -J and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1371 ../src/curl -q --trace-ascii log/13/trace1371 --trace-time http://127.0.0.1:38821/1371 -J -o log/13/outfile1371 -D - > log/13/stdout1371 2> log/13/stderr1371 1371: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1371 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1371 ../src/curl -q --trace-ascii log/13/trace1371 --trace-time http://127.0.0.1:38821/1371 -J -o log/13/outfile1371 -D - > log/13/stdout1371 2> log/13/stderr1371 === End of file commands.log === Start of file http_server.log 19:28:29.060352 ====> Client connect 19:28:29.060392 accept_connection 3 returned 4 19:28:29.060557 Read 93 bytes 19:28:29.060573 Process 93 bytes request 19:28:29.060587 Got request: GET /verifiedserver HTTP/1.1 19:28:29.060596 Are-we-friendly question received 19:28:29.060628 Wrote request (93 bytes) input to log/13/server.input 19:28:29.060647 Identifying ourselves as friends 19:28:29.060718 Response sent (56 bytes) and written to log/13/server.response 19:28:29.060731 special request received, no persistency 19:28:29.060741 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 43520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1371 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1371 ==155347== ==155347== Process terminating with default action of signal 4 (SIGILL) ==155347== Illegal opcode at address 0x492B75F ==155347== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155347== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155347== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155347== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155347== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155347== by 0x49908EB: curl_version_info (version.c:600) ==155347== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155347== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155347== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155347== by 0x4003269: main (tool_main.c:195) === End of file valgrind1371 test 1375 [HTTP GET -o fname -i and Content-Disposition, -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1375 ../src/curl -q --trace-ascii log/15/trace1375 --trace-time http://127.0.0.1:40321/1375 -i -o log/15/outfile1375 -D - > log/15/stdout1375 2> log/15/stderr1375 1375: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1375 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1375 ../src/curl -q --trace-ascii log/15/trace1375 --trace-time http://127.0.0.1:40321/1375 -i -o log/15/outfile1375 -D - > log/15/stdout1375 2> log/15/stderr1375 === End of file commands.log === Start of file http_server.log 19:28:30.583921 ====> Client connect 19:28:30.583954 accept_connection 3 returned 4 19:28:30.583975 Read 93 bytes 19:28:30.583984 Process 93 bytes request 19:28:30.583997 Got request: GET /verifiedserver HTTP/1.1 19:28:30.584006 Are-we-friendly question received 19:28:30.584031 Wrote request (93 bytes) input to log/15/server.input 19:28:30.584047 Identifying ourselves as friends 19:28:30.584105 Response sent (56 bytes) and written to log/15/server.response 19:28:30.584114 special request received, no persistency 19:28:30.584122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 54306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1375 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1375 ==155623== ==155623== Process terminating with default action of signal 4 (SIGILL) ==155623== Illegal opcode at address 0x492B75F ==155623== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155623== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155623== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155623== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155623== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155623== by 0x49908EB: curl_version_info (version.c:600) ==155623== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155623== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155623== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155623== by 0x4003269: main (tool_main.c:195) === End of file valgrind1375 test 1377 [HTTP GET -o fname -i and Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:37089/1377 -i -o log/5/outfile1377 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1379 ../src/curl -q --trace-ascii log/6/trace1379 --trace-time ftp://127.0.0.1:33989/path/file1379 -o log/6/download1379 -D log/6/heads1379 > log/6/stdout1379 2> log/6/stderr1379 > log/5/stdout1377 2> log/5/stderr1377 1377: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1377 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1377 ../src/curl -q --trace-ascii log/5/trace1377 --trace-time http://127.0.0.1:37089/1377 -i -o log/5/outfile1377 > log/5/stdout1377 2> log/5/stderr1377 === End of file commands.log === Start of file http_server.log 19:28:29.951517 ====> Client connect 19:28:29.951551 accept_connection 3 returned 4 19:28:29.951712 Read 93 bytes 19:28:29.951728 Process 93 bytes request 19:28:29.951742 Got request: GET /verifiedserver HTTP/1.1 19:28:29.951750 Are-we-friendly question received 19:28:29.951782 Wrote request (93 bytes) input to log/5/server.input 19:28:29.951798 Identifying ourselves as friends 19:28:29.951858 Response sent (56 bytes) and written to log/5/server.response 19:28:29.951868 special request received, no persistency 19:28:29.951875 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 50196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1377 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1377 ==155841== ==155841== Process terminating with default action of signal 4 (SIGILL) ==155841== Illegal opcode at address 0x492B75F ==155841== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155841== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155841== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155841== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155841== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155841== by 0x49908EB: curl_version_info (version.c:600) ==155841== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155841== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155841== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155841== by 0x4003269: main (tool_main.c:195) === End of file valgrind1377 test 1376 [HTTP GET -o fname -i without Content-Disposition, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1376 ../src/curl -q --trace-ascii log/1/trace1376 --trace-time http://127.0.0.1:38815/1376 -i -o log/1/outfile1376 > log/1/stdout1376 2> log/1/stderr1376 1376: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1376 ../src/curl -q --trace-ascii log/1/trace1376 --trace-time http://127.0.0.1:38815/1376 -i -o log/1/outfile1376 > log/1/stdout1376 2> log/1/stderr1376 === End of file commands.log === Start of file http_server.log 19:28:30.774865 ====> Client connect 19:28:30.774900 accept_connection 3 returned 4 19:28:30.774920 Read 93 bytes 19:28:30.774928 Process 93 bytes request 19:28:30.774937 Got request: GET /verifiedserver HTTP/1.1 19:28:30.774944 Are-we-friendly question received 19:28:30.774964 Wrote request (93 bytes) input to log/1/server.input 19:28:30.774977 Identifying ourselves as friends 19:28:30.775036 Response sent (56 bytes) and written to log/1/server.response 19:28:30.775045 special request received, no persistency 19:28:30.775052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 34028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1376 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1376 ==155729== ==155729== Process terminating with default action of signal 4 (SIGILL) ==155729== Illegal opcode at address 0x492B75F ==155729== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155729== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155729== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155729== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155729== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155729== by 0x49908EB: curl_version_info (version.c:600) ==155729== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155729== by 0x4003269: main (tool_main.c:195) === End of file valgrind1376 test 1379 [FTP DL, file without C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1379 ../src/curl -q --trace-ascii log/6/trace1379 --trace-time ftp://127.0.0.1:33989/path/file1379 -o log/6/download1379 -D log/6/heads1379 > log/6/stdout1379 2> log/6/stderr1379 1379: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1379 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1379 ../src/curl -q --trace-ascii log/6/trace1379 --trace-time ftp://127.0.0.1:33989/path/file1379 -o log/6/download1379 -D log/6/heads1379 > log/6/stdout1379 2> log/6/stderr1379 === End of file commands.log === Start of file ftp_server.log 19:28:30.385466 ====> Client connect 19:28:30.385666 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.385973 < "USER anonymous" 19:28:30.386010 > "331 We are happy you popped in![CR][LF]" 19:28:30.386179 < "PASS ftp@example.com" 19:28:30.386208 > "230 Welcome you silly person[CR][LF]" 19:28:30.386350 < "PWD" 19:28:30.386378 > "257 "/" is current directory[CR][LF]" 19:28:30.386523 < "EPSV" 19:28:30.386545 ====> Passive DATA channel requested by client 19:28:30.386557 DATA sockfilt for passive data channel starting... 19:28:30.390206 DATA sockfilt for passive data channel started (pid 155839) 19:28:30.390333 DATA sockfilt for passive data channel listens on port 38353 19:28:30.390375 > "229 Entering Passive Mode (|||38353|)[CR][LF]" 19:28:30.390391 Client has been notified that upcoming DATA connection is awaited on port 38353 19:28:30.395390 Client connects to port 38353 19:28:30.395437 ====> Client established passive DATA conneCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1378 ../src/curl -q --trace-ascii log/21/trace1378 --trace-time ftp://127.0.0.1:35787/path/file1378 -o log/21/download1378 > log/21/stdout1378 2> log/21/stderr1378 ction on port 38353 19:28:30.395533 < "TYPE I" 19:28:30.395569 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.395737 < "SIZE verifiedserver" 19:28:30.395770 > "213 17[CR][LF]" 19:28:30.395896 < "RETR verifiedserver" 19:28:30.395926 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.396008 =====> Closing passive DATA connection... 19:28:30.396021 Server disconnects passive DATA connection 19:28:30.396123 Server disconnected passive DATA connection 19:28:30.396140 DATA sockfilt for passive data channel quits (pid 155839) 19:28:30.396403 DATA sockfilt for passive data channel quit (pid 155839) 19:28:30.396423 =====> Closed passive DATA connection 19:28:30.396444 > "226 File transfer complete[CR][LF]" 19:28:30.446402 < "QUIT" 19:28:30.446456 > "221 bye bye baby[CR][LF]" 19:28:30.447568 MAIN sockfilt said DISC 19:28:30.447597 ====> Client disconnected 19:28:30.447679 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.988130 ====> Client connect 19:28:30.988481 Received DATA (on stdin) 19:28:30.988496 > 146 bytes data, server => client 19:28:30.988506 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.988516 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.988524 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.988625 < 16 bytes data, client => server 19:28:30.988637 'USER anonymous\r\n' 19:28:30.988812 Received DATA (on stdin) 19:28:30.988823 > 33 bytes data, server => client 19:28:30.988832 '331 We are happy you popped in!\r\n' 19:28:30.988887 < 22 bytes data, client => server 19:28:30.988896 'PASS ftp@example.com\r\n' 19:28:30.989006 Received DATA (on stdin) 19:28:30.989016 > 30 bytes data, server => client 19:28:30.989025 '230 Welcome you silly person\r\n' 19:28:30.989072 < 5 bytes data, client => server 19:28:30.989081 'PWD\r\n' 19:28:30.989174 Received DATA (on stdin) 19:28:30.989184 > 30 bytes data, server => client 19:28:30.989192 '257 "/" is current directory\r\n' 19:28:30.989247 < 6 bytes data, client => server 19:28:30.989256 'EPSV\r\n' 19:28:30.993196 Received DATA (on stdin) 19:28:30.993211 > 39 bytes data, server => client 19:28:30.993221 '229 Entering Passive Mode (|||38353|)\r\n' 19:28:30.993381 < 8 bytes data, client => server 19:28:30.993394 'TYPE I\r\n' 19:28:30.998369 Received DATA (on stdin) 19:28:30.998382 > 33 bytes data, server => client 19:28:30.998393 '200 I modify TYPE as you wanted\r\n' 19:28:30.998463 < 21 bytes data, client => server 19:28:30.998472 'SIZE verifiedserver\r\n' 19:28:30.998565 Received DATA (on stdin) 19:28:30.998574 > 8 bytes data, server => client 19:28:30.998582 '213 17\r\n' 19:28:30.998624 < 21 bytes data, client => server 19:28:30.998633 'RETR verifiedserver\r\n' 19:28:30.999240 Received DATA (on stdin) 19:28:30.999251 > 29 bytes data, server => client 19:28:30.999260 '150 Binary junk (17 bytes).\r\n' 19:28:30.999280 Received DATA (on stdin) 19:28:30.999288 > 28 bytes data, server => client 19:28:30.999296 '226 File transfer complete\r\n' 19:28:31.049014 < 6 bytes data, client => server 19:28:31.049046 'QUIT\r\n' 19:28:31.049253 Received DATA (on stdin) 19:28:31.049264 > 18 bytes data, server => client 19:28:31.049273 '221 bye bye baby\r\n' 19:28:31.050317 ====> Client disconnect 19:28:31.050473 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.992670 Running IPv4 version 19:28:30.992760 Listening on port 38353 19:28:30.992792 Wrote pid 155839 to log/6/server/ftp_sockdata.pid 19:28:30.992950 Received PING (on stdin) 19:28:30.993035 Received PORT (on stdin) 19:28:30.998122 ====> Client connect 19:28:30.998818 Received DATA (on stdin) 19:28:30.998829 > 17 bytes data, server => client 19:28:30.998837 'WE ROOLZ: 85558\r\n' 19:28:30.998863 Received DISC (on stdin) 19:28:30.998873 ====> Client forcibly disconnected 19:28:30.998940 Received QUIT (on stdin) 19:28:30.998949 quits 19:28:30.999009 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==155889== ==155889== Process terminating with default action of signal 4 (SIGILL) ==155889== Illegal opcode at address 0x492B75F ==155889== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155889== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155889== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155889== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155889== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155889== by 0x49908EB: curl_version_info (version.c:600) ==155889== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155889== by 0x4003269: main (tool_main.c:195) === End of file valgrind1379 test 1378 [FTP DL, file without Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1378 ../src/curl -q --trace-ascii log/21/trace1378 --trace-time ftp://127.0.0.1:35787/path/file1378 -o log/21/download1378 > log/21/stdout1378 2> log/21/stderr1378 1378: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1378 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1378 ../src/curl -q --trace-ascii log/21/trace1378 --trace-time ftp://127.0.0.1:35787/path/file1378 -o log/21/download1378 > log/21/stdout1378 2> log/21/stderr1378 === End of file commands.log === Start of file ftp_server.log 19:28:30.332056 ====> Client connect 19:28:30.332352 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.335817 < "USER anonymous" 19:28:30.335881 > "331 We are happy you popped in![CR][LF]" 19:28:30.336717 < "PASS ftp@example.com" 19:28:30.336764 > "230 Welcome you silly person[CR][LF]" 19:28:30.336970 < "PWD" 19:28:30.337010 > "257 "/" is current directory[CR][LF]" 19:28:30.337210 < "EPSV" 19:28:30.337239 ====> Passive DATA channel requested by client 19:28:30.337254 DATA sockfilt for passive data channel starting... 19:28:30.348906 DATA sockfilt for passive data channel started (pid 155813) 19:28:30.349066 DATA sockfilt for passive data channel listens on port 37579 19:28:30.349114 > "229 Entering Passive Mode (|||37579|)[CR][LF]" 19:28:30.349129 Client has been notified that upcoming DATA connection is awaited on port 37579 19:28:30.349406 Client connects to port 37579 19:28:30.349443 ====> Client established passive DATA connection on port 37579 19:28:30.349549 < "TYPE I" 19:28:30.349597 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.349826 < "SIZE verifiedserver" 19:28:30.349871 > "213 17[CR][LF]" 19:28:30.350031 < "RETR verifiedserver" 19:28:30.350068 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.350156 =====> Closing passive DATA connection... 19:28:30.350171 Server disconnects passive DATA connection 19:28:30.350411 Server disconnected passive DATA connection 19:28:30.350439 DATA sockfilt for passive data channel quits (pid 155813) 19:28:30.350688 DATA sockfilt for passive data channel quit (pid 155813) 19:28:30.350710 =====> Closed passive DATA connection 19:28:30.350737 > "226 File transfer complete[CR][LF]" 19:28:30.392289 < "QUIT" 19:28:30.392346 > "221 bye bye baby[CR][LF]" 19:28:30.393712 MAIN sockfilt said DISC 19:28:30.393756 ====> Client disconnected 19:28:30.393842 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:29.933042 ====> Client connect 19:28:29.935186 Received DATA (on stdinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1394 ./tunit/tunits tool1394 - > log/18/stdout1394 2> log/18/stderr1394 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1381 ../src/curl -q --trace-ascii log/2/trace1381 --trace-time ftp://127.0.0.1:38033/path/file1381 -o log/2/download1381 -J -D log/2/heads1381 > log/2/stdout1381 2> log/2/stderr1381 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1385 ../src/curl -q --trace-ascii log/10/trace1385 --trace-time ftp://127.0.0.1:44817/path/file1385 -o log/10/download1385 -i > log/10/stdout1385 2> log/10/stderr1385 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1384 ../src/curl -q --trace-ascii log/11/trace1384 --trace-time ftp://127.0.0.1:36697/path/file1384 -o log/11/download1384 -i -D - > log/11/stdout1384 2> log/11/stderr1384 ) 19:28:29.935208 > 146 bytes data, server => client 19:28:29.935220 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:29.935231 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:29.935240 '220 \___|\___/|_| \_\_____|\r\n' 19:28:29.938383 < 16 bytes data, client => server 19:28:29.938409 'USER anonymous\r\n' 19:28:29.938695 Received DATA (on stdin) 19:28:29.938710 > 33 bytes data, server => client 19:28:29.938726 '331 We are happy you popped in!\r\n' 19:28:29.939373 < 22 bytes data, client => server 19:28:29.939393 'PASS ftp@example.com\r\n' 19:28:29.939574 Received DATA (on stdin) 19:28:29.939587 > 30 bytes data, server => client 19:28:29.939598 '230 Welcome you silly person\r\n' 19:28:29.939664 < 5 bytes data, client => server 19:28:29.939679 'PWD\r\n' 19:28:29.939814 Received DATA (on stdin) 19:28:29.939826 > 30 bytes data, server => client 19:28:29.939837 '257 "/" is current directory\r\n' 19:28:29.939909 < 6 bytes data, client => server 19:28:29.939924 'EPSV\r\n' 19:28:29.951944 Received DATA (on stdin) 19:28:29.951960 > 39 bytes data, server => client 19:28:29.951970 '229 Entering Passive Mode (|||37579|)\r\n' 19:28:29.952121 < 8 bytes data, client => server 19:28:29.952135 'TYPE I\r\n' 19:28:29.952408 Received DATA (on stdin) 19:28:29.952422 > 33 bytes data, server => client 19:28:29.952433 '200 I modify TYPE as you wanted\r\n' 19:28:29.952518 < 21 bytes data, client => server 19:28:29.952528 'SIZE verifiedserver\r\n' 19:28:29.952675 Received DATA (on stdin) 19:28:29.952684 > 8 bytes data, server => client 19:28:29.952694 '213 17\r\n' 19:28:29.952745 < 21 bytes data, client => server 19:28:29.952755 'RETR verifiedserver\r\n' 19:28:29.952977 Received DATA (on stdin) 19:28:29.952988 > 29 bytes data, server => client 19:28:29.952997 '150 Binary junk (17 bytes).\r\n' 19:28:29.953545 Received DATA (on stdin) 19:28:29.953557 > 28 bytes data, server => client 19:28:29.953566 '226 File transfer complete\r\n' 19:28:29.994917 < 6 bytes data, client => server 19:28:29.994944 'QUIT\r\n' 19:28:29.995153 Received DATA (on stdin) 19:28:29.995167 > 18 bytes data, server => client 19:28:29.995177 '221 bye bye baby\r\n' 19:28:29.996449 ====> Client disconnect 19:28:29.996646 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.949048 Running IPv4 version 19:28:30.949155 Listening on port 37579 19:28:30.949199 Wrote pid 155813 to log/21/server/ftp_sockdata.pid 19:28:30.951638 Received PING (on stdin) 19:28:30.951762 Received PORT (on stdin) 19:28:30.952154 ====> Client connect 19:28:30.953059 Received DATA (on stdin) 19:28:30.953072 > 17 bytes data, server => client 19:28:30.953081 'WE ROOLZ: 84694\r\n' 19:28:30.953106 Received DISC (on stdin) 19:28:30.953116 ====> Client forcibly disconnected 19:28:30.953251 Received QUIT (on stdin) 19:28:30.953261 quits 19:28:30.953327 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==155853== ==155853== Process terminating with default action of signal 4 (SIGILL) ==155853== Illegal opcode at address 0x492B75F ==155853== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==155853== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==155853== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==155853== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==155853== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==155853== by 0x49908EB: curl_version_info (version.c:600) ==155853== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==155853== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==155853== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==155853== by 0x4003269: main (tool_main.c:195) === End of file valgrind1378 test 1394 [unit test for parse_cert_parameter()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1394 ./tunit/tunits tool1394 - > log/18/stdout1394 2> log/18/stderr1394 tunits returned 132, when expecting 0 1394: exit FAILED == Contents of files in the log/18/ directory after test 1394 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1394 ./tunit/tunits tool1394 - > log/18/stdout1394 2> log/18/stderr1394 === End of file commands.log === Start of file server.cmd Testnum 1394 === End of file server.cmd === Start of file valgrind1394 ==156831== ==156831== Process terminating with default action of signal 4 (SIGILL) ==156831== Illegal opcode at address 0x48F863F ==156831== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==156831== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==156831== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==156831== by 0x40011A9: main (first.c:264) === End of file valgrind1394 test 1381 [FTP DL, file without C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1381 ../src/curl -q --trace-ascii log/2/trace1381 --trace-time ftp://127.0.0.1:38033/path/file1381 -o log/2/download1381 -J -D log/2/heads1381 > log/2/stdout1381 2> log/2/stderr1381 1381: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1381 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1381 ../src/curl -q --trace-ascii log/2/trace1381 --trace-time ftp://127.0.0.1:38033/path/file1381 -o log/2/download1381 -J -D log/2/heads1381 > log/2/stdout1381 2> log/2/stderr1381 === End of file commands.log === Start of file ftp_server.log 19:28:30.818284 ====> Client connect 19:28:30.818489 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.818836 < "USER anonymous" 19:28:30.818867 > "331 We are happy you popped in![CR][LF]" 19:28:30.819729 < "PASS ftp@example.com" 19:28:30.819756 > "230 Welcome you silly person[CR][LF]" 19:28:30.819909 < "PWD" 19:28:30.819941 > "257 "/" is current directory[CR][LF]" 19:28:30.821913 < "EPSV" 19:28:30.821938 ====> Passive DATA channel requested by client 19:28:30.821952 DATA sockfilt for passive data channel starting... 19:28:30.833127 DATA sockfilt for passive data channel started (pid 156055) 19:28:30.833314 DATA sockfilt for passive data channel listens on port 33233 19:28:30.833362 > "229 Entering Passive Mode (|||33233|)[CR][LF]" 19:28:30.833381 Client has been notified that upcoming DATA connection is awaited on port 33233 19:28:30.833696 Client connects to port 33233 19:28:30.833726 ====> Client established passive DATA connection on port 33233 19:28:30.833811 < "TYPE I" 19:28:30.833842 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.833995 < "SIZE verifiedserver" 19:28:30.834028 > "213 17[CR][LF]" 19:28:30.834162 < "RETR verifiedserver" 19:28:30.834194 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.834283 =====> Closing passive DATA connection... 19:28:30.834298 Server disconnects passive DATA connection 19:28:30.834444 Server disconnected passive DATA connection 19:28:30.834464 DATA sockfilt for passive data channel quits (pid 156055) 19:28:30.834751 DATA sockfilt for passive data channel quit (pid 156055) 19:28:30.834779 =====> Closed passive DATA connection 19:28:30.834806 > "226 File transfer complete[CR][LF]" 19:28:30.878962 < "QUIT" 19:28:30.879016 > "221 bye bye baby[CR][LF]" 19:28:30.880304 MAIN sockfilt said DISC 19:28:30.880342 ====> Client disconnected 19:28:30.880419 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.420944 ====> Client connect 19:28:30.421284 Received DATA (on stdin) 19:28:30.421297 > 146 bytes data, server => client 19:28:30.421308 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.421318 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.421327 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.421401 < 16 bytes data, client => server 19:28:30.421652 'USER anonymous\r\n' 19:28:30.421665 Received DATA (on stdin) 19:28:30.421674 > 33 bytes data, server => client 19:28:30.421684 '331 We are happy you popped in!\r\n' 19:28:30.422409 < 22 bytes data, client => server 19:28:30.422425 'PASS ftp@example.com\r\n' 19:28:30.422539 Received DATA (on stdin) 19:28:30.422549 > 30 bytes data, server => client 19:28:30.422559 '230 Welcome you silly person\r\n' 19:28:30.422609 < 5 bytes data, client => server 19:28:30.422620 'PWD\r\n' 19:28:30.424509 Received DATA (on stdin) 19:28:30.424527 > 30 bytes data, server => client 19:28:30.424538 '257 "/" is current directory\r\n' 19:28:30.424606 < 6 bytes data, client => server 19:28:30.424616 'EPSV\r\n' 19:28:30.436174 Received DATA (on stdin) 19:28:30.436190 > 39 bytes data, server => client 19:28:30.436201 '229 Entering Passive Mode (|||33233|)\r\n' 19:28:30.436398 < 8 bytes data, client => server 19:28:30.436411 'TYPE I\r\n' 19:28:30.436624 Received DATA (on stdin) 19:28:30.436634 > 33 bytes data, server => client 19:28:30.436644 '200 I modify TYPE as you wanted\r\n' 19:28:30.436696 < 21 bytes data, client => server 19:28:30.436707 'SIZE verifiedserver\r\n' 19:28:30.436808 Received DATA (on stdin) 19:28:30.436817 > 8 bytes data, server => client 19:28:30.436826 '213 17\r\n' 19:28:30.436871 < 21 bytes data, client => server 19:28:30.436880 'RETR verifiedserver\r\n' 19:28:30.437079 Received DATA (on stdin) 19:28:30.437090 > 29 bytes data, server => client 19:28:30.437099 '150 Binary junk (17 bytes).\r\n' 19:28:30.437588 Received DATA (on stdin) 19:28:30.437600 > 28 bytes data, server => client 19:28:30.437610 '226 File transfer complete\r\n' 19:28:30.481571 < 6 bytes data, client => server 19:28:30.481598 'QUIT\r\n' 19:28:30.481802 Received DATA (on stdin) 19:28:30.481814 > 18 bytes data, server => client 19:28:30.481824 '221 bye bye baby\r\n' 19:28:30.483029 ====> Client disconnect 19:28:30.483204 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.431161 Running IPv4 version 19:28:30.431275 Listening on port 33233 19:28:30.431322 Wrote pid 156055 to log/2/server/ftp_sockdata.pid 19:28:30.431344 Received PING (on stdin) 19:28:30.435981 Received PORT (on stdin) 19:28:30.436431 ====> Client connect 19:28:30.437122 Received DATA (on stdin) 19:28:30.437133 > 17 bytes data, server => client 19:28:30.437147 'WE ROOLZ: 85208\r\n' 19:28:30.437168 Received DISC (on stdin) 19:28:30.437179 ====> Client forcibly disconnected 19:28:30.437250 Received QUIT (on stdin) 19:28:30.437260 quits 19:28:30.437343 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==156087== ==156087== Process terminating with default action of signal 4 (SIGILL) ==156087== Illegal opcode at address 0x492B75F ==156087== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156087== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156087== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156087== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156087== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156087== by 0x49908EB: curl_version_info (version.c:600) ==156087== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156087== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156087== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156087== by 0x4003269: main (tool_main.c:195) === End of file valgrind1381 test 1385 [FTP DL, file without C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1385 ../src/curl -q --trace-ascii log/10/trace1385 --trace-time ftp://127.0.0.1:44817/path/file1385 -o log/10/download1385 -i > log/10/stdout1385 2> log/10/stderr1385 1385: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1385 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1385 ../src/curl -q --trace-ascii log/10/trace1385 --trace-time ftp://127.0.0.1:44817/path/file1385 -o log/10/download1385 -i > log/10/stdout1385 2> log/10/stderr1385 === End of file commands.log === Start of file ftp_server.log 19:28:31.034341 ====> Client connect 19:28:31.034592 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.034946 < "USER anonymous" 19:28:31.034997 > "331 We are happy you popped in![CR][LF]" 19:28:31.035204 < "PASS ftp@example.com" 19:28:31.035247 > "230 Welcome you silly person[CR][LF]" 19:28:31.035481 < "PWD" 19:28:31.035524 > "257 "/" is current directory[CR][LF]" 19:28:31.035716 < "EPSV" 19:28:31.035742 ====> Passive DATA channel requested by client 19:28:31.035755 DATA sockfilt for passive data channel starting... 19:28:31.045410 DATA sockfilt for passive data channel started (pid 156176) 19:28:31.045557 DATA sockfilt for passive data channel listens on port 33957 19:28:31.045612 > "229 Entering Passive Mode (|||33957|)[CR][LF]" 19:28:31.045631 Client has been notified that upcoming DATA connection is awaited on port 33957 19:28:31.045979 Client connects to port 33957 19:28:31.046017 ====> Client established passive DATA connection on port 33957 19:28:31.046130 < "TYPE I" 19:28:31.046174 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.046398 < "SIZE verifiedserver" 19:28:31.046457 > "213 17[CR][LF]" 19:28:31.046658 < "RETR verifiedserver" 19:28:31.046701 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.046803 =====> Closing passive DATA connection... 19:28:31.046825 Server disconnects passive DATA connection 19:28:31.047092 Server disconnected passive DATA connection 19:28:31.047121 DATA sockfilt for passive data channel quits (pid 156176) 19:28:31.047401 DATA sockfilt for passive data channel quit (pid 156176) 19:28:31.047430 =====> Closed passive DATA connection 19:28:31.047463 > "226 File transfer complete[CR][LF]" 19:28:31.092282 < "QUIT" 19:28:31.092336 > "221 bye bye baby[CR][LF]" 19:28:31.093540 MAIN sockfilt said DISC 19:28:31.093627 ====> Client disconnected 19:28:31.093716 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.636980 ====> Client connect 19:28:31.637399 Received DATA (on stdin) 19:28:31.637420 > 146 bytes data, server => client 19:28:31.637432 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.637443 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.637453 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.637546 < 16 bytes data, client => server 19:28:31.637563 'USER anonymous\r\n' 19:28:31.637783 Received DATA (on stdin) 19:28:31.637796 > 33 bytes data, server => client 19:28:31.637807 '331 We are happy you popped in!\r\n' 19:28:31.637866 < 22 bytes data, client => server 19:28:31.637879 'PASS ftp@example.com\r\n' 19:28:31.638030 Received DATA (on stdin) 19:28:31.638043 > 30 bytes data, server => client 19:28:31.638053 '230 Welcome you silly person\r\n' 19:28:31.638150 < 5 bytes data, client => server 19:28:31.638165 'PWD\r\n' 19:28:31.638305 Received DATA (on stdin) 19:28:31.638317 > 30 bytes data, server => client 19:28:31.638328 '257 "/" is current directory\r\n' 19:28:31.638397 < 6 bytes data, client => server 19:28:31.638410 'EPSV\r\n' 19:28:31.648419 Received DATA (on stdin) 19:28:31.648437 > 39 bytes data, server => client 19:28:31.648448 '229 Entering Passive Mode (|||33957|)\r\n' 19:28:31.648654 < 8 bytes data, client => server 19:28:31.648674 'TYPE I\r\n' 19:28:31.648957 Received DATA (on stdin) 19:28:31.648972 > 33 bytes data, server => client 19:28:31.648982 '200 I modify TYPE as you wanted\r\n' 19:28:31.649052 < 21 bytes data, client => server 19:28:31.649067 'SIZE verifiedserver\r\n' 19:28:31.649243 Received DATA (on stdin) 19:28:31.649256 > 8 bytes data, server => client 19:28:31.649266 '213 17\r\n' 19:28:31.649329 < 21 bytes data, client => server 19:28:31.649344 'RETR verifiedserver\r\n' 19:28:31.649605 Received DATA (on stdin) 19:28:31.649617 > 29 bytes data, server => client 19:28:31.649627 '150 Binary junk (17 bytes).\r\n' 19:28:31.650244 Received DATA (on stdin) 19:28:31.650257 > 28 bytes data, server => client 19:28:31.650266 '226 File transfer complete\r\n' 19:28:31.694865 < 6 bytes data, client => server 19:28:31.694896 'QUIT\r\n' 19:28:31.695113 Received DATA (on stdin) 19:28:31.695125 > 18 bytes data, server => client 19:28:31.695134 '221 bye bye baby\r\n' 19:28:31.696255 ====> Client disconnect 19:28:31.696331 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.642714 Running IPv4 version 19:28:31.642806 Listening on port 33957 19:28:31.642847 Wrote pid 156176 to log/10/server/ftp_sockdata.pid 19:28:31.648101 Received PING (on stdin) 19:28:31.648230 Received PORT (on stdin) 19:28:31.648700 ====> Client connect 19:28:31.649694 Received DATA (on stdin) 19:28:31.649711 > 17 bytes data, server => client 19:28:31.649721 'WE ROOLZ: 85153\r\n' 19:28:31.649752 Received DISC (on stdin) 19:28:31.649764 ====> Client forcibly disconnected 19:28:31.649908 Received QUIT (on stdin) 19:28:31.649920 quits 19:28:31.649987 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==156216== ==156216== Process terminating with default action of signal 4 (SIGILL) ==156216== Illegal opcode at address 0x492B75F ==156216== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156216== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156216== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156216== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156216== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156216== by 0x49908EB: curl_version_info (version.c:600) ==156216== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156216== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156216== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156216== by 0x4003269: main (tool_main.c:195) === End of file valgrind1385 test 1384 [FTP DL, file without C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1384 ../src/curl -q --trace-ascii log/11/trace1384 --trace-time ftp://127.0.0.1:36697/path/file1384 -o log/11/download1384 -i -D - > log/11/stdout1384 2> log/11/stderr1384 1384: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1384 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1384 ../src/curl -q --trace-ascii log/11/trace1384 --trace-time ftp://127.0.0.1:36697/path/file1384 -o log/11/download1384 -i -D - > log/11/stdout1384 2> log/11/stderr1384 === End of file commands.log === Start of file ftp_server.log 19:28:31.052120 ====> Client connect 19:28:31.052337 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.052685 < "USER anonymous" 19:28:31.052727 > "331 We are happy you popped in![CR][LF]" 19:28:31.052911 < "PASS ftp@example.com" 19:28:31.052944 > "230 Welcome you silly person[CR][LF]" 19:28:31.053122 < "PWD" 19:28:31.053158 > "257 "/" is current directory[CR][LF]" 19:28:31.053347 < "EPSV" 19:28:31.053379 ====> Passive DATA channel requested by client 19:28:31.053394 DATA sockfilt for passive data channel starting... 19:28:31.056891 DATA sockfilt for passive data channel started (pid 156181) 19:28:31.057004 DATA sockfilt for passive data channel listens on port 33821 19:28:31.057049 > "229 Entering Passive Mode (|||33821|)[CR][LF]" 19:28:31.057066 Client has been notified that upcoming DATA connection is awaited on port 33821 19:28:31.057316 Client connects to port 33821 19:28:31.057350 ====> Client established passive DATA connection on port 33821 19:28:31.057430 < "TYPE I" 19:28:31.057459 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.057614 < "SIZE verifiedserver" 19:28:31.057648 > "213 18[CR][LF]" 19:28:31.058830 < "RETR verifiedserver" 19:28:31.058869 > "150 Binary junk (18 bytes).[CR][LF]" 19:28:31.058958 =====> Closing passive DATA connection... 19:28:31.058973 Server disconnects passive DATA connection 19:28:31.059207 Server disconnected passive DATA connection 19:28:31.059233 DATA sockfilt for passive data channel quits (pid 156181) 19:28:31.059488 DATA sockfilt for passive data channel quit (pid 156181) 19:28:31.059512 =====> Closed passive DATA connection 19:28:31.059538 > "226 File transfer complete[CR][LF]" 19:28:31.105635 < "QUIT" 19:28:31.105690 > "221 bye bye baby[CR][LF]" 19:28:31.106983 MAIN sockfilt said DISC 19:28:31.107019 ====> Client disconnected 19:28:31.107103 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.654769 ====> Client connect 19:28:30.655125 Received DATA (on stdin) 19:28:30.655138 > 146 bytes data, server => client 19:28:30.655148 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.655161 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.655169 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.655279 < 16 bytes data, client => server 19:28:30.655293 'USER anonymous\r\n' 19:28:30.655510 Received DATA (on stdin) 19:28:30.655524 > 33 bytes data, server => client 19:28:30.655533 '331 We are happy you popped in!\r\n' 19:28:30.655587 < 22 bytes data, client => server 19:28:30.655598 'PASS ftp@example.com\r\n' 19:28:30.655723 Received DATA (on stdin) 19:28:30.655736 > 30 bytes data, server => client 19:28:30.655746 '230 Welcome you silly person\r\n' 19:28:30.655804 < 5 bytes data, client => server 19:28:30.655818 'PWD\r\n' 19:28:30.655935 Received DATA (on stdin) 19:28:30.655948 > 30 bytes data, server => client 19:28:30.655958 '257 "/" is current directory\r\n' 19:28:30.656025 < 6 bytes data, client => server 19:28:30.656039 'EPSV\r\n' 19:28:30.659845 Received DATA (on stdin) 19:28:30.659858 > 39 bytes data, server => client 19:28:30.659868 '229 Entering Passive Mode (|||33821|)\r\n' 19:28:30.660014 < 8 bytes data, client => server 19:28:30.660028 'TYPE I\r\n' 19:28:30.660234 Received DATA (on stdin) 19:28:30.660245 > 33 bytes data, server => client 19:28:30.660255 '200 I modify TYPE as you wanted\r\n' 19:28:30.660308 < 21 bytes data, client => server 19:28:30.660318 'SIZE verifiedserver\r\n' 19:28:30.660420 Received DATA (on stdin) 19:28:30.660430 > 8 bytes data, server => client 19:28:30.660439 '213 18\r\n' 19:28:30.661176 < 21 bytes data, client => server 19:28:30.661191 'RETR verifiedserver\r\n' 19:28:30.661748 Received DATA (on stdin) 19:28:30.661759 > 29 bytes data, server => client 19:28:30.661769 '150 Binary junk (18 bytes).\r\n' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1380 ../src/curl -q --trace-ascii log/16/trace1380 --trace-time ftp://127.0.0.1:40031/path/file1380 -o log/16/download1380 -D - > log/16/stdout1380 2> log/16/stderr1380 19:28:30.662317 Received DATA (on stdin) 19:28:30.662328 > 28 bytes data, server => client 19:28:30.662339 '226 File transfer complete\r\n' 19:28:30.708225 < 6 bytes data, client => server 19:28:30.708251 'QUIT\r\n' 19:28:30.708465 Received DATA (on stdin) 19:28:30.708476 > 18 bytes data, server => client 19:28:30.708486 '221 bye bye baby\r\n' 19:28:30.709691 ====> Client disconnect 19:28:30.709875 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.659346 Running IPv4 version 19:28:31.659419 Listening on port 33821 19:28:31.659459 Wrote pid 156181 to log/11/server/ftp_sockdata.pid 19:28:31.659610 Received PING (on stdin) 19:28:31.659691 Received PORT (on stdin) 19:28:31.660046 ====> Client connect 19:28:31.661824 Received DATA (on stdin) 19:28:31.661836 > 18 bytes data, server => client 19:28:31.661846 'WE ROOLZ: 154115\r\n' 19:28:31.661875 Received DISC (on stdin) 19:28:31.661885 ====> Client forcibly disconnected 19:28:31.662015 Received QUIT (on stdin) 19:28:31.662026 quits 19:28:31.662091 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==156234== ==156234== Process terminating with default action of signal 4 (SIGILL) ==156234== Illegal opcode at address 0x492B75F ==156234== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156234== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156234== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156234== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156234== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156234== by 0x49908EB: curl_version_info (version.c:600) ==156234== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156234== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156234== by 0x4003269: main (tool_main.c:195) === End of file valgrind1384 test 1380 [FTP DL, file without C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1380 ../src/curl -q --trace-ascii log/16/trace1380 --trace-time ftp://127.0.0.1:40031/path/file1380 -o log/16/download1380 -D - > log/16/stdout1380 2> log/16/stderr1380 1380: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1380 ../src/curl -q --trace-ascii log/16/trace1380 --trace-time ftp://127.0.0.1:40031/path/file1380 -o log/16/download1380 -D - > log/16/stdout1380 2> log/16/stderr1380 === End of file commands.log === Start of file ftp_server.log 19:28:30.582029 ====> Client connect 19:28:30.582273 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.585535 < "USER anonymous" 19:28:30.585585 > "331 We are happy you popped in![CR][LF]" 19:28:30.585804 < "PASS ftp@example.com" 19:28:30.585839 > "230 Welcome you silly person[CR][LF]" 19:28:30.586017 < "PWD" 19:28:30.586060 > "257 "/" is current directory[CR][LF]" 19:28:30.586246 < "EPSV" 19:28:30.586275 ====> Passive DATA channel requested by client 19:28:30.586289 DATA sockfilt for passive data channel starting... 19:28:30.590342 DATA sockfilt for passive data channel started (pid 155966) 19:28:30.590479 DATA sockfilt for passive data channel listens on port 44551 19:28:30.590542 > "229 Entering Passive Mode (|||44551|)[CR][LF]" 19:28:30.590571 Client has been notified that upcoming DATA connection is awaited on port 44551 19:28:30.598737 Client connects to port 44551 19:28:30.598811 ====> Client established passive DATA connection on port 44551 19:28:30.598946 < "TYPE I" 19:28:30.598995 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.602100 < "SIZE verifiedserver" 19:28:30.602155 > "213 17[CR][LF]" 19:28:30.615521 < "RETR verifiedserver" 19:28:30.615616 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.615730 =====> Closing passive DATA connection... 19:28:30.615752 Server disconnects passive DATA connection 19:28:30.615928 Server disconnected passive DATA connection 19:28:30.615962 DATA sockfilt for passive data channel quits (pid 155966) 19:28:30.616230 DATA sockfilt for passive data channel quit (pid 155966) 19:28:30.616259 =====> Closed passive DATA connection 19:28:30.616294 > "226 File transfer complete[CR][LF]" 19:28:30.668819 < "QUIT" 19:28:30.668885 > "221 bye bye baby[CR][LF]" 19:28:30.670276 MAIN sockfilt said DISC 19:28:30.670318 ====> Client disconnected 19:28:30.670398 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.181528 ====> Client connect 19:28:30.185088 Received DATA (on stdin) 19:28:30.185106 > 146 bytes data, server => client 19:28:30.185117 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.185127 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.185136 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.188134 < 16 bytes data, client => server 19:28:30.188158 'USER anonymous\r\n' 19:28:30.188386 Received DATA (on stdin) 19:28:30.188400 > 33 bytes data, server => client 19:28:30.188411 '331 We are happy you popped in!\r\n' 19:28:30.188479 < 22 bytes data, client => server 19:28:30.188492 'PASS ftp@example.com\r\n' 19:28:30.188633 Received DATA (on stdin) 19:28:30.188644 > 30 bytes data, server => client 19:28:30.188655 '230 Welcome you silly person\r\n' 19:28:30.188710 < 5 bytes data, client => server 19:28:30.188721 'PWD\r\n' 19:28:30.188854 Received DATA (on stdin) 19:28:30.188866 > 30 bytes data, server => client 19:28:30.188876 '257 "/" is current directory\r\n' 19:28:30.188944 < 6 bytes data, client => server 19:28:30.188957 'EPSV\r\n' 19:28:30.198164 Received DATA (on stdin) 19:28:30.198193 > 39 bytes data, server => client 19:28:30.198203 '229 Entering Passive Mode (|||44551|)\r\n' 19:28:30.198412 < 8 bytes data, client => server 19:28:30.198426 'TYPE I\r\n' 19:28:30.201764 Received DATA (on stdin) 19:28:30.201785 > 33 bytes data, server => client 19:28:30.201797 '200 I modify TYPE as you wanted\r\n' 19:28:30.201876 < 21 bytes data, client => server 19:28:30.201888 'SIZE verifiedserver\r\n' 19:28:30.204954 Received DATA (on stdin) 19:28:30.204968 > 8 bytes data, server => client 19:28:30.204979 '213 17\r\n' 19:28:30.211624 < 21 bytes data, client => server 19:28:30.211664 'RETR verifiedserver\r\n' 19:28:30.221447 Received DATA (on stdin) 19:28:30.221474 > 29 bytes data, server => client 19:28:30.221487 '150 Binary junk (17 bytes).\r\n' 19:28:30.221525 Received DATA (on stdin) 19:28:30.221539 > 28 bytes data, server => client 19:28:30.221549 '226 File transfer complete\r\n' 19:28:30.268249 < 6 bytes data, client => server 19:28:30.268284 'QUIT\r\n' 19:28:30.271689 Received DATA (on stdin) 19:28:30.271707 > 18 bytes data, server => client 19:28:30.271718 '221 bye bye baby\r\n' 19:28:30.273002 ====> Client disconnect 19:28:30.273189 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.192777 Running IPv4 version 19:28:30.192861 Listening on port 44551 19:28:30.192903 Wrote pid 155966 to log/16/server/ftp_sockdata.pid 19:28:30.193067 Received PING (on stdin) 19:28:30.193170 Received PORT (on stdin) 19:28:30.201449 ====> Client connect 19:28:30.218557 Received DATA (on stdin) 19:28:30.218579 > 17 bytes data, server => client 19:28:30.218590 'WE ROOLZ: 84702\r\n' 19:28:30.218640 Received DISC (on stdin) 19:28:30.218656 ====> Client forcibly disconnected 19:28:30.218766 Received QUIT (on stdin) 19:28:3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1397 ./unit/units unit1397 - > log/22/stdout1397 2> log/22/stderr1397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:37215/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 0.218779 quits 19:28:30.218854 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==156011== ==156011== Process terminating with default action of signal 4 (SIGILL) ==156011== Illegal opcode at address 0x492B75F ==156011== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156011== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156011== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156011== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156011== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156011== by 0x49908EB: curl_version_info (version.c:600) ==156011== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156011== by 0x4003269: main (tool_main.c:195) === End of file valgrind1380 test 1397 [Curl_cert_hostcheck unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1397 ./unit/units unit1397 - > log/22/stdout1397 2> log/22/stderr1397 units returned 132, when expecting 0 1397: exit FAILED == Contents of files in the log/22/ directory after test 1397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1397 ./unit/units unit1397 - > log/22/stdout1397 2> log/22/stderr1397 === End of file commands.log === Start of file server.cmd Testnum 1397 === End of file server.cmd === Start of file valgrind1397 ==157006== ==157006== Process terminating with default action of signal 4 (SIGILL) ==157006== Illegal opcode at address 0x4091F7F ==157006== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==157006== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==157006== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==157006== by 0x400B1A9: main (first.c:264) === End of file valgrind1397 test 1383 [FTP DL, file without C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:37215/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 1383: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1383 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1383 ../src/curl -q --trace-ascii log/24/trace1383 --trace-time ftp://127.0.0.1:37215/path/file1383 -o log/24/download1383 -i -D log/24/heads1383 > log/24/stdout1383 2> log/24/stderr1383 === End of file commands.log === Start of file ftp_server.log 19:28:30.984233 ====> Client connect 19:28:30.984445 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.984745 < "USER anonymous" 19:28:30.984785 > "331 We are happy you popped in![CR][LF]" 19:28:30.984968 < "PASS ftp@example.com" 19:28:30.984997 > "230 Welcome you silly person[CR][LF]" 19:28:30.985153 < "PWD" 19:28:30.985186 > "257 "/" is current directory[CR][LF]" 19:28:30.985363 < "EPSV" 19:28:30.985390 ====> Passive DATA channel requested by client 19:28:30.985403 DATA sockfilt for passive data channel starting... 19:28:30.993053 DATA sockfilt for passive data channel started (pid 156141) 19:28:30.993170 DATA sockfilt for passive data channel listens on port 42535 19:28:30.993212 > "229 Entering Passive Mode (|||42535|)[CR][LF]" 19:28:30.993227 Client has been notified that upcoming DATA connection is awaited on port 42535 19:28:30.993491 Client connects to port 42535 19:28:30.993519 ====> Client established passive DATA connection on port 42535 19:28:30.993600 < "TYPE I" 19:28:30.993628 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.993774 < "SIZE verifiedserver" 19:28:30.993808 > "213 17[CR][LF]" 19:28:30.993943 < "RETR verifiedserver" 19:28:30.993974 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.994052 =====> Closing passive DATA connection... 19:28:30.994067 Server disconnects passive DATA connection 19:28:30.994271 Server disconnected passive DATA connection 19:28:30.994298 DATA sockfilt for passive data channel quits (pid 156141) 19:28:30.994519 DATA sockfilt for passive data channel quit (pid 156141) 19:28:30.994540 =====> Closed passive DATA connection 19:28:30.994566 > "226 File transfer complete[CR][LF]" 19:28:31.042399 < "QUIT" 19:28:31.042453 > "221 bye bye baby[CR][LF]" 19:28:31.043588 MAIN sockfilt said DISC 19:28:31.043686 ====> Client disconnected 19:28:31.043766 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.586905 ====> Client connect 19:28:31.587239 Received DATA (on stdin) 19:28:31.587255 > 146 bytes data, server => client 19:28:31.587266 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.587276 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.587285 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.587369 < 16 bytes data, client => server 19:28:31.587382 'USER anonymous\r\n' 19:28:31.587566 Received DATA (on stdin) 19:28:31.587577 > 33 bytes data, server => client 19:28:31.587587 '331 We are happy you popped in!\r\n' 19:28:31.587643 < 22 bytes data, client => server 19:28:31.587655 'PASS ftp@example.com\r\n' 19:28:31.587774 Received DATA (on stdin) 19:28:31.587785 > 30 bytes data, server => client 19:28:31.587795 '230 Welcome you silly person\r\n' 19:28:31.587844 < 5 bytes data, client => server 19:28:31.587854 'PWD\r\n' 19:28:31.587962 Received DATA (on stdin) 19:28:31.587972 > 30 bytes data, server => client 19:28:31.587981 '257 "/" is current directory\r\n' 19:28:31.588041 < 6 bytes data, client => server 19:28:31.588052 'EPSV\r\n' 19:28:31.596009 Received DATA (on stdin) 19:28:31.596025 > 39 bytes data, server => client 19:28:31.596035 '229 Entering Passive Mode (|||42535|)\r\n' 19:28:31.596191 < 8 bytes data, client => server 19:28:31.596203 'TYPE I\r\n' 19:28:31.596404 Received DATA (on stdin) 19:28:31.596415 > 33 bytes data, server => client 19:28:31.596424 '200 I modify TYPE as you wanted\r\n' 19:28:31.596472 < 21 bytes data, client => server 19:28:31.596482 'SIZE verifiedserver\r\n' 19:28:31.596582 Received DATA (on stdin) 19:28:31.596591 > 8 bytes data, server => client 19:28:31.596600 '213 17\r\n' 19:28:31.596645 < 21 bytes data, client => server 19:28:31.596654 'RETR verifiedserver\r\n' 19:28:31.596844 Received DATA (on stdin) 19:28:31.596854 > 29 bytes data, server => client 19:28:31.596863 '150 Binary junk (17 bytes).\r\n' 19:28:31.597341 Received DATA (on stdin) 19:28:31.597351 > 28 bytes data, server => client 19:28:31.597360 '226 File transfer complete\r\n' 19:28:31.645011 < 6 bytes data, client => server 19:28:31.645034 'QUIT\r\n' 19:28:31.645236 Received DATA (on stdin) 19:28:31.645249 > 18 bytes data, server => client 19:28:31.645259 '221 bye bye baby\r\n' 19:28:31.646300 ====> Client disconnect 19:28:31.646390 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.595509 Running IPv4 version 19:28:30.595570 Listening on port 42535 19:28:30.595609 Wrote pid 156141 to log/24/server/ftp_sockdata.pid 19:28:30.595775 Received PING (on stdin) 19:28:30.595858 Received PORT (on stdin) 19:28:30.596223 ====> Client connect 19:28:30.596886 Received DATA (on stdin) 19:28:30.596897 >CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1395 ./unit/units unit1395 - > log/9/stdout1395 2> log/9/stderr1395 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1396 ./libtest/libtests lib1396 - > log/14/stdout1396 2> log/14/stderr1396 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1391 ../src/curl -q --trace-ascii log/19/trace1391 --trace-time ftp://127.0.0.1:38555/path/file1391 -o log/19/download1391 -i -D log/19/heads1391 > log/19/stdout1391 2> log/19/stderr1391 17 bytes data, server => client 19:28:30.596908 'WE ROOLZ: 85113\r\n' 19:28:30.596932 Received DISC (on stdin) 19:28:30.596942 ====> Client forcibly disconnected 19:28:30.597081 Received QUIT (on stdin) 19:28:30.597091 quits 19:28:30.597150 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==156192== ==156192== Process terminating with default action of signal 4 (SIGILL) ==156192== Illegal opcode at address 0x492B75F ==156192== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156192== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156192== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156192== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156192== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156192== by 0x49908EB: curl_version_info (version.c:600) ==156192== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156192== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156192== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156192== by 0x4003269: main (tool_main.c:195) === End of file valgrind1383 test 1395 [Curl_dedotdotify] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1395 ./unit/units unit1395 - > log/9/stdout1395 2> log/9/stderr1395 units returned 132, when expecting 0 1395: exit FAILED == Contents of files in the log/9/ directory after test 1395 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1395 ./unit/units unit1395 - > log/9/stdout1395 2> log/9/stderr1395 === End of file commands.log === Start of file server.cmd Testnum 1395 === End of file server.cmd === Start of file valgrind1395 ==156990== ==156990== Process terminating with default action of signal 4 (SIGILL) ==156990== Illegal opcode at address 0x4091F7F ==156990== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==156990== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==156990== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==156990== by 0x400B1A9: main (first.c:264) === End of file valgrind1395 test 1396 [curl_easy_escape and curl_easy_unescape] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1396 ./libtest/libtests lib1396 - > log/14/stdout1396 2> log/14/stderr1396 libtests returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/14/ directory after test 1396 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1396 ./libtest/libtests lib1396 - > log/14/stdout1396 2> log/14/stderr1396 === End of file commands.log === Start of file server.cmd Testnum 1396 === End of file server.cmd === Start of file valgrind1396 ==156988== ==156988== Process terminating with default action of signal 4 (SIGILL) ==156988== Illegal opcode at address 0x51CC63F ==156988== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==156988== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==156988== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==156988== by 0x40041AF: main (first.c:264) === End of file valgrind1396 test 1391 [FTP DL, file with C-D inside, using -o fname -i -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1391 ../src/curl -q --trace-ascii log/19/trace1391 --trace-time ftp://127.0.0.1:38555/path/file1391 -o log/19/download1391 -i -D log/19/heads1391 > log/19/stdout1391 2> log/19/stderr1391 1391: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1391 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1391 ../src/curl -q --trace-ascii log/19/trace1391 --trace-time ftp://127.0.0.1:38555/path/file1391 -o log/19/download1391 -i -D log/19/heads1391 > log/19/stdout1391 2> log/19/stderr1391 === End of file commands.log === Start of file ftp_server.log 19:28:31.688792 ====> Client connect 19:28:31.688971 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.692268 < "USER anonymous" 19:28:31.692317 > "331 We are happy you popped in![CR][LF]" 19:28:31.692477 < "PASS ftp@example.com" 19:28:31.692503 > "230 Welcome you silly person[CR][LF]" 19:28:31.692650 < "PWD" 19:28:31.692680 > "257 "/" is current directory[CR][LF]" 19:28:31.692827 < "EPSV" 19:28:31.692850 ====> Passive DATA channel requested by client 19:28:31.692863 DATA sockfilt for passive data channel starting... 19:28:31.705583 DATA sockfilt for passive data channel started (pid 156733) 19:28:31.705756 DATA sockfilt for passive data channel listens on port 42695 19:28:31.705810 > "229 Entering Passive Mode (|||42695|)[CR][LF]" 19:28:31.705829 Client has been notified that upcoming DATA connection is awaited on port 42695 19:28:31.706245 Client connects to port 42695 19:28:31.706275 ====> Client established passive DATA connection on port 42695 19:28:31.706369 < "TYPE I" 19:28:31.706404 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.706967 < "SIZE verifiedserver" 19:28:31.707007 > "213 17[CR][LF]" 19:28:31.707199 < "RETR verifiedserver" 19:28:31.707236 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.707328 =====> Closing passive DATA connection... 19:28:31.707348 Server disconnects passive DATA connection 19:28:31.707516 Server disconnected passive DATA connection 19:28:31.707540 DATA sockfilt for passive data channel quits (pid 156733) 19:28:31.707809 DATA sockfilt for passive data channel quit (pid 156733) 19:28:31.707835 =====> Closed passive DATA connection 19:28:31.707866 > "226 File transfer complete[CR][LF]" 19:28:31.749146 < "QUIT" 19:28:31.749213 > "221 bye bye baby[CR][LF]" 19:28:31.750818 MAIN sockfilt said DISC 19:28:31.750867 ====> Client disconnected 19:28:31.750966 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.291414 ====> Client connect 19:28:31.291734 Received DATA (on stdin) 19:28:31.291748 > 146 bytes data, server => client 19:28:31.291759 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.291770 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.291778 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.294826 < 16 bytes data, client => server 19:28:31.294848 'USER anonymous\r\n' 19:28:31.295072 Received DATA (on stdin) 19:28:31.295083 > 33 bytes data, server => client 19:28:31.295093 '331 We are happy you popped in!\r\n' 19:28:31.295147 < 22 bytes data, client => server 19:28:31.295157 'PASS ftp@example.com\r\n' 19:28:31.295255 Received DATA (on stdin) 19:28:31.295265 > 30 bytes data, server => client 19:28:31.295275 '230 Welcome you silly person\r\n' 19:28:31.295327 < 5 bytes data, client => server 19:28:31.295336 'PWD\r\n' 19:28:31.295431 Received DATA (on stdin) 19:28:31.295441 > 30 bytes data, server => client 19:28:31.295450 '257 "/" is current directory\r\n' 19:28:31.295506 < 6 bytes data, client => server 19:28:31.295515 'EPSV\r\n' 19:28:31.308593 Received DATA (on stdin) 19:28:31.308611 > 39 bytes data, server => client 19:28:31.308622 '229 Entering Passive Mode (|||42695|)\r\n' 19:28:31.308913 < 8 bytes data, client => server 19:28:31.308928 'TYPE I\CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1390 ../src/curl -q --trace-ascii log/4/trace1390 --trace-time ftp://127.0.0.1:39739/path/file1390 -o log/4/download1390 -J -D - > log/4/stdout1390 2> log/4/stderr1390 r\n' 19:28:31.309158 Received DATA (on stdin) 19:28:31.309170 > 33 bytes data, server => client 19:28:31.309181 '200 I modify TYPE as you wanted\r\n' 19:28:31.309625 < 21 bytes data, client => server 19:28:31.309638 'SIZE verifiedserver\r\n' 19:28:31.309761 Received DATA (on stdin) 19:28:31.309772 > 8 bytes data, server => client 19:28:31.309782 '213 17\r\n' 19:28:31.309862 < 21 bytes data, client => server 19:28:31.309873 'RETR verifiedserver\r\n' 19:28:31.310196 Received DATA (on stdin) 19:28:31.310208 > 29 bytes data, server => client 19:28:31.310218 '150 Binary junk (17 bytes).\r\n' 19:28:31.310620 Received DATA (on stdin) 19:28:31.310632 > 28 bytes data, server => client 19:28:31.310642 '226 File transfer complete\r\n' 19:28:31.351686 < 6 bytes data, client => server 19:28:31.351721 'QUIT\r\n' 19:28:31.351978 Received DATA (on stdin) 19:28:31.351994 > 18 bytes data, server => client 19:28:31.352004 '221 bye bye baby\r\n' 19:28:31.353203 ====> Client disconnect 19:28:31.353730 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.302229 Running IPv4 version 19:28:31.308186 Listening on port 42695 19:28:31.308241 Wrote pid 156733 to log/19/server/ftp_sockdata.pid 19:28:31.308264 Received PING (on stdin) 19:28:31.308395 Received PORT (on stdin) 19:28:31.308950 ====> Client connect 19:28:31.310102 Received DATA (on stdin) 19:28:31.310114 > 17 bytes data, server => client 19:28:31.310127 'WE ROOLZ: 84587\r\n' 19:28:31.310155 Received DISC (on stdin) 19:28:31.310168 ====> Client forcibly disconnected 19:28:31.310302 Received QUIT (on stdin) 19:28:31.310313 quits 19:28:31.310391 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==156774== ==156774== Process terminating with default action of signal 4 (SIGILL) ==156774== Illegal opcode at address 0x492B75F ==156774== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156774== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156774== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156774== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156774== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156774== by 0x49908EB: curl_version_info (version.c:600) ==156774== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156774== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156774== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156774== by 0x4003269: main (tool_main.c:195) === End of file valgrind1391 test 1390 [FTP DL, file with C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1390 ../src/curl -q --trace-ascii log/4/trace1390 --trace-time ftp://127.0.0.1:39739/path/file1390 -o log/4/download1390 -J -D - > log/4/stdout1390 2> log/4/stderr1390 1390: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1390 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1390 ../src/curl -q --trace-ascii log/4/trace1390 --trace-time ftp://127.0.0.1:39739/path/file1390 -o log/4/download1390 -J -D - > log/4/stdout1390 2> log/4/stderr1390 === End of file commands.log === Start of file ftp_server.log 19:28:31.521116 ====> Client connect 19:28:31.521331 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.522322 < "USER anonymous" 19:28:31.522379 > "331 We are happy you popped in![CR][LF]" 19:28:31.522625 < "PASS ftp@example.com" 19:28:31.522671 > "230 Welcome you silly person[CR][LF]" 19:28:31.522875 < "PWD" 19:28:31.522917 > "257 "/" is current directory[CR][LF]" 19:28:31.523124 < "EPSV" 19:28:31.523158 ====> Passive DATA channel requested by client 19:28:31.523175 DATA sockfilt for passive data channel starting... 19:28:31.529952 DATA sockfilt for passive data channel started (pid 156630) 19:28:31.530147 DATA sockfilt for passive data channel listens on port 42747 19:28:31.530202 > "229 Entering Passive Mode (|||42747|)[CR][LF]" 19:28:31.530225 Client has been notified that upcoming DATA connection is awaited on port 42747 19:28:31.530595 Client connects to port 42747 19:28:31.530628 ====> Client established passive DATA connection on port 42747 19:28:31.530733 < "TYPE I" 19:28:31.530776 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.530977 < "SIZE verifiedserver" 19:28:31.531022 > "213 17[CR][LF]" 19:28:31.531206 < "RETR verifiedserver" 19:28:31.531310 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.531412 =====> Closing passive DATA connection... 19:28:31.531433 Server disconnects passive DATA connection 19:28:31.531646 Server disconnected passive DATA connection 19:28:31.531678 DATA sockfilt for passive data channel quits (pid 156630) 19:28:31.531917 DATA sockfilt for passive data channel quit (pid 156630) 19:28:31.531944 =====> Closed passive DATA connection 19:28:31.531973 > "226 File transfer complete[CR][LF]" 19:28:31.582213 < "QUIT" 19:28:31.582270 > "221 bye bye baby[CR][LF]" 19:28:31.592097 MAIN sockfilt said DISC 19:28:31.592156 ====> Client disconnected 19:28:31.601340 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.123760 ====> Client connect 19:28:31.124100 Received DATA (on stdin) 19:28:31.124113 > 146 bytes data, server => client 19:28:31.124124 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.124133 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.124142 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.124841 < 16 bytes data, client => server 19:28:31.124871 'USER anonymous\r\n' 19:28:31.125152 Received DATA (on stdin) 19:28:31.125168 > 33 bytes data, server => client 19:28:31.125179 '331 We are happy you popped in!\r\n' 19:28:31.125251 < 22 bytes data, client => server 19:28:31.125266 'PASS ftp@example.com\r\n' 19:28:31.125437 Received DATA (on stdin) 19:28:31.125450 > 30 bytes data, server => client 19:28:31.125460 '230 Welcome you silly person\r\n' 19:28:31.125524 < 5 bytes data, client => server 19:28:31.125539 'PWD\r\n' 19:28:31.125682 Received DATA (on stdin) 19:28:31.125696 > 30 bytes data, server => client 19:28:31.125706 '257 "/" is current directory\r\n' 19:28:31.125778 < 6 bytes data, client => server 19:28:31.125793 'EPSV\r\n' 19:28:31.133014 Received DATA (on stdin) 19:28:31.133033 > 39 bytes data, server => client 19:28:31.133044 '229 Entering Passive Mode (|||42747|)\r\n' 19:28:31.133262 < 8 bytes data, client => server 19:28:31.133281 'TYPE I\r\n' 19:28:31.133542 Received DATA (on stdin) 19:28:31.133555 > 33 bytes data, server => client 19:28:31.133566 '200 I modify TYPE as you wanted\r\n' 19:28:31.133630 < 21 bytes data, client => server 19:28:31.133645 'SIZE verifiedserver\r\n' 19:28:31.133786 Received DATA (on stdin) 19:28:31.133799 > 8 bytes data, server => client 19:28:31.133808 '213 17\r\n' 19:28:31.133869 < 21 bytes data, client => server 19:28:31.133883 'RETR verifiedserver\r\n' 19:28:31.133986 Received DATA (on stdin) 19:28:31.134000 > 29 bytes data, server => client 19:28:31.134017 '150 Binary junk (17 bytes).\r\n' 19:28:31.134743 Received DATA (on stdin) 19:28:31.134755 > 28 bytes data, server => client 19:28:31.134766 '226 File transfer complete\r\n' 19:28:31.184764 < 6 bytes data, client => server 19:28:31.184801 'QUIT\r\n' 19:28:31.185031 Received DATA (on stdin) 19:28:31.185044 > 18 bytes data, server => client 19:28:31.185055 '221 bye bye baby\r\n' 19:28:31.194756 ====> Client disconnect 19:28:31.194973 Received ACKD (on stdin) === End of fiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1386 ../src/curl -q --trace-ascii log/7/trace1386 --trace-time ftp://127.0.0.1:44283/path/file1386 -o log/7/download1386 > log/7/stdout1386 2> log/7/stderr1386 le ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.132475 Running IPv4 version 19:28:31.132574 Listening on port 42747 19:28:31.132622 Wrote pid 156630 to log/4/server/ftp_sockdata.pid 19:28:31.132644 Received PING (on stdin) 19:28:31.132792 Received PORT (on stdin) 19:28:31.133304 ====> Client connect 19:28:31.134230 Received DATA (on stdin) 19:28:31.134246 > 17 bytes data, server => client 19:28:31.134256 'WE ROOLZ: 85249\r\n' 19:28:31.134288 Received DISC (on stdin) 19:28:31.134300 ====> Client forcibly disconnected 19:28:31.134445 Received QUIT (on stdin) 19:28:31.134457 quits 19:28:31.134526 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==156710== ==156710== Process terminating with default action of signal 4 (SIGILL) ==156710== Illegal opcode at address 0x492B75F ==156710== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156710== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156710== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156710== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156710== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156710== by 0x49908EB: curl_version_info (version.c:600) ==156710== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156710== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156710== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156710== by 0x4003269: main (tool_main.c:195) === End of file valgrind1390 test 1386 [FTP DL, file with Content-Disposition inside, using -o fname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1386 ../src/curl -q --trace-ascii log/7/trace1386 --trace-time ftp://127.0.0.1:44283/path/file1386 -o log/7/download1386 > log/7/stdout1386 2> log/7/stderr1386 1386: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1386 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1386 ../src/curl -q --trace-ascii log/7/trace1386 --trace-time ftp://127.0.0.1:44283/path/file1386 -o log/7/download1386 > log/7/stdout1386 2> log/7/stderr1386 === End of file commands.log === Start of file ftp_server.log 19:28:31.202108 ====> Client connect 19:28:31.202416 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.202634 < "USER anonymous" 19:28:31.202663 > "331 We are happy you popped in![CR][LF]" 19:28:31.202786 < "PASS ftp@example.com" 19:28:31.202843 > "230 Welcome you silly person[CR][LF]" 19:28:31.202923 < "PWD" 19:28:31.203010 > "257 "/" is current directory[CR][LF]" 19:28:31.203079 < "EPSV" 19:28:31.203098 ====> Passive DATA channel requested by client 19:28:31.203108 DATA sockfilt for passive data channel starting... 19:28:31.205086 DATA sockfilt for passive data channel started (pid 156345) 19:28:31.205193 DATA sockfilt for passive data channel listens on port 32897 19:28:31.205231 > "229 Entering Passive Mode (|||32897|)[CR][LF]" 19:28:31.205246 Client has been notified that upcoming DATA connection is awaited on port 32897 19:28:31.205503 Client connects to port 32897 19:28:31.205539 ====> Client established passive DATA connection on port 32897 19:28:31.205616 < "TYPE I" 19:28:31.205647 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.205810 < "SIZE verifiedserver" 19:28:31.205848 > "213 17[CR][LF]" 19:28:31.206007 < "RETR verifiedserver" 19:28:31.206040 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.206120 =====> Closing passive DATA connection... 19:28:31.206137 Server disconnects passive DATA connection 19:28:31.206345 Server disconnected passive DATA connection 19:28:31.206372 DATA sockfilt for passive data channel quits (pid 156345) 19:28:31.206627 DATA sockfilt for passive data channel quit (pid 156345) 19:28:31.206650 =====> Closed passive DATA connection 19:28:31.206673 > "226 File transfer complete[CR][LF]" 19:28:31.252354 < "QUIT" 19:28:31.252420 > "221 bye bye baby[CR][LF]" 19:28:31.253499 MAIN sockfilt said DISC 19:28:31.253534 ====> Client disconnected 19:28:31.253628 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.804728 ====> Client connect 19:28:31.805065 Received DATA (on stdin) 19:28:31.805084 > 146 bytes data, server => client 19:28:31.805104 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.805114 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.805122 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.805258 < 16 bytes data, client => server 19:28:31.805271 'USER anonymous\r\n' 19:28:31.805430 Received DATA (on stdin) 19:28:31.805438 > 33 bytes data, server => client 19:28:31.805446 '331 We are happy you popped in!\r\n' 19:28:31.805485 < 22 bytes data, client => server 19:28:31.805492 'PASS ftp@example.com\r\n' 19:28:31.805553 Received DATA (on stdin) 19:28:31.805561 > 30 bytes data, server => client 19:28:31.805573 '230 Welcome you silly person\r\n' 19:28:31.805628 < 5 bytes data, client => server 19:28:31.805636 'PWD\r\n' 19:28:31.805696 Received DATA (on stdin) 19:28:31.805703 > 30 bytes data, server => client 19:28:31.805721 '257 "/" is current directory\r\n' 19:28:31.805786 < 6 bytes data, client => server 19:28:31.805793 'EPSV\r\n' 19:28:31.808020 Received DATA (on stdin) 19:28:31.808032 > 39 bytes data, server => client 19:28:31.808042 '229 Entering Passive Mode (|||32897|)\r\n' 19:28:31.808189 < 8 bytes data, client => server 19:28:31.808204 'TYPE I\r\n' 19:28:31.808416 Received DATA (on stdin) 19:28:31.808428 > 33 bytes data, server => client 19:28:31.808438 '200 I modify TYPE as you wanted\r\n' 19:28:31.808492 < 21 bytes data, client => server 19:28:31.808504 'SIZE verifiedserver\r\n' 19:28:31.808618 Received DATA (on stdin) 19:28:31.808629 > 8 bytes data, server => client 19:28:31.808639 '213 17\r\n' 19:28:31.808692 < 21 bytes data, client => server 19:28:31.808704 'RETR verifiedserver\r\n' 19:28:31.808908 Received DATA (on stdin) 19:28:31.808919 > 29 bytes data, server => client 19:28:31.808928 '150 Binary junk (17 bytes).\r\n' 19:28:31.809440 Received DATA (on stdin) 19:28:31.809450 > 28 bytes data, server => client 19:28:31.809459 '226 File transfer complete\r\n' 19:28:31.854914 < 6 bytes data, client => server 19:28:31.854950 'QUIT\r\n' 19:28:31.855201 Received DATA (on stdin) 19:28:31.855215 > 18 bytes data, server => client 19:28:31.855226 '221 bye bye baby\r\n' 19:28:31.856212 ====> Client disconnect 19:28:31.856405 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.807060 Running IPv4 version 19:28:31.807118 Listening on port 32897 19:28:31.807155 Wrote pid 156345 to log/7/server/ftp_sockdata.pid 19:28:31.807785 Received PING (on stdin) 19:28:31.807879 Received PORT (on stdin) 19:28:31.808223 ====> Client connect 19:28:31.808954 Received DATA (on stdin) 19:28:31.808965 > 17 bytes data, server => client 19:28:31.808975 'WE ROOLZ: 84721\r\n' 19:28:31.808997 Received DISC (on stdin) 19:28:31.809008 ====> Client forcibly disconnected 19:28:31.809146 Received QUIT (on stdin) 19:28:31.809156 quits 19:28:31.809213 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==156459== ==156459== Process terminating with default action of signal 4 (SIGILL) ==156459== Illegal opcode at address 0x492B75F ==156459== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156459== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156459== by CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1399 ./unit/units unit1399 - > log/15/stdout1399 2> log/15/stderr1399 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1382 ../src/curl -q --trace-ascii log/8/trace1382 --trace-time ftp://127.0.0.1:41879/path/file1382 -o log/8/download1382 -J -D - > log/8/stdout1382 2> log/8/stderr1382 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156459== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156459== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156459== by 0x49908EB: curl_version_info (version.c:600) ==156459== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156459== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156459== by 0x4003269: main (tool_main.c:195) === End of file valgrind1386 test 1399 [Curl_pgrsTime unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1399 ./unit/units unit1399 - > log/15/stdout1399 2> log/15/stderr1399 units returned 132, when expecting 0 1399: exit FAILED == Contents of files in the log/15/ directory after test 1399 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1399 ./unit/units unit1399 - > log/15/stdout1399 2> log/15/stderr1399 === End of file commands.log === Start of file server.cmd Testnum 1399 === End of file server.cmd === Start of file valgrind1399 ==157115== ==157115== Process terminating with default action of signal 4 (SIGILL) ==157115== Illegal opcode at address 0x4091F7F ==157115== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==157115== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==157115== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==157115== by 0x400B1A9: main (first.c:264) === End of file valgrind1399 test 1382 [FTP DL, file without C-D inside, using -o fname -J -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1382 ../src/curl -q --trace-ascii log/8/trace1382 --trace-time ftp://127.0.0.1:41879/path/file1382 -o log/8/download1382 -J -D - > log/8/stdout1382 2> log/8/stderr1382 1382: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1382 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1382 ../src/curl -q --trace-ascii log/8/trace1382 --trace-time ftp://127.0.0.1:41879/path/file1382 -o log/8/download1382 -J -D - > log/8/stdout1382 2> log/8/stderr1382 === End of file commands.log === Start of file ftp_server.log 19:28:30.988695 ====> Client connect 19:28:30.989050 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:30.989397 < "USER anonymous" 19:28:30.989442 > "331 We are happy you popped in![CR][LF]" 19:28:30.989641 < "PASS ftp@example.com" 19:28:30.989675 > "230 Welcome you silly person[CR][LF]" 19:28:30.989850 < "PWD" 19:28:30.989884 > "257 "/" is current directory[CR][LF]" 19:28:30.990074 < "EPSV" 19:28:30.990102 ====> Passive DATA channel requested by client 19:28:30.990116 DATA sockfilt for passive data channel starting... 19:28:30.995534 DATA sockfilt for passive data channel started (pid 156150) 19:28:30.995667 DATA sockfilt for passive data channel listens on port 42173 19:28:30.995721 > "229 Entering Passive Mode (|||42173|)[CR][LF]" 19:28:30.995742 Client has been notified that upcoming DATA connection is awaited on port 42173 19:28:30.996009 Client connects to port 42173 19:28:30.996043 ====> Client established passive DATA connection on port 42173 19:28:30.996136 < "TYPE I" 19:28:30.996170 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:30.996358 < "SIZE verifiedserver" 19:28:30.996398 > "213 17[CR][LF]" 19:28:30.996570 < "RETR verifiedserver" 19:28:30.996614 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:30.996703 =====> Closing passive DATA connection... 19:28:30.996723 Server disconnects passive DATA connection 19:28:30.996983 Server disconnected passive DATA connection 19:28:30.997013 DATA sockfilt for passive data channel quits (pid 156150) 19:28:30.997269 DATA sockfilt for passive data channel quit (pid 156150) 19:28:30.997295 =====> Closed passive DATA connection 19:28:30.997326 > "226 File transfer complete[CR][LF]" 19:28:31.042164 < "QUIT" 19:28:31.042215 > "221 bye bye baby[CR][LF]" 19:28:31.043562 MAIN sockfilt said DISC 19:28:31.043598 ====> Client disconnected 19:28:31.043681 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.583732 ====> Client connect 19:28:30.591859 Received DATA (on stdin) 19:28:30.591880 > 146 bytes data, server => client 19:28:30.591892 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.591902 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.591911 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.592018 < 16 bytes data, client => server 19:28:30.592033 'USER anonymous\r\n' 19:28:30.592225 Received DATA (on stdin) 19:28:30.592238 > 33 bytes data, server => client 19:28:30.592249 '331 We are happy you popped in!\r\n' 19:28:30.592313 < 22 bytes data, client => server 19:28:30.592325 'PASS ftp@example.com\r\n' 19:28:30.592455 Received DATA (on stdin) 19:28:30.592467 > 30 bytes data, server => client 19:28:30.592477 '230 Welcome you silly person\r\n' 19:28:30.592534 < 5 bytes data, client => server 19:28:30.592544 'PWD\r\n' 19:28:30.592662 Received DATA (on stdin) 19:28:30.592673 > 30 bytes data, server => client 19:28:30.592686 '257 "/" is current directory\r\n' 19:28:30.592760 < 6 bytes data, client => server 19:28:30.592772 'EPSV\r\n' 19:28:30.598530 Received DATA (on stdin) 19:28:30.598545 > 39 bytes data, server => client 19:28:30.598556 '229 Entering Passive Mode (|||42173|)\r\n' 19:28:30.598697 < 8 bytes data, client => server 19:28:30.598714 'TYPE I\r\n' 19:28:30.598951 Received DATA (on stdin) 19:28:30.598963 > 33 bytes data, server => client 19:28:30.598974 '200 I modify TYPE as you wanted\r\n' 19:28:30.599038 < 21 bytes data, client => server 19:28:30.599051 'SIZE verifiedserver\r\n' 19:28:30.599178 Received DATA (on stdin) 19:28:30.599190 > 8 bytes data, server => client 19:28:30.599199 '213 17\r\n' 19:28:30.599256 < 21 bytes data, client => server 19:28:30.599268 'RETR verifiedserver\r\n' 19:28:30.599514 Received DATA (on stdin) 19:28:30.599525 > 29 bytes data, server => client 19:28:30.599536 '150 Binary junk (17 bytes).\r\n' 19:28:30.600106 Received DATA (on stdin) 19:28:30.600118 > 28 bytes data, server => client 19:28:30.600128 '226 File transfer complete\r\n' 19:28:30.644776 < 6 bytes data, client => server 19:28:30.644800 'QUIT\r\n' 19:28:30.644992 Received DATA (on stdin) 19:28:30.645003 > 18 bytes data, server => client 19:28:30.645013 '221 bye bye baby\r\n' 19:28:30.646282 ====> Client disconnect 19:28:30.646455 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:30.594631 Running IPv4 version 19:28:30.594699 Listening on port 42173 19:28:30.594737 Wrote pid 156150 to log/8/server/ftp_sockdata.pid 19:28:30.598238 Received PING (on stdin) 19:28:30.598344 Received PORT (on stdin) 19:28:30.598735 ====> Client connect 19:28:30.599593 Received DATA (on stdin) 19:28:30.599608 > 17 bytes data, server => client 19:28:30.599618 'WE ROOLZ: 84824\r\n' 19:28:30.599647 Received DISC (on stdin) 19:28:30.599660 ====> Client forcibly disconnected 19:28:30.599801 Received QUIT (on stdin) 19:28:30.599813 quits 19:28:30.599869 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==156195== ==156195== Process terminating with default action of signal 4 (SIGILL) ==156195== Illegal opcodCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1392 ../src/curl -q --trace-ascii log/3/trace1392 --trace-time ftp://127.0.0.1:42249/path/file1392 -o log/3/download1392 -i -D - > log/3/stdout1392 2> log/3/stderr1392 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1387 ../src/curl -q --trace-ascii log/20/trace1387 --trace-time ftp://127.0.0.1:41549/path/file1387 -o log/20/download1387 -D log/20/heads1387 > log/20/stdout1387 2> log/20/stderr1387 e at address 0x492B75F ==156195== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156195== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156195== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156195== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156195== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156195== by 0x49908EB: curl_version_info (version.c:600) ==156195== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156195== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156195== by 0x4003269: main (tool_main.c:195) === End of file valgrind1382 test 1392 [FTP DL, file with C-D inside, using -o fname -i -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1392 ../src/curl -q --trace-ascii log/3/trace1392 --trace-time ftp://127.0.0.1:42249/path/file1392 -o log/3/download1392 -i -D - > log/3/stdout1392 2> log/3/stderr1392 1392: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1392 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1392 ../src/curl -q --trace-ascii log/3/trace1392 --trace-time ftp://127.0.0.1:42249/path/file1392 -o log/3/download1392 -i -D - > log/3/stdout1392 2> log/3/stderr1392 === End of file commands.log === Start of file ftp_server.log 19:28:31.698693 ====> Client connect 19:28:31.698981 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.699348 < "USER anonymous" 19:28:31.699388 > "331 We are happy you popped in![CR][LF]" 19:28:31.699961 < "PASS ftp@example.com" 19:28:31.700006 > "230 Welcome you silly person[CR][LF]" 19:28:31.700193 < "PWD" 19:28:31.700228 > "257 "/" is current directory[CR][LF]" 19:28:31.700399 < "EPSV" 19:28:31.700426 ====> Passive DATA channel requested by client 19:28:31.700439 DATA sockfilt for passive data channel starting... 19:28:31.705965 DATA sockfilt for passive data channel started (pid 156738) 19:28:31.706556 DATA sockfilt for passive data channel listens on port 46265 19:28:31.706612 > "229 Entering Passive Mode (|||46265|)[CR][LF]" 19:28:31.706633 Client has been notified that upcoming DATA connection is awaited on port 46265 19:28:31.708010 Client connects to port 46265 19:28:31.708047 ====> Client established passive DATA connection on port 46265 19:28:31.708148 < "TYPE I" 19:28:31.708185 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.708360 < "SIZE verifiedserver" 19:28:31.708400 > "213 17[CR][LF]" 19:28:31.708566 < "RETR verifiedserver" 19:28:31.708605 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.708720 =====> Closing passive DATA connection... 19:28:31.708741 Server disconnects passive DATA connection 19:28:31.708962 Server disconnected passive DATA connection 19:28:31.708993 DATA sockfilt for passive data channel quits (pid 156738) 19:28:31.709226 DATA sockfilt for passive data channel quit (pid 156738) 19:28:31.709252 =====> Closed passive DATA connection 19:28:31.709284 > "226 File transfer complete[CR][LF]" 19:28:31.759032 < "QUIT" 19:28:31.759086 > "221 bye bye baby[CR][LF]" 19:28:31.760436 MAIN sockfilt said DISC 19:28:31.760525 ====> Client disconnected 19:28:31.760608 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:32.294762 ====> Client connect 19:28:32.301756 Received DATA (on stdin) 19:28:32.301777 > 146 bytes data, server => client 19:28:32.301787 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:32.301796 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:32.301803 '220 \___|\___/|_| \_\_____|\r\n' 19:28:32.301929 < 16 bytes data, client => server 19:28:32.301943 'USER anonymous\r\n' 19:28:32.302145 Received DATA (on stdin) 19:28:32.302158 > 33 bytes data, server => client 19:28:32.302167 '331 We are happy you popped in!\r\n' 19:28:32.302230 < 22 bytes data, client => server 19:28:32.302242 'PASS ftp@example.com\r\n' 19:28:32.302764 Received DATA (on stdin) 19:28:32.302776 > 30 bytes data, server => client 19:28:32.302787 '230 Welcome you silly person\r\n' 19:28:32.302853 < 5 bytes data, client => server 19:28:32.302863 'PWD\r\n' 19:28:32.302979 Received DATA (on stdin) 19:28:32.302989 > 30 bytes data, server => client 19:28:32.302998 '257 "/" is current directory\r\n' 19:28:32.303062 < 6 bytes data, client => server 19:28:32.303074 'EPSV\r\n' 19:28:32.309398 Received DATA (on stdin) 19:28:32.309415 > 39 bytes data, server => client 19:28:32.309426 '229 Entering Passive Mode (|||46265|)\r\n' 19:28:32.309562 < 8 bytes data, client => server 19:28:32.309578 'TYPE I\r\n' 19:28:32.310940 Received DATA (on stdin) 19:28:32.310952 > 33 bytes data, server => client 19:28:32.310962 '200 I modify TYPE as you wanted\r\n' 19:28:32.311022 < 21 bytes data, client => server 19:28:32.311034 'SIZE verifiedserver\r\n' 19:28:32.311153 Received DATA (on stdin) 19:28:32.311164 > 8 bytes data, server => client 19:28:32.311174 '213 17\r\n' 19:28:32.311228 < 21 bytes data, client => server 19:28:32.311240 'RETR verifiedserver\r\n' 19:28:32.311498 Received DATA (on stdin) 19:28:32.311510 > 29 bytes data, server => client 19:28:32.311520 '150 Binary junk (17 bytes).\r\n' 19:28:32.312039 Received DATA (on stdin) 19:28:32.312051 > 28 bytes data, server => client 19:28:32.312061 '226 File transfer complete\r\n' 19:28:32.361557 < 6 bytes data, client => server 19:28:32.361594 'QUIT\r\n' 19:28:32.361841 Received DATA (on stdin) 19:28:32.361854 > 18 bytes data, server => client 19:28:32.361864 '221 bye bye baby\r\n' 19:28:32.363125 ====> Client disconnect 19:28:32.363205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.305884 Running IPv4 version 19:28:31.305966 Listening on port 46265 19:28:31.306006 Wrote pid 156738 to log/3/server/ftp_sockdata.pid 19:28:31.308081 Received PING (on stdin) 19:28:31.309208 Received PORT (on stdin) 19:28:31.309812 ====> Client connect 19:28:31.311548 Received DATA (on stdin) 19:28:31.311560 > 17 bytes data, server => client 19:28:31.311570 'WE ROOLZ: 84710\r\n' 19:28:31.311594 Received DISC (on stdin) 19:28:31.311605 ====> Client forcibly disconnected 19:28:31.311754 Received QUIT (on stdin) 19:28:31.311765 quits 19:28:31.311825 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==156767== ==156767== Process terminating with default action of signal 4 (SIGILL) ==156767== Illegal opcode at address 0x492B75F ==156767== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156767== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156767== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156767== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156767== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156767== by 0x49908EB: curl_version_info (version.c:600) ==156767== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156767== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156767== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156767== by 0x4003269: main (tool_main.c:195) === End of file valgrind1392 test 1387 [FTP DL, file with C-D inside, using -o fname -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1387 ../src/curl -q --trace-ascii log/20/trace1387 --trace-time ftp://127.0.0.1:41549/path/file1387 -o log/20/download1387 -D lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1389 ../src/curl -q --trace-ascii log/12/trace1389 --trace-time ftp://127.0.0.1:40417/path/file1389 -o log/12/download1389 -J -D log/12/heads1389 > log/12/stdout1389 2> log/12/stderr1389 og/20/heads1387 > log/20/stdout1387 2> log/20/stderr1387 1387: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1387 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1387 ../src/curl -q --trace-ascii log/20/trace1387 --trace-time ftp://127.0.0.1:41549/path/file1387 -o log/20/download1387 -D log/20/heads1387 > log/20/stdout1387 2> log/20/stderr1387 === End of file commands.log === Start of file ftp_server.log 19:28:31.217386 ====> Client connect 19:28:31.217677 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.218082 < "USER anonymous" 19:28:31.218132 > "331 We are happy you popped in![CR][LF]" 19:28:31.218334 < "PASS ftp@example.com" 19:28:31.218364 > "230 Welcome you silly person[CR][LF]" 19:28:31.218520 < "PWD" 19:28:31.218555 > "257 "/" is current directory[CR][LF]" 19:28:31.235463 < "EPSV" 19:28:31.235511 ====> Passive DATA channel requested by client 19:28:31.235527 DATA sockfilt for passive data channel starting... 19:28:31.239385 DATA sockfilt for passive data channel started (pid 156387) 19:28:31.239529 DATA sockfilt for passive data channel listens on port 35683 19:28:31.239577 > "229 Entering Passive Mode (|||35683|)[CR][LF]" 19:28:31.239595 Client has been notified that upcoming DATA connection is awaited on port 35683 19:28:31.239924 Client connects to port 35683 19:28:31.239957 ====> Client established passive DATA connection on port 35683 19:28:31.240054 < "TYPE I" 19:28:31.240090 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.240268 < "SIZE verifiedserver" 19:28:31.240305 > "213 17[CR][LF]" 19:28:31.240465 < "RETR verifiedserver" 19:28:31.240500 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.240590 =====> Closing passive DATA connection... 19:28:31.240607 Server disconnects passive DATA connection 19:28:31.240854 Server disconnected passive DATA connection 19:28:31.240881 DATA sockfilt for passive data channel quits (pid 156387) 19:28:31.241110 DATA sockfilt for passive data channel quit (pid 156387) 19:28:31.241136 =====> Closed passive DATA connection 19:28:31.241163 > "226 File transfer complete[CR][LF]" 19:28:31.289375 < "QUIT" 19:28:31.289431 > "221 bye bye baby[CR][LF]" 19:28:31.296694 MAIN sockfilt said DISC 19:28:31.296768 ====> Client disconnected 19:28:31.296857 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:30.818094 ====> Client connect 19:28:30.820467 Received DATA (on stdin) 19:28:30.820485 > 146 bytes data, server => client 19:28:30.820497 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:30.820507 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:30.820517 '220 \___|\___/|_| \_\_____|\r\n' 19:28:30.820660 < 16 bytes data, client => server 19:28:30.820672 'USER anonymous\r\n' 19:28:30.820909 Received DATA (on stdin) 19:28:30.820921 > 33 bytes data, server => client 19:28:30.820932 '331 We are happy you popped in!\r\n' 19:28:30.821000 < 22 bytes data, client => server 19:28:30.821011 'PASS ftp@example.com\r\n' 19:28:30.821132 Received DATA (on stdin) 19:28:30.821143 > 30 bytes data, server => client 19:28:30.821153 '230 Welcome you silly person\r\n' 19:28:30.821206 < 5 bytes data, client => server 19:28:30.821217 'PWD\r\n' 19:28:30.821322 Received DATA (on stdin) 19:28:30.821332 > 30 bytes data, server => client 19:28:30.821342 '257 "/" is current directory\r\n' 19:28:30.824765 < 6 bytes data, client => server 19:28:30.824787 'EPSV\r\n' 19:28:30.842376 Received DATA (on stdin) 19:28:30.842393 > 39 bytes data, server => client 19:28:30.842404 '229 Entering Passive Mode (|||35683|)\r\n' 19:28:30.842607 < 8 bytes data, client => server 19:28:30.842623 'TYPE I\r\n' 19:28:30.842860 Received DATA (on stdin) 19:28:30.842872 > 33 bytes data, server => client 19:28:30.842883 '200 I modify TYPE as you wanted\r\n' 19:28:30.842945 < 21 bytes data, client => server 19:28:30.842956 'SIZE verifiedserver\r\n' 19:28:30.843073 Received DATA (on stdin) 19:28:30.843084 > 8 bytes data, server => client 19:28:30.843094 '213 17\r\n' 19:28:30.843148 < 21 bytes data, client => server 19:28:30.843159 'RETR verifiedserver\r\n' 19:28:30.843377 Received DATA (on stdin) 19:28:30.843388 > 29 bytes data, server => client 19:28:30.843398 '150 Binary junk (17 bytes).\r\n' 19:28:30.843933 Received DATA (on stdin) 19:28:30.843945 > 28 bytes data, server => client 19:28:30.843955 '226 File transfer complete\r\n' 19:28:30.888103 < 6 bytes data, client => server 19:28:30.888135 'QUIT\r\n' 19:28:30.892209 Received DATA (on stdin) 19:28:30.892227 > 18 bytes data, server => client 19:28:30.892238 '221 bye bye baby\r\n' 19:28:30.893266 ====> Client disconnect 19:28:30.899632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.841728 Running IPv4 version 19:28:31.841804 Listening on port 35683 19:28:31.841843 Wrote pid 156387 to log/20/server/ftp_sockdata.pid 19:28:31.842087 Received PING (on stdin) 19:28:31.842198 Received PORT (on stdin) 19:28:31.842644 ====> Client connect 19:28:31.843459 Received DATA (on stdin) 19:28:31.843472 > 17 bytes data, server => client 19:28:31.843485 'WE ROOLZ: 84833\r\n' 19:28:31.843512 Received DISC (on stdin) 19:28:31.843523 ====> Client forcibly disconnected 19:28:31.843659 Received QUIT (on stdin) 19:28:31.843670 quits 19:28:31.843738 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==156485== ==156485== Process terminating with default action of signal 4 (SIGILL) ==156485== Illegal opcode at address 0x492B75F ==156485== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156485== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156485== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156485== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156485== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156485== by 0x49908EB: curl_version_info (version.c:600) ==156485== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156485== by 0x4003269: main (tool_main.c:195) === End of file valgrind1387 test 1389 [FTP DL, file with C-D inside, using -o fname -J -D file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1389 ../src/curl -q --trace-ascii log/12/trace1389 --trace-time ftp://127.0.0.1:40417/path/file1389 -o log/12/download1389 -J -D log/12/heads1389 > log/12/stdout1389 2> log/12/stderr1389 1389: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1389 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1389 ../src/curl -q --trace-ascii log/12/trace1389 --trace-time ftp://127.0.0.1:40417/path/file1389 -o log/12/download1389 -J -D log/12/heads1389 > log/12/stdout1389 2> log/12/stderr1389 === End of file commands.log === Start of file ftp_server.log 19:28:31.304182 ====> Client connect 19:28:31.304591 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.304726 < "USER anonymous" 19:28:31.304806 > "331 We arCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1393 ../src/curl -q --trace-ascii log/17/trace1393 --trace-time ftp://127.0.0.1:46137/path/file1393 -o log/17/download1393 -i > log/17/stdout1393 2> log/17/stderr1393 e happy you popped in![CR][LF]" 19:28:31.304986 < "PASS ftp@example.com" 19:28:31.305019 > "230 Welcome you silly person[CR][LF]" 19:28:31.308432 < "PWD" 19:28:31.308478 > "257 "/" is current directory[CR][LF]" 19:28:31.308807 < "EPSV" 19:28:31.308840 ====> Passive DATA channel requested by client 19:28:31.308854 DATA sockfilt for passive data channel starting... 19:28:31.320070 DATA sockfilt for passive data channel started (pid 156467) 19:28:31.320219 DATA sockfilt for passive data channel listens on port 39799 19:28:31.320271 > "229 Entering Passive Mode (|||39799|)[CR][LF]" 19:28:31.320290 Client has been notified that upcoming DATA connection is awaited on port 39799 19:28:31.320623 Client connects to port 39799 19:28:31.320658 ====> Client established passive DATA connection on port 39799 19:28:31.320759 < "TYPE I" 19:28:31.320793 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.322108 < "SIZE verifiedserver" 19:28:31.322158 > "213 17[CR][LF]" 19:28:31.322336 < "RETR verifiedserver" 19:28:31.322373 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.322466 =====> Closing passive DATA connection... 19:28:31.322483 Server disconnects passive DATA connection 19:28:31.322641 Server disconnected passive DATA connection 19:28:31.322662 DATA sockfilt for passive data channel quits (pid 156467) 19:28:31.323025 DATA sockfilt for passive data channel quit (pid 156467) 19:28:31.323055 =====> Closed passive DATA connection 19:28:31.323084 > "226 File transfer complete[CR][LF]" 19:28:31.368949 < "QUIT" 19:28:31.369005 > "221 bye bye baby[CR][LF]" 19:28:31.370301 MAIN sockfilt said DISC 19:28:31.370346 ====> Client disconnected 19:28:31.370424 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.906842 ====> Client connect 19:28:31.907158 Received DATA (on stdin) 19:28:31.907179 > 146 bytes data, server => client 19:28:31.907201 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.907212 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.907221 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.907292 < 16 bytes data, client => server 19:28:31.907305 'USER anonymous\r\n' 19:28:31.907514 Received DATA (on stdin) 19:28:31.907528 > 33 bytes data, server => client 19:28:31.907583 '331 We are happy you popped in!\r\n' 19:28:31.907643 < 22 bytes data, client => server 19:28:31.907657 'PASS ftp@example.com\r\n' 19:28:31.910963 Received DATA (on stdin) 19:28:31.910987 > 30 bytes data, server => client 19:28:31.910997 '230 Welcome you silly person\r\n' 19:28:31.911081 < 5 bytes data, client => server 19:28:31.911091 'PWD\r\n' 19:28:31.911244 Received DATA (on stdin) 19:28:31.911255 > 30 bytes data, server => client 19:28:31.911264 '257 "/" is current directory\r\n' 19:28:31.911327 < 6 bytes data, client => server 19:28:31.911337 'EPSV\r\n' 19:28:31.923068 Received DATA (on stdin) 19:28:31.923086 > 39 bytes data, server => client 19:28:31.923096 '229 Entering Passive Mode (|||39799|)\r\n' 19:28:31.923330 < 8 bytes data, client => server 19:28:31.923343 'TYPE I\r\n' 19:28:31.923560 Received DATA (on stdin) 19:28:31.923571 > 33 bytes data, server => client 19:28:31.923580 '200 I modify TYPE as you wanted\r\n' 19:28:31.923643 < 21 bytes data, client => server 19:28:31.923653 'SIZE verifiedserver\r\n' 19:28:31.924925 Received DATA (on stdin) 19:28:31.924938 > 8 bytes data, server => client 19:28:31.924947 '213 17\r\n' 19:28:31.925015 < 21 bytes data, client => server 19:28:31.925025 'RETR verifiedserver\r\n' 19:28:31.925338 Received DATA (on stdin) 19:28:31.925350 > 29 bytes data, server => client 19:28:31.925360 '150 Binary junk (17 bytes).\r\n' 19:28:31.925850 Received DATA (on stdin) 19:28:31.925862 > 28 bytes data, server => client 19:28:31.925872 '226 File transfer complete\r\n' 19:28:31.971529 < 6 bytes data, client => server 19:28:31.971554 'QUIT\r\n' 19:28:31.971777 Received DATA (on stdin) 19:28:31.971790 > 18 bytes data, server => client 19:28:31.971800 '221 bye bye baby\r\n' 19:28:31.972999 ====> Client disconnect 19:28:31.973193 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.922364 Running IPv4 version 19:28:31.922479 Listening on port 39799 19:28:31.922525 Wrote pid 156467 to log/12/server/ftp_sockdata.pid 19:28:31.922765 Received PING (on stdin) 19:28:31.922878 Received PORT (on stdin) 19:28:31.923300 ====> Client connect 19:28:31.925251 Received DATA (on stdin) 19:28:31.925263 > 17 bytes data, server => client 19:28:31.925273 'WE ROOLZ: 85158\r\n' 19:28:31.925301 Received DISC (on stdin) 19:28:31.925312 ====> Client forcibly disconnected 19:28:31.925436 Received QUIT (on stdin) 19:28:31.925446 quits 19:28:31.925523 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End of file server.cmd === Start of file valgrind1389 ==156498== ==156498== Process terminating with default action of signal 4 (SIGILL) ==156498== Illegal opcode at address 0x492B75F ==156498== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156498== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156498== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156498== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156498== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156498== by 0x49908EB: curl_version_info (version.c:600) ==156498== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156498== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156498== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156498== by 0x4003269: main (tool_main.c:195) === End of file valgrind1389 test 1393 [FTP DL, file with C-D inside, using -o fname -i, without -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1393 ../src/curl -q --trace-ascii log/17/trace1393 --trace-time ftp://127.0.0.1:46137/path/file1393 -o log/17/download1393 -i > log/17/stdout1393 2> log/17/stderr1393 1393: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1393 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1393 ../src/curl -q --trace-ascii log/17/trace1393 --trace-time ftp://127.0.0.1:46137/path/file1393 -o log/17/download1393 -i > log/17/stdout1393 2> log/17/stderr1393 === End of file commands.log === Start of file ftp_server.log 19:28:31.780907 ====> Client connect 19:28:31.781141 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.781409 < "USER anonymous" 19:28:31.781443 > "331 We are happy you popped in![CR][LF]" 19:28:31.781596 < "PASS ftp@example.com" 19:28:31.781621 > "230 Welcome you silly person[CR][LF]" 19:28:31.781763 < "PWD" 19:28:31.781791 > "257 "/" is current directory[CR][LF]" 19:28:31.781937 < "EPSV" 19:28:31.781962 ====> Passive DATA channel requested by client 19:28:31.781976 DATA sockfilt for passive data channel starting... 19:28:31.792073 DATA sockfilt for passive data channel started (pid 156766) 19:28:31.793063 DATA sockfilt for passive data channel listens on port 43725 19:28:31.793122 > "229 Entering Passive Mode (|||43725|)[CR][LF]" 19:28:31.793143 Client has been notified that upcoming DATA connection is awaited on port 43725 19:28:31.793471 Client connects to port 43725 19:28:31.793501 ====> Client established passive DATA connection on port 43725 19:28:31.793593 < "TYPE I" 19:28:31.793627 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.793800 < "SIZE verifiedserver" 19:28:31.793840 > "213 17[CR][LF]" 19:28:31.794000 < "RETR verifiedserver" 19:28:31.794033 > "150 BinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1388 ../src/curl -q --trace-ascii log/23/trace1388 --trace-time ftp://127.0.0.1:35523/path/file1388 -o log/23/download1388 -D - > log/23/stdout1388 2> log/23/stderr1388 ary junk (17 bytes).[CR][LF]" 19:28:31.794126 =====> Closing passive DATA connection... 19:28:31.794145 Server disconnects passive DATA connection 19:28:31.794343 Server disconnected passive DATA connection 19:28:31.794370 DATA sockfilt for passive data channel quits (pid 156766) 19:28:31.794699 DATA sockfilt for passive data channel quit (pid 156766) 19:28:31.794727 =====> Closed passive DATA connection 19:28:31.794806 > "226 File transfer complete[CR][LF]" 19:28:31.842291 < "QUIT" 19:28:31.842349 > "221 bye bye baby[CR][LF]" 19:28:31.843928 MAIN sockfilt said DISC 19:28:31.843975 ====> Client disconnected 19:28:31.844058 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.383529 ====> Client connect 19:28:31.383901 Received DATA (on stdin) 19:28:31.383915 > 146 bytes data, server => client 19:28:31.383925 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.383935 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.383943 '220 \___|\___/|_| \_\_____|\r\n' 19:28:31.384016 < 16 bytes data, client => server 19:28:31.384027 'USER anonymous\r\n' 19:28:31.384193 Received DATA (on stdin) 19:28:31.384204 > 33 bytes data, server => client 19:28:31.384214 '331 We are happy you popped in!\r\n' 19:28:31.384263 < 22 bytes data, client => server 19:28:31.384273 'PASS ftp@example.com\r\n' 19:28:31.384368 Received DATA (on stdin) 19:28:31.384378 > 30 bytes data, server => client 19:28:31.384387 '230 Welcome you silly person\r\n' 19:28:31.384436 < 5 bytes data, client => server 19:28:31.384446 'PWD\r\n' 19:28:31.384537 Received DATA (on stdin) 19:28:31.384546 > 30 bytes data, server => client 19:28:31.384556 '257 "/" is current directory\r\n' 19:28:31.384611 < 6 bytes data, client => server 19:28:31.384620 'EPSV\r\n' 19:28:31.395905 Received DATA (on stdin) 19:28:31.395922 > 39 bytes data, server => client 19:28:31.395933 '229 Entering Passive Mode (|||43725|)\r\n' 19:28:31.396135 < 8 bytes data, client => server 19:28:31.396150 'TYPE I\r\n' 19:28:31.396379 Received DATA (on stdin) 19:28:31.396391 > 33 bytes data, server => client 19:28:31.396401 '200 I modify TYPE as you wanted\r\n' 19:28:31.396457 < 21 bytes data, client => server 19:28:31.396469 'SIZE verifiedserver\r\n' 19:28:31.396590 Received DATA (on stdin) 19:28:31.396601 > 8 bytes data, server => client 19:28:31.396611 '213 17\r\n' 19:28:31.396663 < 21 bytes data, client => server 19:28:31.396675 'RETR verifiedserver\r\n' 19:28:31.396896 Received DATA (on stdin) 19:28:31.396909 > 29 bytes data, server => client 19:28:31.396920 '150 Binary junk (17 bytes).\r\n' 19:28:31.397483 Received DATA (on stdin) 19:28:31.397495 > 28 bytes data, server => client 19:28:31.397512 '226 File transfer complete\r\n' 19:28:31.444856 < 6 bytes data, client => server 19:28:31.444885 'QUIT\r\n' 19:28:31.445112 Received DATA (on stdin) 19:28:31.445128 > 18 bytes data, server => client 19:28:31.445139 '221 bye bye baby\r\n' 19:28:31.446348 ====> Client disconnect 19:28:31.446820 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.388106 Running IPv4 version 19:28:31.388280 Listening on port 43725 19:28:31.388323 Wrote pid 156766 to log/17/server/ftp_sockdata.pid 19:28:31.394731 Received PING (on stdin) 19:28:31.395701 Received PORT (on stdin) 19:28:31.396173 ====> Client connect 19:28:31.396978 Received DATA (on stdin) 19:28:31.396992 > 17 bytes data, server => client 19:28:31.397002 'WE ROOLZ: 84749\r\n' 19:28:31.397031 Received DISC (on stdin) 19:28:31.397043 ====> Client forcibly disconnected 19:28:31.397177 Received QUIT (on stdin) 19:28:31.397191 quits 19:28:31.397257 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==156830== ==156830== Process terminating with default action of signal 4 (SIGILL) ==156830== Illegal opcode at address 0x492B75F ==156830== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156830== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156830== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156830== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156830== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156830== by 0x49908EB: curl_version_info (version.c:600) ==156830== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156830== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156830== by 0x4003269: main (tool_main.c:195) === End of file valgrind1393 test 1388 [FTP DL, file with C-D inside, using -o fname -D stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1388 ../src/curl -q --trace-ascii log/23/trace1388 --trace-time ftp://127.0.0.1:35523/path/file1388 -o log/23/download1388 -D - > log/23/stdout1388 2> log/23/stderr1388 1388: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1388 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1388 ../src/curl -q --trace-ascii log/23/trace1388 --trace-time ftp://127.0.0.1:35523/path/file1388 -o log/23/download1388 -D - > log/23/stdout1388 2> log/23/stderr1388 === End of file commands.log === Start of file ftp_server.log 19:28:31.302259 ====> Client connect 19:28:31.302608 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:31.302912 < "USER anonymous" 19:28:31.302951 > "331 We are happy you popped in![CR][LF]" 19:28:31.303125 < "PASS ftp@example.com" 19:28:31.303156 > "230 Welcome you silly person[CR][LF]" 19:28:31.303310 < "PWD" 19:28:31.303344 > "257 "/" is current directory[CR][LF]" 19:28:31.303512 < "EPSV" 19:28:31.303538 ====> Passive DATA channel requested by client 19:28:31.303554 DATA sockfilt for passive data channel starting... 19:28:31.310322 DATA sockfilt for passive data channel started (pid 156464) 19:28:31.310472 DATA sockfilt for passive data channel listens on port 45633 19:28:31.310528 > "229 Entering Passive Mode (|||45633|)[CR][LF]" 19:28:31.310547 Client has been notified that upcoming DATA connection is awaited on port 45633 19:28:31.310860 Client connects to port 45633 19:28:31.310901 ====> Client established passive DATA connection on port 45633 19:28:31.311031 < "TYPE I" 19:28:31.311072 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:31.311262 < "SIZE verifiedserver" 19:28:31.311305 > "213 17[CR][LF]" 19:28:31.311473 < "RETR verifiedserver" 19:28:31.311512 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:31.311604 =====> Closing passive DATA connection... 19:28:31.311622 Server disconnects passive DATA connection 19:28:31.311865 Server disconnected passive DATA connection 19:28:31.311897 DATA sockfilt for passive data channel quits (pid 156464) 19:28:31.312148 DATA sockfilt for passive data channel quit (pid 156464) 19:28:31.312172 =====> Closed passive DATA connection 19:28:31.312201 > "226 File transfer complete[CR][LF]" 19:28:31.362161 < "QUIT" 19:28:31.362216 > "221 bye bye baby[CR][LF]" 19:28:31.363558 MAIN sockfilt said DISC 19:28:31.363602 ====> Client disconnected 19:28:31.363690 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:31.904903 ====> Client connect 19:28:31.905398 Received DATA (on stdin) 19:28:31.905415 > 146 bytes data, server => client 19:28:31.905426 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:31.905437 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:31.905446 '220 \___|\___/|CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1398 ./libtest/libtests lib1398 - > log/13/stdout1398 2> log/13/stderr1398 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1400 ../src/curl -q --output log/5/curl1400.out --include --trace-ascii log/5/trace1400 --trace-time http://127.0.0.1:37089/we/want/1400 --libcurl log/5/test1400.c > log/5/stdout1400 2> log/5/stderr1400 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1401 ../src/curl -q --output log/1/curl1401.out --include --trace-ascii log/1/trace1401 --trace-time http://127.0.0.1:38815/we/want/1401 --libcurl log/1/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/1/stdout1401 2> log/1/stderr1401 _| \_\_____|\r\n' 19:28:31.905530 < 16 bytes data, client => server 19:28:31.905542 'USER anonymous\r\n' 19:28:31.905719 Received DATA (on stdin) 19:28:31.905731 > 33 bytes data, server => client 19:28:31.905741 '331 We are happy you popped in!\r\n' 19:28:31.905796 < 22 bytes data, client => server 19:28:31.905807 'PASS ftp@example.com\r\n' 19:28:31.905922 Received DATA (on stdin) 19:28:31.905932 > 30 bytes data, server => client 19:28:31.905942 '230 Welcome you silly person\r\n' 19:28:31.905992 < 5 bytes data, client => server 19:28:31.906002 'PWD\r\n' 19:28:31.906109 Received DATA (on stdin) 19:28:31.906120 > 30 bytes data, server => client 19:28:31.906130 '257 "/" is current directory\r\n' 19:28:31.906190 < 6 bytes data, client => server 19:28:31.906202 'EPSV\r\n' 19:28:31.913329 Received DATA (on stdin) 19:28:31.913346 > 39 bytes data, server => client 19:28:31.913357 '229 Entering Passive Mode (|||45633|)\r\n' 19:28:31.913561 < 8 bytes data, client => server 19:28:31.913575 'TYPE I\r\n' 19:28:31.913842 Received DATA (on stdin) 19:28:31.913854 > 33 bytes data, server => client 19:28:31.913864 '200 I modify TYPE as you wanted\r\n' 19:28:31.913929 < 21 bytes data, client => server 19:28:31.913940 'SIZE verifiedserver\r\n' 19:28:31.914072 Received DATA (on stdin) 19:28:31.914083 > 8 bytes data, server => client 19:28:31.914092 '213 17\r\n' 19:28:31.914151 < 21 bytes data, client => server 19:28:31.914161 'RETR verifiedserver\r\n' 19:28:31.914480 Received DATA (on stdin) 19:28:31.914492 > 29 bytes data, server => client 19:28:31.914502 '150 Binary junk (17 bytes).\r\n' 19:28:31.914968 Received DATA (on stdin) 19:28:31.914979 > 28 bytes data, server => client 19:28:31.914988 '226 File transfer complete\r\n' 19:28:31.964762 < 6 bytes data, client => server 19:28:31.964790 'QUIT\r\n' 19:28:31.964987 Received DATA (on stdin) 19:28:31.964999 > 18 bytes data, server => client 19:28:31.965009 '221 bye bye baby\r\n' 19:28:31.966262 ====> Client disconnect 19:28:31.966456 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:31.912725 Running IPv4 version 19:28:31.912801 Listening on port 45633 19:28:31.912843 Wrote pid 156464 to log/23/server/ftp_sockdata.pid 19:28:31.913015 Received PING (on stdin) 19:28:31.913133 Received PORT (on stdin) 19:28:31.913524 ====> Client connect 19:28:31.914391 Received DATA (on stdin) 19:28:31.914404 > 17 bytes data, server => client 19:28:31.914413 'WE ROOLZ: 84709\r\n' 19:28:31.914442 Received DISC (on stdin) 19:28:31.914454 ====> Client forcibly disconnected 19:28:31.914675 Received QUIT (on stdin) 19:28:31.914686 quits 19:28:31.914769 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==156491== ==156491== Process terminating with default action of signal 4 (SIGILL) ==156491== Illegal opcode at address 0x492B75F ==156491== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==156491== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==156491== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==156491== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==156491== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==156491== by 0x49908EB: curl_version_info (version.c:600) ==156491== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==156491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==156491== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==156491== by 0x4003269: main (tool_main.c:195) === End of file valgrind1388 test 1398 [curl_msnprintf tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1398 ./libtest/libtests lib1398 - > log/13/stdout1398 2> log/13/stderr1398 libtests returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/13/ directory after test 1398 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1398 ./libtest/libtests lib1398 - > log/13/stdout1398 2> log/13/stderr1398 === End of file commands.log === Start of file server.cmd Testnum 1398 === End of file server.cmd === Start of file valgrind1398 ==157107== ==157107== Process terminating with default action of signal 4 (SIGILL) ==157107== Illegal opcode at address 0x51CC63F ==157107== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==157107== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==157107== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==157107== by 0x40041AF: main (first.c:264) === End of file valgrind1398 test 1400 [--libcurl for simple HTTP GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1400 ../src/curl -q --output log/5/curl1400.out --include --trace-ascii log/5/trace1400 --trace-time http://127.0.0.1:37089/we/want/1400 --libcurl log/5/test1400.c > log/5/stdout1400 2> log/5/stderr1400 1400: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1400 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1400 ../src/curl -q --output log/5/curl1400.out --include --trace-ascii log/5/trace1400 --trace-time http://127.0.0.1:37089/we/want/1400 --libcurl log/5/test1400.c > log/5/stdout1400 2> log/5/stderr1400 === End of file commands.log === Start of file http_server.log 19:28:32.263119 ====> Client connect 19:28:32.263154 accept_connection 3 returned 4 19:28:32.263178 Read 93 bytes 19:28:32.263187 Process 93 bytes request 19:28:32.263199 Got request: GET /verifiedserver HTTP/1.1 19:28:32.263207 Are-we-friendly question received 19:28:32.263233 Wrote request (93 bytes) input to log/5/server.input 19:28:32.263248 Identifying ourselves as friends 19:28:32.263307 Response sent (56 bytes) and written to log/5/server.response 19:28:32.263316 special request received, no persistency 19:28:32.263324 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 55578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1400 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1400 ==157239== ==157239== Process terminating with default action of signal 4 (SIGILL) ==157239== Illegal opcode at address 0x492B75F ==157239== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157239== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157239== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157239== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157239== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157239== by 0x49908EB: curl_version_info (version.c:600) ==157239== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157239== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157239== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157239== by 0x4003269: main (tool_main.c:195) === End of file valgrind1400 test 1401 [--libcurl for GET with CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1403 ../src/curl -q --output log/21/curl1403.out --include --trace-ascii log/21/trace1403 --trace-time http://127.0.0.1:39881/we/want/1403 --libcurl log/21/test1403.c -G -d "foo=bar" -d "baz=quux" > log/21/stdout1403 2> log/21/stderr1403 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1413 ../src/curl -q --output log/19/curl1413.out --include --trace-ascii log/19/trace1413 --trace-time http://127.0.0.1:37077/this/1413 -L > log/19/stdout1413 2> log/19/stderr1413 various options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1401 ../src/curl -q --output log/1/curl1401.out --include --trace-ascii log/1/trace1401 --trace-time http://127.0.0.1:38815/we/want/1401 --libcurl log/1/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/1/stdout1401 2> log/1/stderr1401 1401: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1401 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1401 ../src/curl -q --output log/1/curl1401.out --include --trace-ascii log/1/trace1401 --trace-time http://127.0.0.1:38815/we/want/1401 --libcurl log/1/test1401.c --basic -u fake:user -H "X-Files: Mulder" -H "X-Men: cyclops, iceman" -A MyUA -b chocolate=chip --proto "=http,ftp,file" > log/1/stdout1401 2> log/1/stderr1401 === End of file commands.log === Start of file http_server.log 19:28:33.253748 ====> Client connect 19:28:33.253783 accept_connection 3 returned 4 19:28:33.253881 Read 93 bytes 19:28:33.253892 Process 93 bytes request 19:28:33.253904 Got request: GET /verifiedserver HTTP/1.1 19:28:33.253912 Are-we-friendly question received 19:28:33.253941 Wrote request (93 bytes) input to log/1/server.input 19:28:33.253957 Identifying ourselves as friends 19:28:33.254013 Response sent (56 bytes) and written to log/1/server.response 19:28:33.254021 special request received, no persistency 19:28:33.254028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 56658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1401 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1401 ==157233== ==157233== Process terminating with default action of signal 4 (SIGILL) ==157233== Illegal opcode at address 0x492B75F ==157233== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157233== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157233== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157233== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157233== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157233== by 0x49908EB: curl_version_info (version.c:600) ==157233== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157233== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157233== by 0x4003269: main (tool_main.c:195) === End of file valgrind1401 test 1403 [--libcurl for GET with query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1403 ../src/curl -q --output log/21/curl1403.out --include --trace-ascii log/21/trace1403 --trace-time http://127.0.0.1:39881/we/want/1403 --libcurl log/21/test1403.c -G -d "foo=bar" -d "baz=quux" > log/21/stdout1403 2> log/21/stderr1403 1403: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1403 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1403 ../src/curl -q --output log/21/curl1403.out --include --trace-ascii log/21/trace1403 --trace-time http://127.0.0.1:39881/we/want/1403 --libcurl log/21/test1403.c -G -d "foo=bar" -d "baz=quux" > log/21/stdout1403 2> log/21/stderr1403 === End of file commands.log === Start of file http_server.log 19:28:32.678826 ====> Client connect 19:28:32.678887 accept_connection 3 returned 4 19:28:32.679111 Read 93 bytes 19:28:32.679128 Process 93 bytes request 19:28:32.679143 Got request: GET /verifiedserver HTTP/1.1 19:28:32.679152 Are-we-friendly question received 19:28:32.679188 Wrote request (93 bytes) input to log/21/server.input 19:28:32.679209 Identifying ourselves as friends 19:28:32.679285 Response sent (56 bytes) and written to log/21/server.response 19:28:32.679299 special request received, no persistency 19:28:32.679309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 43696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1403 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1403 ==157432== ==157432== Process terminating with default action of signal 4 (SIGILL) ==157432== Illegal opcode at address 0x492B75F ==157432== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157432== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157432== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157432== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157432== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157432== by 0x49908EB: curl_version_info (version.c:600) ==157432== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157432== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157432== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157432== by 0x4003269: main (tool_main.c:195) === End of file valgrind1403 test 1413 [HTTP redirect with fragment in new URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1413 ../src/curl -q --output log/19/curl1413.out --include --trace-ascii log/19/trace1413 --trace-time http://127.0.0.1:37077/this/1413 -L > log/19/stdout1413 2> log/19/stderr1413 1413: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1413 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1413 ../src/curl -q --output log/19/curl1413.out --include --trace-ascii log/19/trace1413 --trace-time http://127.0.0.1:37077/this/1413 -L > log/19/stdout1413 2> log/19/stderr1413 === End of file commands.log === Start of file http_server.log 19:28:33.505092 ====> Client connect 19:28:33.505123 accept_connection 3 returned 4 19:28:33.505195 Read 93 bytes 19:28:33.505205 Process 93 bytes request 19:28:33.505217 Got request: GET /verifiedserver HTTP/1.1 19:28:33.505225 Are-we-friendly question received 19:28:33.505252 Wrote request (93 bytesCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:43733/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1402 ../src/curl -q --output log/6/curl1402.out --include --trace-ascii log/6/trace1402 --trace-time http://127.0.0.1:33935/we/want/1402 --libcurl log/6/test1402.c -d "foo=bar" -d "baz=quux" > log/6/stdout1402 2> log/6/stderr1402 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1410 ../src/curl -q --output log/24/curl1410.out --include --trace-ascii log/24/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/24/stdout1410 2> log/24/stderr1410 ) input to log/19/server.input 19:28:33.505268 Identifying ourselves as friends 19:28:33.505319 Response sent (57 bytes) and written to log/19/server.response 19:28:33.505326 special request received, no persistency 19:28:33.505332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 38984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1413 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1413 ==158062== ==158062== Process terminating with default action of signal 4 (SIGILL) ==158062== Illegal opcode at address 0x492B75F ==158062== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158062== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158062== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158062== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158062== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158062== by 0x49908EB: curl_version_info (version.c:600) ==158062== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158062== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158062== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158062== by 0x4003269: main (tool_main.c:195) === End of file valgrind1413 test 1411 [HTTP with zero size file PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:43733/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 1411: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1411 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1411 ../src/curl -q --output log/9/curl1411.out --include --trace-ascii log/9/trace1411 --trace-time http://127.0.0.1:43733/1411 -T log/9/empty1411 > log/9/stdout1411 2> log/9/stderr1411 === End of file commands.log === Start of file http_server.log 19:28:33.302256 ====> Client connect 19:28:33.302292 accept_connection 3 returned 4 19:28:33.302315 Read 93 bytes 19:28:33.302326 Process 93 bytes request 19:28:33.302339 Got request: GET /verifiedserver HTTP/1.1 19:28:33.302348 Are-we-friendly question received 19:28:33.302377 Wrote request (93 bytes) input to log/9/server.input 19:28:33.302393 Identifying ourselves as friends 19:28:33.302464 Response sent (56 bytes) and written to log/9/server.response 19:28:33.302473 special request received, no persistency 19:28:33.302481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1411 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1411 ==157787== ==157787== Process terminating with default action of signal 4 (SIGILL) ==157787== Illegal opcode at address 0x492B75F ==157787== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157787== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157787== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157787== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157787== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157787== by 0x49908EB: curl_version_info (version.c:600) ==157787== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157787== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157787== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157787== by 0x4003269: main (tool_main.c:195) === End of file valgrind1411 test 1402 [--libcurl for simple POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1402 ../src/curl -q --output log/6/curl1402.out --include --trace-ascii log/6/trace1402 --trace-time http://127.0.0.1:33935/we/want/1402 --libcurl log/6/test1402.c -d "foo=bar" -d "baz=quux" > log/6/stdout1402 2> log/6/stderr1402 1402: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1402 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1402 ../src/curl -q --output log/6/curl1402.out --include --trace-ascii log/6/trace1402 --trace-time http://127.0.0.1:33935/we/want/1402 --libcurl log/6/test1402.c -d "foo=bar" -d "baz=quux" > log/6/stdout1402 2> log/6/stderr1402 === End of file commands.log === Start of file http_server.log 19:28:32.492381 ====> Client connect 19:28:32.492420 accept_connection 3 returned 4 19:28:32.492442 Read 93 bytes 19:28:32.492452 Process 93 bytes request 19:28:32.492466 Got request: GET /verifiedserver HTTP/1.1 19:28:32.492475 Are-we-friendly question received 19:28:32.492504 Wrote request (93 bytes) input to log/6/server.input 19:28:32.492522 Identifying ourselves as friends 19:28:32.492591 Response sent (56 bytes) and written to log/6/server.response 19:28:32.492603 special request received, no persistency 19:28:32.492611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 54648 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1402 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1402 ==157351== ==157351== Process terminating with default action of signal 4 (SIGILL) ==157351== Illegal opcode at address 0x492B75F ==157351== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157351== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157351== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157351== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157351== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157351== by 0x49908EB: curl_version_info (version.c:600) ==157351== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157351== by 0x4CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1408 ../src/curl -q --output log/10/curl1408.out --include --trace-ascii log/10/trace1408 --trace-time -c log/10/jar1408 -g http://[::1]:39699/path/14080001 http://[::1]:39699/path/14080002 > log/10/stdout1408 2> log/10/stderr1408 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1407 ../src/curl -q --output log/22/curl1407.out --include --trace-ascii log/22/trace1407 --trace-time pop3://127.0.0.1:32871/1407 -l -u user:secret --libcurl log/22/test1407.c > log/22/stdout1407 2> log/22/stderr1407 003269: UnknownInlinedFun (tool_cfgable.c:339) ==157351== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157351== by 0x4003269: main (tool_main.c:195) === End of file valgrind1402 test 1410 [Pass in negative number to --max-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1410 ../src/curl -q --output log/24/curl1410.out --include --trace-ascii log/24/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/24/stdout1410 2> log/24/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/24/ directory after test 1410 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1410 ../src/curl -q --output log/24/curl1410.out --include --trace-ascii log/24/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/24/stdout1410 2> log/24/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==157619== ==157619== Process terminating with default action of signal 4 (SIGILL) ==157619== Illegal opcode at address 0x492B75F ==157619== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157619== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157619== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157619== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157619== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157619== by 0x49908EB: curl_version_info (version.c:600) ==157619== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157619== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157619== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157619== by 0x4003269: main (tool_main.c:195) === End of file valgrind1410 test 1408 [HTTP receive cookies over IPV6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1408 ../src/curl -q --output log/10/curl1408.out --include --trace-ascii log/10/trace1408 --trace-time -c log/10/jar1408 -g http://[::1]:39699/path/14080001 http://[::1]:39699/path/14080002 > log/10/stdout1408 2> log/10/stderr1408 1408: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1408 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1408 ../src/curl -q --output log/10/curl1408.out --include --trace-ascii log/10/trace1408 --trace-time -c log/10/jar1408 -g http://[::1]:39699/path/14080001 http://[::1]:39699/path/14080002 > log/10/stdout1408 2> log/10/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 19:28:33.238080 ====> Client connect 19:28:33.238119 accept_connection 3 returned 4 19:28:33.238141 Read 89 bytes 19:28:33.238151 Process 89 bytes request 19:28:33.238172 Got request: GET /verifiedserver HTTP/1.1 19:28:33.238181 Are-we-friendly question received 19:28:33.238211 Wrote request (89 bytes) input to log/10/server.input 19:28:33.238230 Identifying ourselves as friends 19:28:33.238311 Response sent (57 bytes) and written to log/10/server.response 19:28:33.238321 special request received, no persistency 19:28:33.238329 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:39699... * Established connection to [::1] (::1 port 39699) from ::1 port 60706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:39699 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host [::1]:39699 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 135779 === End of file http_ipv6_verify.out === Start of file server.cmd Testnum 1408 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 135779 === End of file server.response === Start of file valgrind1408 ==157673== ==157673== Process terminating with default action of signal 4 (SIGILL) ==157673== Illegal opcode at address 0x492B75F ==157673== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157673== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157673== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157673== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157673== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157673== by 0x49908EB: curl_version_info (version.c:600) ==157673== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157673== by 0x4003269: main (tool_main.c:195) === End of file valgrind1408 test 1407 [--libcurl for POP3 LIST one message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1407 ../src/curl -q --output log/22/curl1407.out --include --trace-ascii log/22/trace1407 --trace-time pop3://127.0.0.1:32871/1407 -l -u user:secret --libcurl log/22/test1407.c > log/22/stdout1407 2> log/22/stderr1407 1407: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1407 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1407 ../src/curl -q --output log/22/curl1407.out --include --trace-ascii log/22/trace1407 --trace-time pop3://127.0.0.1:32871/1407 -l -u user:secret --libcurl log/22/test1407.c > log/22/stdout1407 2> log/22/stderr1407 === End of file commands.log === Start of file pop3_server.log 19:28:33.543469 ====> Client connect 19:28:33.543628 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:28:33.543917 < "CAPA" 19:28:33.543961 > "-ERR Unrecognized command[CR][LF]" 19:28:33.544163 < "RETR verifiedserver" 19:28:33.544191 return proof we are we 19:28:33.544214 > "+OK Mail transfer starts[CR][LF]" 19:28:33.544235 > "WE ROOLZ: 125142[CR][LF]" 19:28:33.544252 > ".[CR][LF]" 19:28:33.587026 < "QUIT" 19:28:33.587074 > "+OK curl POP3 server signing off[CR][LF]" 19:28:33.588157 MAIN sockfilt said DISC 19:28:33.588197 ====> Client disconnected 19:28:33.588268 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:28:33.146066 ====> Client connect 19:28:33.146338 Received DATA (on stdin) 19:28:33.146354 > 164 bytes data, server => client 19:28:33.146366 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:33.146376 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:33.146385 ' \_\_____|\r\n+OK curl POP3 server ready to serve \r\n' 19:28:33.146459 < 6 bytes data, client => server 19:28:33.146472 'CAPA\r\n' 19:28:33.146659 Received DATA (on stdin) 19:28:33.146671 > 27 bytes data, server => client 19:28:33.146681 '-ERR Unrecognized command\r\n' 19:28:33.146740 < 21 bytes data, client => server 19:28:33.146753 'RETR verifiedserver\r\n' 19:28:33.146946 Received DATA (on stdin) 19:28:33.146958 > 26 bytes data, server => client 19:28:33.146968 '+OK Mail transfer starts\r\n' 19:28:33.146991 ReCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1409 ../src/curl -q --output log/2/curl1409.out --include --trace-ascii log/2/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/2/stdout1409 2> log/2/stderr1409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:33205/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/stderr1406 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1405 ../src/curl -q --output log/11/curl1405.out --include --trace-ascii log/11/trace1405 --trace-time ftp://127.0.0.1:36697/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/11/test1405.c > log/11/stdout1405 2> log/11/stderr1405 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1416 ../src/curl -q --output log/15/curl1416.out --include --trace-ascii log/15/trace1416 --trace-time http://127.0.0.1:40321/1416 > log/15/stdout1416 2> log/15/stderr1416 ceived DATA (on stdin) 19:28:33.147000 > 18 bytes data, server => client 19:28:33.147009 'WE ROOLZ: 125142\r\n' 19:28:33.147021 Received DATA (on stdin) 19:28:33.147029 > 3 bytes data, server => client 19:28:33.147038 '.\r\n' 19:28:33.189546 < 6 bytes data, client => server 19:28:33.189568 'QUIT\r\n' 19:28:33.189765 Received DATA (on stdin) 19:28:33.189776 > 34 bytes data, server => client 19:28:33.189786 '+OK curl POP3 server signing off\r\n' 19:28:33.190787 ====> Client disconnect 19:28:33.190959 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd REPLY LIST +OK 1407 100\r\n. Testnum 1407 === End of file server.cmd === Start of file valgrind1407 ==157596== ==157596== Process terminating with default action of signal 4 (SIGILL) ==157596== Illegal opcode at address 0x492B75F ==157596== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157596== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157596== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157596== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157596== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157596== by 0x49908EB: curl_version_info (version.c:600) ==157596== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157596== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157596== by 0x4003269: main (tool_main.c:195) === End of file valgrind1407 test 1409 [Pass in string to -C] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1409 ../src/curl -q --output log/2/curl1409.out --include --trace-ascii log/2/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/2/stdout1409 2> log/2/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/2/ directory after test 1409 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1409 ../src/curl -q --output log/2/curl1409.out --include --trace-ascii log/2/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/2/stdout1409 2> log/2/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==157618== ==157618== Process terminating with default action of signal 4 (SIGILL) ==157618== Illegal opcode at address 0x492B75F ==157618== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157618== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157618== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157618== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157618== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157618== by 0x49908EB: curl_version_info (version.c:600) ==157618== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157618== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157618== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157618== by 0x4003269: main (tool_main.c:195) === End of file valgrind1409 test 1406 [--libcurl for SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:33205/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/stderr1406 1406: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1406 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1406 ../src/curl -q --output log/16/curl1406.out --include --trace-ascii log/16/trace1406 --trace-time smtp://127.0.0.1:33205/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/16/test1406.eml --libcurl log/16/test1406.c > log/16/stdout1406 2> log/16/stderr1406 === End of file commands.log === Start of file server.cmd CAPA SIZE Testnum 1406 === End of file server.cmd === Start of file smtp_server.log 19:28:33.569007 ====> Client connect 19:28:33.569294 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:33.569644 < "EHLO verifiedserver" 19:28:33.569692 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:33.569873 < "HELP" 19:28:33.569903 > "214 WE ROOLZ: 127808[CR][LF]" 19:28:33.569917 return proof we are we 19:28:33.570122 < "QUIT" 19:28:33.570152 > "221 curl ESMTP server signing off[CR][LF]" 19:28:33.571275 MAIN sockfilt said DISC 19:28:33.571307 ====> Client disconnected 19:28:33.571381 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:34.171566 ====> Client connect 19:28:34.172004 Received DATA (on stdin) 19:28:34.172019 > 146 bytes data, server => client 19:28:34.172031 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:34.172040 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:34.172050 '220 \___|\___/|_| \_\_____|\r\n' 19:28:34.172164 < 21 bytes data, client => server 19:28:34.172180 'EHLO verifiedserver\r\n' 19:28:34.172390 Received DATA (on stdin) 19:28:34.172402 > 53 bytes data, server => client 19:28:34.172413 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:34.172473 < 6 bytes data, client => server 19:28:34.172485 'HELP\r\n' 19:28:34.172605 Received DATA (on stdin) 19:28:34.172614 > 22 bytes data, server => client 19:28:34.172624 '214 WE ROOLZ: 127808\r\n' 19:28:34.172723 < 6 bytes data, client => server 19:28:34.172736 'QUIT\r\n' 19:28:34.172842 Received DATA (on stdin) 19:28:34.172853 > 35 bytes data, server => client 19:28:34.172863 '221 curl ESMTP server signing off\r\n' 19:28:34.173913 ====> Client disconnect 19:28:34.174080 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test1406.eml From: different To: another body === End of file test1406.eml === Start of file valgrind1406 ==157620== ==157620== Process terminating with default action of signal 4 (SIGILL) ==157620== Illegal opcode at address 0x492B75F ==157620== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157620== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157620== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157620== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157620== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157620== by 0x49908EB: curl_version_info (version.c:600) ==157620== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157620== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157620== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157620== by 0x4003269: main (tool_main.c:195) === End of file valgrind1406 test 1416 [HTTP GET with chunked Transfer-Encoding overflowed chunked size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1416 ../src/curl -q --output log/15/curl1416.out --include --trace-ascii log/15/trace1416 --trace-time http://127.0.0.1:40321/1416 > log/15/stdout1416 2> log/15/stderr1416 1416: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1416 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1416 ../src/curl -q --output log/15/curl1416.out --include --trace-ascii log/15/trace1416 --trace-time http://127.0.0.1:40321/1416 > log/15/stdout1416 2> log/15/stderr1416 === End of file commands.log === Start of file http_server.log 19:28:34.598069 ====> Client connect 19:28:34.598116 accept_connection 3 returned 4 19:28:34.598142 Read 93 bytes 19:28:34.598151 Process 93 bytes request 19:28:34.598165 Got request: GET /verifiedserver HTTP/1.1 19:28:34.598174 Are-we-friendly question received 19:28:34.598200 Wrote request (93 bytes) input to log/15/server.input 19:28:34.598222 Identifying ourselves as friends 19:28:34.598317 Response sent (56 bytes) and written to log/15/server.response 19:28:34.598327 special request received, no persistency 19:28:34.598336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1416 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1416 ==158188== ==158188== Process terminating with default action of signal 4 (SIGILL) ==158188== Illegal opcode at address 0x492B75F ==158188== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158188== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158188== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158188== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158188== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158188== by 0x49908EB: curl_version_info (version.c:600) ==158188== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158188== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158188== by 0x4003269: main (tool_main.c:195) === End of file valgrind1416 test 1405 [--libcurl for FTP with quote ops] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1405 ../src/curl -q --output log/11/curl1405.out --include --trace-ascii log/11/trace1405 --trace-time ftp://127.0.0.1:36697/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/11/test1405.c > log/11/stdout1405 2> log/11/stderr1405 1405: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1405 ../src/curl -q --output log/11/curl1405.out --include --trace-ascii log/11/trace1405 --trace-time ftp://127.0.0.1:36697/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/11/test1405.c > log/11/stdout1405 2> log/11/stderr1405 === End of file commands.log === Start of file ftp_server.log 19:28:33.525469 ====> Client connect 19:28:33.525726 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:33.526076 < "USER anonymous" 19:28:33.526119 > "331 We are happy you popped in![CR][LF]" 19:28:33.526311 < "PASS ftp@example.com" 19:28:33.526342 > "230 Welcome you silly person[CR][LF]" 19:28:33.526505 < "PWD" 19:28:33.526541 > "257 "/" is current directory[CR][LF]" 19:28:33.526712 < "EPSV" 19:28:33.526737 ====> Passive DATA channel requested by client 19:28:33.526751 DATA sockfilt for passive data channel starting... 19:28:33.538691 DATA sockfilt for passive data channel started (pid 157548) 19:28:33.540256 DATA sockfilt for passive data channel listens on port 37687 19:28:33.540320 > "229 Entering Passive Mode (|||37687|)[CR][LF]" 19:28:33.540341 Client has been notified that upcoming DATA connection is awaited on port 37687 19:28:33.540969 Client connects to port 37687 19:28:33.541006 ====> Client established passive DATA connection on port 37687 19:28:33.541111 < "TYPE I" 19:28:33.541146 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:33.541332 < "SIZE verifiedserver" 19:28:33.541375 > "213 18[CR][LF]" 19:28:33.541547 < "RETR verifiedserver" 19:28:33.541583 > "150 Binary junk (18 bytes).[CR][LF]" 19:28:33.541663 =====> Closing passive DATA connection... 19:28:33.541680 Server disconnects passive DATA connection 19:28:33.541884 Server disconnected passive DATA connection 19:28:33.541910 DATA sockfilt for passive data channel quits (pid 157548) 19:28:33.542236 DATA sockfilt for passive data channel quit (pid 157548) 19:28:33.542263 =====> Closed passive DATA connection 19:28:33.542293 > "226 File transfer complete[CR][LF]" 19:28:33.582415 < "QUIT" 19:28:33.582467 > "221 bye bye baby[CR][LF]" 19:28:33.583626 MAIN sockfilt said DISC 19:28:33.583669 ====> Client disconnected 19:28:33.583754 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:33.128021 ====> Client connect 19:28:33.128443 Received DATA (on stdin) 19:28:33.128461 > 146 bytes data, server => client 19:28:33.128473 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:33.128483 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:33.128493 '220 \___|\___/|_| \_\_____|\r\n' 19:28:33.128590 < 16 bytes data, client => server 19:28:33.128606 'USER anonymous\r\n' 19:28:33.128819 Received DATA (on stdin) 19:28:33.128831 > 33 bytes data, server => client 19:28:33.128841 '331 We are happy you popped in!\r\n' 19:28:33.128901 < 22 bytes data, client => server 19:28:33.128913 'PASS ftp@example.com\r\n' 19:28:33.129034 Received DATA (on stdin) 19:28:33.129045 > 30 bytes data, server => client 19:28:33.129055 '230 Welcome you silly person\r\n' 19:28:33.129108 < 5 bytes data, client => server 19:28:33.129119 'PWD\r\n' 19:28:33.129232 Received DATA (on stdin) 19:28:33.129243 > 30 bytes data, server => client 19:28:33.129252 '257 "/" is current directory\r\n' 19:28:33.129317 < 6 bytes data, client => server 19:28:33.129329 'EPSV\r\n' 19:28:33.143044 Received DATA (on stdin) 19:28:33.143062 > 39 bytes data, server => client 19:28:33.143073 '229 Entering Passive Mode (|||37687|)\r\n' 19:28:33.143565 < 8 bytes data, client => server 19:28:33.143582 'TYPE I\r\n' 19:28:33.143843 Received DATA (on stdin) 19:28:33.143856 > 33 bytes data, server => client 19:28:33.143866 '200 I modify TYPE as you wanted\r\n' 19:28:33.143928 < 21 bytes data, client => server 19:28:33.143940 'SIZE verifiedserver\r\n' 19:28:33.144069 Received DATA (on stdin) 19:28:33.144080 > 8 bytes data, server => client 19:28:33.144090 '213 18\r\n' 19:28:33.144145 < 21 bytes data, client => server 19:28:33.144157 'RETR verifiedserver\r\n' 19:28:33.144373 Received DATA (on stdin) 19:28:33.144384 > 29 bytes data, server => client 19:28:33.144394 '150 Binary junk (18 bytes).\r\n' 19:28:33.144987 Received DATA (on stdin) 19:28:33.144999 > 28 bytes data, server => client 19:28:33.145009 '226 File transfer complete\r\n' 19:28:33.184934 < 6 bytes data, client => server 19:28:33.184964 'QUIT\r\n' 19:28:33.185161 Received DATA (on stdin) 19:28:33.185173CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1412 ../src/curl -q --output log/14/curl1412.out --include --trace-ascii log/14/trace1412 --trace-time http://127.0.0.1:45467/1412 -u testuser:testpass --anyauth http://127.0.0.1:45467/14120001 > log/14/stdout1412 2> log/14/stderr1412 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:40859 > log/7/stdout1415 2> log/7/stderr1415 > 18 bytes data, server => client 19:28:33.185182 '221 bye bye baby\r\n' 19:28:33.186256 ====> Client disconnect 19:28:33.186447 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:33.132853 Running IPv4 version 19:28:33.132933 Listening on port 37687 19:28:33.132976 Wrote pid 157548 to log/11/server/ftp_sockdata.pid 19:28:33.138175 Received PING (on stdin) 19:28:33.142809 Received PORT (on stdin) 19:28:33.143606 ====> Client connect 19:28:33.144453 Received DATA (on stdin) 19:28:33.144469 > 18 bytes data, server => client 19:28:33.144479 'WE ROOLZ: 154115\r\n' 19:28:33.144510 Received DISC (on stdin) 19:28:33.144522 ====> Client forcibly disconnected 19:28:33.144676 Received QUIT (on stdin) 19:28:33.144691 quits 19:28:33.144761 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command REPLY FAIL 500 this might not be a failure Testnum 1405 === End of file server.cmd === Start of file valgrind1405 ==157605== ==157605== Process terminating with default action of signal 4 (SIGILL) ==157605== Illegal opcode at address 0x492B75F ==157605== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157605== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157605== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157605== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157605== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157605== by 0x49908EB: curl_version_info (version.c:600) ==157605== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157605== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157605== by 0x4003269: main (tool_main.c:195) === End of file valgrind1405 test 1412 [HTTP GET with --anyauth with two URLs (picking Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1412 ../src/curl -q --output log/14/curl1412.out --include --trace-ascii log/14/trace1412 --trace-time http://127.0.0.1:45467/1412 -u testuser:testpass --anyauth http://127.0.0.1:45467/14120001 > log/14/stdout1412 2> log/14/stderr1412 1412: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1412 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1412 ../src/curl -q --output log/14/curl1412.out --include --trace-ascii log/14/trace1412 --trace-time http://127.0.0.1:45467/1412 -u testuser:testpass --anyauth http://127.0.0.1:45467/14120001 > log/14/stdout1412 2> log/14/stderr1412 === End of file commands.log === Start of file http_server.log 19:28:33.488924 ====> Client connect 19:28:33.488963 accept_connection 3 returned 4 19:28:33.488987 Read 93 bytes 19:28:33.488998 Process 93 bytes request 19:28:33.489012 Got request: GET /verifiedserver HTTP/1.1 19:28:33.489021 Are-we-friendly question received 19:28:33.489051 Wrote request (93 bytes) input to log/14/server.input 19:28:33.489070 Identifying ourselves as friends 19:28:33.489138 Response sent (56 bytes) and written to log/14/server.response 19:28:33.489149 special request received, no persistency 19:28:33.489158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1412 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1412 ==158060== ==158060== Process terminating with default action of signal 4 (SIGILL) ==158060== Illegal opcode at address 0x492B75F ==158060== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158060== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158060== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158060== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158060== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158060== by 0x49908EB: curl_version_info (version.c:600) ==158060== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158060== by 0x4003269: main (tool_main.c:195) === End of file valgrind1412 setenv TZ = GMT test 1415 [Delete expired cookies] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:40859 > log/7/stdout1415 2> log/7/stderr1415 1415: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1415 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1415 ../src/curl -q --output log/7/curl1415.out --include --trace-ascii log/7/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/7/jar1415.txt -x 127.0.0.1:40859 > log/7/stdout1415 2> log/7/stderr1415 === End of file commands.log === Start of file http_server.log 19:28:33.564743 ====> Client connect 19:28:33.564789 accept_connection 3 returned 4 19:28:33.564816 Read 93 bytes 19:28:33.564826 Process 93 bytes request 19:28:33.564840 Got request: GET /verifiedserver HTTP/1.1 19:28:33.564849 Are-we-friendly question received 19:28:33.564876 Wrote request (93 bytes) input to log/7/server.input 19:28:33.564893 Identifying ourselves as friends 19:28:33.564978 Response sent (56 bytes) and written to log/7/server.response 19:28:33.564989 special request received, no persistency 19:28:33.564997 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 48134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1415 ==158157== ==158157== Process terminating with default action of signal 4 (SIGILL) ==158157== Illegal opcode at address 0x492B75F ==158157== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158157== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158157== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158157== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158157== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158157== by 0x49908EB: curCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1404 ../src/curl -q --output log/18/curl1404.out --include --trace-ascii log/18/trace1404 --trace-time http://127.0.0.1:43739/we/want/1404 -F name=value -F 'file=@log/18/test1404.txt,log/18/test1404.txt;type=magic/content;encoder=8bit,log/18/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/18/test1404.c > log/18/stdout1404 2> log/18/stderr1404 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1414 ../src/curl -q --output log/4/curl1414.out --include --trace-ascii log/4/trace1414 --trace-time ftp://127.0.0.1:39739/1414 -P - > log/4/stdout1414 2> log/4/stderr1414 l_version_info (version.c:600) ==158157== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158157== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158157== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158157== by 0x4003269: main (tool_main.c:195) === End of file valgrind1415 test 1404 [--libcurl plus -F with 3 files, one with explicit type and encoder] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1404 ../src/curl -q --output log/18/curl1404.out --include --trace-ascii log/18/trace1404 --trace-time http://127.0.0.1:43739/we/want/1404 -F name=value -F 'file=@log/18/test1404.txt,log/18/test1404.txt;type=magic/content;encoder=8bit,log/18/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/18/test1404.c > log/18/stdout1404 2> log/18/stderr1404 1404: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1404 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1404 ../src/curl -q --output log/18/curl1404.out --include --trace-ascii log/18/trace1404 --trace-time http://127.0.0.1:43739/we/want/1404 -F name=value -F 'file=@log/18/test1404.txt,log/18/test1404.txt;type=magic/content;encoder=8bit,log/18/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/18/test1404.c > log/18/stdout1404 2> log/18/stderr1404 === End of file commands.log === Start of file http_server.log 19:28:34.074727 ====> Client connect 19:28:34.074767 accept_connection 3 returned 4 19:28:34.074790 Read 93 bytes 19:28:34.074799 Process 93 bytes request 19:28:34.074812 Got request: GET /verifiedserver HTTP/1.1 19:28:34.074821 Are-we-friendly question received 19:28:34.074849 Wrote request (93 bytes) input to log/18/server.input 19:28:34.074867 Identifying ourselves as friends 19:28:34.074937 Response sent (56 bytes) and written to log/18/server.response 19:28:34.074947 special request received, no persistency 19:28:34.074955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1404 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==157568== ==157568== Process terminating with default action of signal 4 (SIGILL) ==157568== Illegal opcode at address 0x492B75F ==157568== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==157568== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==157568== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==157568== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==157568== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==157568== by 0x49908EB: curl_version_info (version.c:600) ==157568== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==157568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==157568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==157568== by 0x4003269: main (tool_main.c:195) === End of file valgrind1404 test 1414 [FTP PORT without SIZE or EPRT support] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1414 ../src/curl -q --output log/4/curl1414.out --include --trace-ascii log/4/trace1414 --trace-time ftp://127.0.0.1:39739/1414 -P - > log/4/stdout1414 2> log/4/stderr1414 1414: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1414 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1414 ../src/curl -q --output log/4/curl1414.out --include --trace-ascii log/4/trace1414 --trace-time ftp://127.0.0.1:39739/1414 -P - > log/4/stdout1414 2> log/4/stderr1414 === End of file commands.log === Start of file ftp_server.log 19:28:33.902035 ====> Client connect 19:28:33.909880 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:33.911491 < "USER anonymous" 19:28:33.911624 > "331 We are happy you popped in![CR][LF]" 19:28:33.911782 < "PASS ftp@example.com" 19:28:33.911815 > "230 Welcome you silly person[CR][LF]" 19:28:33.912003 < "PWD" 19:28:33.912036 > "257 "/" is current directory[CR][LF]" 19:28:33.912203 < "EPSV" 19:28:33.912230 ====> Passive DATA channel requested by client 19:28:33.912244 DATA sockfilt for passive data channel starting... 19:28:33.920086 DATA sockfilt for passive data channel started (pid 158046) 19:28:33.920248 DATA sockfilt for passive data channel listens on port 36489 19:28:33.920295 > "229 Entering Passive Mode (|||36489|)[CR][LF]" 19:28:33.920314 Client has been notified that upcoming DATA connection is awaited on port 36489 19:28:33.923997 Client connects to port 36489 19:28:33.924035 ====> Client established passive DATA connection on port 36489 19:28:33.924149 < "TYPE I" 19:28:33.924189 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:33.924377 < "SIZE verifiedserver" 19:28:33.924418 > "213 17[CR][LF]" 19:28:33.924579 < "RETR verifiedserver" 19:28:33.924615 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:33.924705 =====> Closing passive DATA connection... 19:28:33.924723 Server disconnects passive DATA connection 19:28:33.924953 Server disconnected passive DATA connection 19:28:33.924981 DATA sockfilt for passive data channel quits (pid 158046) 19:28:33.925239 DATA sockfilt for passive data channel quit (pid 158046) 19:28:33.925263 =====> Closed passive DATA connection 19:28:33.925288 > "226 File transfer complete[CR][LF]" 19:28:33.972313 < "QUIT" 19:28:33.972370 > "221 bye bye baby[CR][LF]" 19:28:33.973647 MAIN sockfilt said DISC 19:28:33.973678 ====> Client disconnected 19:28:33.973757 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:33.494674 ====> Client connect 19:28:33.512582 Received DATA (on stdin) 19:28:33.513020 > 146 bytes data, server => client 19:28:33.513039 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:33.513050 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:33.513060 '220 \___|\___/|_| \_\_____|\r\n' 19:28:33.513993 < 16 bytes data, client => server 19:28:33.514012 'USER anonymous\r\n' 19:28:33.514223 Received DATA (on stdin) 19:28:33.514236 > 33 bytes data, server => client 19:28:33.514247 '331 We are happy you popped in!\r\n' 19:28:33.514356 < 22 bytes data, client => server 19:28:33.514369 'PASS ftp@example.com\r\n' 19:28:33.514497 Received DATA (on stdin) 19:28:33.514509 > 30 bytes data, server => client 19:28:33.514520 '230 Welcome you silly person\r\n' 19:28:33.514576 < 5 bytes data, client => server 19:28:33.514587 'PWD\r\n' 19:28:33.514713 Received DATA (on stdin) 19:28:33.514724 > 30 bytes data, server => client 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1421 ../src/curl -q --include --trace-ascii log/17/trace1421 --trace-time --proxy http://127.0.0.1:35993 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/17/stdout1421 2> log/17/stderr1421 :28:33.514733 '257 "/" is current directory\r\n' 19:28:33.514798 < 6 bytes data, client => server 19:28:33.514809 'EPSV\r\n' 19:28:33.524837 Received DATA (on stdin) 19:28:33.524858 > 39 bytes data, server => client 19:28:33.524870 '229 Entering Passive Mode (|||36489|)\r\n' 19:28:33.526580 < 8 bytes data, client => server 19:28:33.526600 'TYPE I\r\n' 19:28:33.526872 Received DATA (on stdin) 19:28:33.526885 > 33 bytes data, server => client 19:28:33.526896 '200 I modify TYPE as you wanted\r\n' 19:28:33.526960 < 21 bytes data, client => server 19:28:33.526973 'SIZE verifiedserver\r\n' 19:28:33.527098 Received DATA (on stdin) 19:28:33.527109 > 8 bytes data, server => client 19:28:33.527119 '213 17\r\n' 19:28:33.527173 < 21 bytes data, client => server 19:28:33.527185 'RETR verifiedserver\r\n' 19:28:33.527404 Received DATA (on stdin) 19:28:33.527415 > 29 bytes data, server => client 19:28:33.527425 '150 Binary junk (17 bytes).\r\n' 19:28:33.527966 Received DATA (on stdin) 19:28:33.528066 > 28 bytes data, server => client 19:28:33.528075 '226 File transfer complete\r\n' 19:28:33.574768 < 6 bytes data, client => server 19:28:33.574801 'QUIT\r\n' 19:28:33.575052 Received DATA (on stdin) 19:28:33.575063 > 18 bytes data, server => client 19:28:33.575073 '221 bye bye baby\r\n' 19:28:33.576273 ====> Client disconnect 19:28:33.576433 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:33.522216 Running IPv4 version 19:28:33.522303 Listening on port 36489 19:28:33.522345 Wrote pid 158046 to log/4/server/ftp_sockdata.pid 19:28:33.522369 Received PING (on stdin) 19:28:33.522820 Received PORT (on stdin) 19:28:33.526623 ====> Client connect 19:28:33.527452 Received DATA (on stdin) 19:28:33.527464 > 17 bytes data, server => client 19:28:33.527474 'WE ROOLZ: 85249\r\n' 19:28:33.527502 Received DISC (on stdin) 19:28:33.527514 ====> Client forcibly disconnected 19:28:33.527668 Received QUIT (on stdin) 19:28:33.527678 quits 19:28:33.527740 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 502 no such command REPLY EPRT 502 no such command Testnum 1414 === End of file server.cmd === Start of file valgrind1414 ==158166== ==158166== Process terminating with default action of signal 4 (SIGILL) ==158166== Illegal opcode at address 0x492B75F ==158166== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158166== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158166== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158166== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158166== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158166== by 0x49908EB: curl_version_info (version.c:600) ==158166== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158166== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158166== by 0x4003269: main (tool_main.c:195) === End of file valgrind1414 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1417 ../src/curl -q --output log/8/curl1417.out --include --trace-ascii log/8/trace1417 --trace-time http://127.0.0.1:44467/1417 -D log/8/heads1417 > log/8/stdout1417 2> log/8/stderr1417 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1419 ../src/curl -q --output log/20/curl1419.out --include --trace-ascii log/20/trace1419 --trace-time http://127.0.0.1:33897/1419 --anyauth http://127.0.0.1:33897/14190003 > log/20/stdout1419 2> log/20/stderr1419 test 1421 [Reusing HTTP proxy connection for two different hostnames] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1421 ../src/curl -q --include --trace-ascii log/17/trace1421 --trace-time --proxy http://127.0.0.1:35993 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/17/stdout1421 2> log/17/stderr1421 1421: stdout FAILED: --- log/17/check-expected 2026-10-15 19:28:36.902600916 +0000 +++ log/17/check-generated 2026-10-15 19:28:36.898928249 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] -HTTP/1.1 200 OK[LF] -Unknown-header: blrub[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/17/ directory after test 1421 === Start of file check-expected HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] HTTP/1.1 200 OK[LF] Unknown-header: blrub[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1421 ../src/curl -q --include --trace-ascii log/17/trace1421 --trace-time --proxy http://127.0.0.1:35993 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/17/stdout1421 2> log/17/stderr1421 === End of file commands.log === Start of file http_server.log 19:28:34.808357 ====> Client connect 19:28:34.808404 accept_connection 3 returned 4 19:28:34.808427 Read 93 bytes 19:28:34.808437 Process 93 bytes request 19:28:34.808450 Got request: GET /verifiedserver HTTP/1.1 19:28:34.808459 Are-we-friendly question received 19:28:34.808486 Wrote request (93 bytes) input to log/17/server.input 19:28:34.808501 Identifying ourselves as friends 19:28:34.808682 Response sent (56 bytes) and written to log/17/server.response 19:28:34.808692 special request received, no persistency 19:28:34.808700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 40038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1421 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1421 ==158502== ==158502== Process terminating with default action of signal 4 (SIGILL) ==158502== Illegal opcode at address 0x492B75F ==158502== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158502== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158502== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158502== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158502== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158502== by 0x49908EB: curl_version_info (version.c:600) ==158502== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158502== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158502== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158502== by 0x4003269: main (tool_main.c:195) === End of file valgrind1421 test 1417 [HTTP GET with chunked encoding and chunked trailer without CRs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1417 ../src/curl -q --output log/8/curl1417.out --include --trace-ascii log/8/trace1417 --trace-time http://127.0.0.1:44467/1417 -D log/8/heads1417 > log/8/stdout1417 2> log/8/stderr1417 1417: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1417 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1417 ../src/curl -q --output log/8/curl1417.out --include --trace-ascii log/8/trace1417 --trace-time http://127.0.0.1:44467/1417 -D log/8/heads1417 > log/8/stdout1417 2> log/8/stderr1417 === End of file commands.log === Start of file http_server.log 19:28:33.573287 ====> Client connect 19:28:33.573321 accept_connection 3 returned 4 19:28:33.573342 Read 93 bytes 19:28:33.573352 Process 93 bytes request 19:28:33.573363 Got request: GET /verifiedserver HTTP/1.1 19:28:33.573372 Are-we-friendly question received 19:28:33.573399 Wrote request (93 bytes) input to log/8/server.input 19:28:33.573414 Identifying ourselves as friends 19:28:33.573476 Response sent (56 bytes) and written to log/8/server.response 19:28:33.573486 special request received, no persistency 19:28:33.573495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 55328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1417 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1417 ==158193== ==158193== Process terminating with default action of signal 4 (SIGILL) ==158193== Illegal opcode at address 0x492B75F ==158193== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158193== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158193== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158193== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158193== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158193== by 0x49908EB: curl_version_info (version.c:600) ==158193== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158193== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158193== by 0x4003269: main (tool_main.c:195) === End of file valgrind1417 test 1419 [HTTP with --anyauth (but no auth!) and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1419 ../src/curl -q --output log/20/curl1419.out --include --trace-ascii log/20/trace1419 --trace-time http://127.0.0.1:33897/1419 --anyauth http://127.0.0.1:33897/14190003 > log/20/stdout1419 2> log/20/stderr1419 1419: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1419 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1419 ../src/curl -q --output log/20/curl1419.out --include --trace-ascii log/20/trace1419 --trace-time http://127.0.0.1:33897/1419 --anyauth http://127.0.0.1:33897/14190003 > log/20/stdout1419 2> log/20/stderr1419 === End of file commands.log === StaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1427 ../src/curl -q --output log/1/curl1427.out --include --trace-ascii log/1/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/1/stdout1427 2> log/1/stderr1427 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:38821/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1418 ../src/curl -q --output log/3/curl1418.out --include --trace-ascii log/3/trace1418 --trace-time http://127.0.0.1:36161/1418 -u testuser:testpass --anyauth http://127.0.0.1:36161/14180003 > log/3/stdout1418 2> log/3/stderr1418 rt of file http_server.log 19:28:33.737868 ====> Client connect 19:28:33.737904 accept_connection 3 returned 4 19:28:33.737928 Read 93 bytes 19:28:33.737939 Process 93 bytes request 19:28:33.737953 Got request: GET /verifiedserver HTTP/1.1 19:28:33.737962 Are-we-friendly question received 19:28:33.738007 Wrote request (93 bytes) input to log/20/server.input 19:28:33.738025 Identifying ourselves as friends 19:28:33.738089 Response sent (56 bytes) and written to log/20/server.response 19:28:33.738099 special request received, no persistency 19:28:33.738108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 57800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1419 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1419 ==158403== ==158403== Process terminating with default action of signal 4 (SIGILL) ==158403== Illegal opcode at address 0x492B75F ==158403== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158403== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158403== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158403== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158403== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158403== by 0x49908EB: curl_version_info (version.c:600) ==158403== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158403== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158403== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158403== by 0x4003269: main (tool_main.c:195) === End of file valgrind1419 test 1427 [too large -m timeout value] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1427 ../src/curl -q --output log/1/curl1427.out --include --trace-ascii log/1/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/1/stdout1427 2> log/1/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/1/ directory after test 1427 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1427 ../src/curl -q --output log/1/curl1427.out --include --trace-ascii log/1/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/1/stdout1427 2> log/1/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==158874== ==158874== Process terminating with default action of signal 4 (SIGILL) ==158874== Illegal opcode at address 0x492B75F ==158874== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158874== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158874== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158874== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158874== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158874== by 0x49908EB: curl_version_info (version.c:600) ==158874== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158874== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158874== by 0x4003269: main (tool_main.c:195) === End of file valgrind1427 test 1423 [HTTP GET -o fname without Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:38821/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 1423: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1423 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1423 ../src/curl -q --trace-ascii log/13/trace1423 --trace-time http://127.0.0.1:38821/1423 -o log/13/outfile1423 file:///startdir/src/build-curl/tests/log/13/outfile1423 > log/13/stdout1423 2> log/13/stderr1423 === End of file commands.log === Start of file http_server.log 19:28:33.917374 ====> Client connect 19:28:33.917409 accept_connection 3 returned 4 19:28:33.917428 Read 93 bytes 19:28:33.917437 Process 93 bytes request 19:28:33.917448 Got request: GET /verifiedserver HTTP/1.1 19:28:33.917456 Are-we-friendly question received 19:28:33.917480 Wrote request (93 bytes) input to log/13/server.input 19:28:33.917494 Identifying ourselves as friends 19:28:33.917548 Response sent (56 bytes) and written to log/13/server.response 19:28:33.917556 special request received, no persistency 19:28:33.917563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 39560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1423 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1423 ==158586== ==158586== Process terminating with default action of signal 4 (SIGILL) ==158586== Illegal opcode at address 0x492B75F ==158586== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158586== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158586== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158586== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158586== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158586== by 0x49908EB: curl_version_info (version.c:600) ==158586== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158586== by 0x4003269: main (tool_main.c:195) === End of file valgrind1423 test 1418 [HTTP with --anyauth and connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1418 ../src/curl -q --output log/3/curl1418.out --include --trace-ascii log/3/trace1418 --trace-time http://127.0.0.1:36161/1418 -u testuser:testpass --anyauth http://127.0.0.1:36161/14180003 > log/3/stdout1418 2> log/3/stderr1418 1418: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1418 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1422 ../src/curl -q --trace-ascii log/23/trace1422 --trace-time http://127.0.0.1:44711/1422 -J -O file:///startdir/src/build-curl/tests/log/23/name1422 --output-dir log/23 > log/23/stdout1422 2> log/23/stderr1422 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:41651/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 rind.supp --num-callers=16 --log-file=log/3/valgrind1418 ../src/curl -q --output log/3/curl1418.out --include --trace-ascii log/3/trace1418 --trace-time http://127.0.0.1:36161/1418 -u testuser:testpass --anyauth http://127.0.0.1:36161/14180003 > log/3/stdout1418 2> log/3/stderr1418 === End of file commands.log === Start of file http_server.log 19:28:34.721555 ====> Client connect 19:28:34.721593 accept_connection 3 returned 4 19:28:34.721616 Read 93 bytes 19:28:34.721627 Process 93 bytes request 19:28:34.721639 Got request: GET /verifiedserver HTTP/1.1 19:28:34.721649 Are-we-friendly question received 19:28:34.721678 Wrote request (93 bytes) input to log/3/server.input 19:28:34.721697 Identifying ourselves as friends 19:28:34.721764 Response sent (56 bytes) and written to log/3/server.response 19:28:34.721776 special request received, no persistency 19:28:34.721786 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 59442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 1418 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1418 ==158471== ==158471== Process terminating with default action of signal 4 (SIGILL) ==158471== Illegal opcode at address 0x492B75F ==158471== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158471== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158471== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158471== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158471== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158471== by 0x49908EB: curl_version_info (version.c:600) ==158471== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158471== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158471== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158471== by 0x4003269: main (tool_main.c:195) === End of file valgrind1418 test 1422 [HTTP GET with -O -J and Content-Disposition (empty file)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1422 ../src/curl -q --trace-ascii log/23/trace1422 --trace-time http://127.0.0.1:44711/1422 -J -O file:///startdir/src/build-curl/tests/log/23/name1422 --output-dir log/23 > log/23/stdout1422 2> log/23/stderr1422 1422: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1422 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1422 ../src/curl -q --trace-ascii log/23/trace1422 --trace-time http://127.0.0.1:44711/1422 -J -O file:///startdir/src/build-curl/tests/log/23/name1422 --output-dir log/23 > log/23/stdout1422 2> log/23/stderr1422 === End of file commands.log === Start of file http_server.log 19:28:33.814722 ====> Client connect 19:28:33.814766 accept_connection 3 returned 4 19:28:33.814794 Read 93 bytes 19:28:33.814804 Process 93 bytes request 19:28:33.814818 Got request: GET /verifiedserver HTTP/1.1 19:28:33.814826 Are-we-friendly question received 19:28:33.814853 Wrote request (93 bytes) input to log/23/server.input 19:28:33.814870 Identifying ourselves as friends 19:28:33.814942 Response sent (56 bytes) and written to log/23/server.response 19:28:33.814952 special request received, no persistency 19:28:33.814962 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 38122 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1422 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1422 ==158485== ==158485== Process terminating with default action of signal 4 (SIGILL) ==158485== Illegal opcode at address 0x492B75F ==158485== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158485== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158485== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158485== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158485== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158485== by 0x49908EB: curl_version_info (version.c:600) ==158485== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158485== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158485== by 0x4003269: main (tool_main.c:195) === End of file valgrind1422 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/12/server/imap_server.pid" --logfile "log/12/imap_server.log" --logdir "log/12" --portfile "log/12/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 41651 (log/12/server/imap_server.port) RUN: IMAP server is PID 158265 port 41651 * pid imap => 158265 158265 test 1420 [--libcurl for IMAP FETCH message] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:41651/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 1420: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1420 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1420 ../src/curl -q --output log/12/curl1420.out --include --trace-ascii log/12/trace1420 --trace-time 'imap://127.0.0.1:41651/1420/;MAILINDEX=1' -u user:secret --libcurl log/12/test1420.c > log/12/stdout1420 2> log/12/stderr1420 === End of file commands.log === Start of file imap_server.log 19:28:34.188824 IMAP server listens on port IPv4/41651 19:28:34.188982 logged pid 158265 in log/12/server/imap_server.pid 19:28:34.189043 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:34.785935 Running IPv4 version 19:28:34.786051 Listening on port 41651 19:28:34.786106 Wrote pid 158421 to log/12/server/imap_sockfilt.pid 19:28:34.786144 Wrote port 41651 to log/12/server/imap_server.port 19:28:34.791327 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1420 === End of file server.cmd === Start of file valgrind1420 ==158790== ==158790== Process terminating with default action of signal 4 (SIGILL) ==158790== Illegal opcode at address 0x492CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1428 ../src/curl -q --output log/21/curl1428.out --include --trace-ascii log/21/trace1428 --trace-time http://test.1428:39881/we/want/that/page/1428 -p -x 127.0.0.1:44633 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" --proxy-header " : ignored" > log/21/stdout1428 2> log/21/stderr1428 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:43733/1430 > log/9/stdout1430 2> log/9/stderr1430 B75F ==158790== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158790== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158790== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158790== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158790== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158790== by 0x49908EB: curl_version_info (version.c:600) ==158790== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158790== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158790== by 0x4003269: main (tool_main.c:195) === End of file valgrind1420 test 1428 [HTTP over proxy-tunnel with --proxy-header and --header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1428 ../src/curl -q --output log/21/curl1428.out --include --trace-ascii log/21/trace1428 --trace-time http://test.1428:39881/we/want/that/page/1428 -p -x 127.0.0.1:44633 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" --proxy-header " : ignored" > log/21/stdout1428 2> log/21/stderr1428 1428: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1428 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1428 ../src/curl -q --output log/21/curl1428.out --include --trace-ascii log/21/trace1428 --trace-time http://test.1428:39881/we/want/that/page/1428 -p -x 127.0.0.1:44633 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" --proxy-header " : ignored" > log/21/stdout1428 2> log/21/stderr1428 === End of file commands.log === Start of file http2_server.log 19:28:36.146765 ====> Client connect 19:28:36.146814 accept_connection 3 returned 4 19:28:36.146836 Read 93 bytes 19:28:36.146846 Process 93 bytes request 19:28:36.146870 Got request: GET /verifiedserver HTTP/1.1 19:28:36.146879 Are-we-friendly question received 19:28:36.146909 Wrote request (93 bytes) input to log/21/proxy.input 19:28:36.146930 Identifying ourselves as friends 19:28:36.147019 Response sent (57 bytes) and written to log/21/proxy.response 19:28:36.147031 special request received, no persistency 19:28:36.147039 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44633... * Established connection to 127.0.0.1 (127.0.0.1 port 44633) from 127.0.0.1 port 40308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44633 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44633 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 137984 === End of file http2_verify.out === Start of file http_server.log 19:28:35.114670 ====> Client connect 19:28:35.114713 accept_connection 3 returned 4 19:28:35.114735 Read 93 bytes 19:28:35.114744 Process 93 bytes request 19:28:35.114758 Got request: GET /verifiedserver HTTP/1.1 19:28:35.114767 Are-we-friendly question received 19:28:35.114796 Wrote request (93 bytes) input to log/21/server.input 19:28:35.114813 Identifying ourselves as friends 19:28:35.114886 Response sent (56 bytes) and written to log/21/server.response 19:28:35.114895 special request received, no persistency 19:28:35.114904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 43708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 137984 === End of file proxy.response === Start of file server.cmd Testnum 1428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1428 ==158976== ==158976== Process terminating with default action of signal 4 (SIGILL) ==158976== Illegal opcode at address 0x492B75F ==158976== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158976== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158976== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158976== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158976== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158976== by 0x49908EB: curl_version_info (version.c:600) ==158976== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158976== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158976== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158976== by 0x4003269: main (tool_main.c:195) === End of file valgrind1428 test 1430 [HTTP GET with negative response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:43733/1430 > log/9/stdout1430 2> log/9/stderr1430 1430: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1430 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:43733/1430 > log/9/stdout1430 2> log/9/stderr1430 === End of file commands.log === Start of file http_server.log 19:28:35.297391 ====> Client connect 19:28:35.297430 accept_connection 3 returned 4 19:28:35.297597 Read 93 bytes 19:28:35.297612 Process 93 bytes request 19:28:35.297626 Got request: GET /verifiedserver HTTP/1.1 19:28:35.297635 Are-we-friendly question received 19:28:35.297669 Wrote request (93 bytes) input to log/9/server.input 19:28:35.297687 Identifying ourselves as friends 19:28:35.297756 Response sent (56 bytes) and written to log/9/server.response 19:28:35.297767 special request received, no persistency 19:28:35.297776 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1430 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1430 ==159087== ==159087== Process terminating with default action of signal 4 (SIGILL) ==159087== Illegal opcode at address 0x492B75F ==159087== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159087== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159087== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1424 ../src/curl -q --trace-ascii log/5/trace1424 --trace-time http://127.0.0.1:37089/1424 -z "dec 12 11:00:00 1999 GMT" -o log/5/outfile1424 > log/5/stdout1424 2> log/5/stderr1424 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1431 ../src/curl -q --output log/24/curl1431.out --include --trace-ascii log/24/trace1431 --trace-time http://127.0.0.1:38895/1431 > log/24/stdout1431 2> log/24/stderr1431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1429 ../src/curl -q --include --trace-ascii log/19/trace1429 --trace-time http://127.0.0.1:37077/1429 --write-out '%{response_code}' > log/19/stdout1429 2> log/19/stderr1429 x492B67B: curl_msnprintf (mprintf.c:1277) ==159087== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159087== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159087== by 0x49908EB: curl_version_info (version.c:600) ==159087== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159087== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159087== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159087== by 0x4003269: main (tool_main.c:195) === End of file valgrind1430 test 1424 [HTTP GET -o fname without Content-Disposition (unmet time condition)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1424 ../src/curl -q --trace-ascii log/5/trace1424 --trace-time http://127.0.0.1:37089/1424 -z "dec 12 11:00:00 1999 GMT" -o log/5/outfile1424 > log/5/stdout1424 2> log/5/stderr1424 1424: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1424 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1424 ../src/curl -q --trace-ascii log/5/trace1424 --trace-time http://127.0.0.1:37089/1424 -z "dec 12 11:00:00 1999 GMT" -o log/5/outfile1424 > log/5/stdout1424 2> log/5/stderr1424 === End of file commands.log === Start of file http_server.log 19:28:34.649906 ====> Client connect 19:28:34.649945 accept_connection 3 returned 4 19:28:34.649965 Read 93 bytes 19:28:34.649974 Process 93 bytes request 19:28:34.649987 Got request: GET /verifiedserver HTTP/1.1 19:28:34.649995 Are-we-friendly question received 19:28:34.650022 Wrote request (93 bytes) input to log/5/server.input 19:28:34.650037 Identifying ourselves as friends 19:28:34.650263 Response sent (56 bytes) and written to log/5/server.response 19:28:34.650273 special request received, no persistency 19:28:34.650282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 55590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file outfile1424 original contents === End of file outfile1424 === Start of file server.cmd Testnum 1424 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1424 ==158781== ==158781== Process terminating with default action of signal 4 (SIGILL) ==158781== Illegal opcode at address 0x492B75F ==158781== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==158781== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==158781== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==158781== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==158781== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==158781== by 0x49908EB: curl_version_info (version.c:600) ==158781== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==158781== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==158781== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==158781== by 0x4003269: main (tool_main.c:195) === End of file valgrind1424 test 1431 [HTTP GET with single-digit response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1431 ../src/curl -q --output log/24/curl1431.out --include --trace-ascii log/24/trace1431 --trace-time http://127.0.0.1:38895/1431 > log/24/stdout1431 2> log/24/stderr1431 1431: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1431 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1431 ../src/curl -q --output log/24/curl1431.out --include --trace-ascii log/24/trace1431 --trace-time http://127.0.0.1:38895/1431 > log/24/stdout1431 2> log/24/stderr1431 === End of file commands.log === Start of file http_server.log 19:28:35.358009 ====> Client connect 19:28:35.358050 accept_connection 3 returned 4 19:28:35.358073 Read 93 bytes 19:28:35.358084 Process 93 bytes request 19:28:35.358097 Got request: GET /verifiedserver HTTP/1.1 19:28:35.358106 Are-we-friendly question received 19:28:35.358136 Wrote request (93 bytes) input to log/24/server.input 19:28:35.358152 Identifying ourselves as friends 19:28:35.358230 Response sent (56 bytes) and written to log/24/server.response 19:28:35.358242 special request received, no persistency 19:28:35.358251 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1431 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1431 ==159151== ==159151== Process terminating with default action of signal 4 (SIGILL) ==159151== Illegal opcode at address 0x492B75F ==159151== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159151== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159151== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159151== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159151== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159151== by 0x49908EB: curl_version_info (version.c:600) ==159151== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159151== by 0x4003269: main (tool_main.c:195) === End of file valgrind1431 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1434 ../src/curl -q --output log/22/curl1434.out --include --trace-ascii log/22/trace1434 --trace-time http://127.0.0.1:35989/1434 -C 100 > log/22/stdout1434 2> log/22/stderr1434 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1432 ../src/curl -q --output log/6/curl1432.out --include --trace-ascii log/6/trace1432 --trace-time http://127.0.0.1:33935/1432 > log/6/stdout1432 2> log/6/stderr1432 test 1429 [HTTP GET with 999 response code] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1429 ../src/curl -q --include --trace-ascii log/19/trace1429 --trace-time http://127.0.0.1:37077/1429 --write-out '%{response_code}' > log/19/stdout1429 2> log/19/stderr1429 1429: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:38.270471962 +0000 +++ log/19/check-generated 2026-10-15 19:28:38.265631920 +0000 @@ -1,13 +0,0 @@ -HTTP/1.1 999 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] --foo-[LF] -999 == Contents of files in the log/19/ directory after test 1429 === Start of file check-expected HTTP/1.1 999 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] -foo-[LF] 999 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1429 ../src/curl -q --include --trace-ascii log/19/trace1429 --trace-time http://127.0.0.1:37077/1429 --write-out '%{response_code}' > log/19/stdout1429 2> log/19/stderr1429 === End of file commands.log === Start of file http_server.log 19:28:35.267282 ====> Client connect 19:28:35.267322 accept_connection 3 returned 4 19:28:35.267347 Read 93 bytes 19:28:35.267358 Process 93 bytes request 19:28:35.267372 Got request: GET /verifiedserver HTTP/1.1 19:28:35.267382 Are-we-friendly question received 19:28:35.267412 Wrote request (93 bytes) input to log/19/server.input 19:28:35.267430 Identifying ourselves as friends 19:28:35.267498 Response sent (57 bytes) and written to log/19/server.response 19:28:35.267509 special request received, no persistency 19:28:35.267518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 39000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1429 ==159060== ==159060== Process terminating with default action of signal 4 (SIGILL) ==159060== Illegal opcode at address 0x492B75F ==159060== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159060== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159060== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159060== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159060== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159060== by 0x49908EB: curl_version_info (version.c:600) ==159060== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159060== by 0x4003269: main (tool_main.c:195) === End of file valgrind1429 test 1434 [HTTP GET resume at exactly the existing file size is fine] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1434 ../src/curl -q --output log/22/curl1434.out --include --trace-ascii log/22/trace1434 --trace-time http://127.0.0.1:35989/1434 -C 100 > log/22/stdout1434 2> log/22/stderr1434 1434: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1434 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1434 ../src/curl -q --output log/22/curl1434.out --include --trace-ascii log/22/trace1434 --trace-time http://127.0.0.1:35989/1434 -C 100 > log/22/stdout1434 2> log/22/stderr1434 === End of file commands.log === Start of file curl1434.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1434.out === Start of file http_server.log 19:28:35.561287 ====> Client connect 19:28:35.561355 accept_connection 3 returned 4 19:28:35.561519 Read 93 bytes 19:28:35.561533 Process 93 bytes request 19:28:35.561547 Got request: GET /verifiedserver HTTP/1.1 19:28:35.561556 Are-we-friendly question received 19:28:35.561590 Wrote request (93 bytes) input to log/22/server.input 19:28:35.561607 Identifying ourselves as friends 19:28:35.561665 Response sent (56 bytes) and written to log/22/server.response 19:28:35.561673 special request received, no persistency 19:28:35.561680 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 39514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1434 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1434 ==159333== ==159333== Process terminating with default action of signal 4 (SIGILL) ==159333== Illegal opcode at address 0x492B75F ==159333== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159333== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159333== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159333== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159333== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159333== by 0x49908EB: curl_version_info (version.c:600) ==159333== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159333== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159333== by 0x4003269: main (tool_main.c:195) === End of file valgrind1434 test 1432 [HTTP GET with 100-digit response code and survive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1432 ../src/curl -q --output log/6/curl1432.out --include --trace-ascii log/6/trace1432 --trace-time http://127.0.0.1:33935/1432 > log/6/stdout1432 2> log/6/stderr1432 1432: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1432 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/stCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1441 ../src/curl -q --include --trace-ascii log/18/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%' > log/18/stdout1441 2> log/18/stderr1441 artdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1432 ../src/curl -q --output log/6/curl1432.out --include --trace-ascii log/6/trace1432 --trace-time http://127.0.0.1:33935/1432 > log/6/stdout1432 2> log/6/stderr1432 === End of file commands.log === Start of file http_server.log 19:28:35.351348 ====> Client connect 19:28:35.351395 accept_connection 3 returned 4 19:28:35.351422 Read 93 bytes 19:28:35.351431 Process 93 bytes request 19:28:35.351444 Got request: GET /verifiedserver HTTP/1.1 19:28:35.351453 Are-we-friendly question received 19:28:35.351478 Wrote request (93 bytes) input to log/6/server.input 19:28:35.351494 Identifying ourselves as friends 19:28:35.351583 Response sent (56 bytes) and written to log/6/server.response 19:28:35.351594 special request received, no persistency 19:28:35.351603 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 54660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1432 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1432 ==159179== ==159179== Process terminating with default action of signal 4 (SIGILL) ==159179== Illegal opcode at address 0x492B75F ==159179== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159179== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159179== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159179== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159179== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159179== by 0x49908EB: curl_version_info (version.c:600) ==159179== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159179== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159179== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159179== by 0x4003269: main (tool_main.c:195) === End of file valgrind1432 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1438 ../src/curl -q --include --trace-ascii log/11/trace1438 --trace-time http://127.0.0.1:40989/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 test 1441 [Check --write-out with trailing %] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1441 ../src/curl -q --include --trace-ascii log/18/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%' > log/18/stdout1441 2> log/18/stderr1441 1441: stdout FAILED: --- log/18/check-expected 2026-10-15 19:28:38.649300047 +0000 +++ log/18/check-generated 2026-10-15 19:28:38.645641807 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/18/ directory after test 1441 === Start of file check-expected % === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1441 ../src/curl -q --include --trace-ascii log/18/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%' > log/18/stdout1441 2> log/18/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==159639== ==159639== Process terminating with default action of signal 4 (SIGILL) ==159639== Illegal opcode at address 0x492B75F ==159639== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159639== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159639== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159639== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159639== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159639== by 0x49908EB: curl_version_info (version.c:600) ==159639== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159639== by 0x4003269: main (tool_main.c:195) === End of file valgrind1441 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1439 ../src/curl -q --include --trace-ascii log/14/trace1439 --trace-time http://127.0.0.1:45467/1439 --write-out '%{http_version}' > log/14/stdout1439 2> log/14/stderr1439 test 1438 [Check if %{scheme} returns HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1438 ../src/curl -q --include --trace-ascii log/11/trace1438 --trace-time http://127.0.0.1:40989/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 1438: stdout FAILED: --- log/11/check-expected 2026-10-15 19:28:38.774066631 +0000 +++ log/11/check-generated 2026-10-15 19:28:38.768978348 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -http == Contents of files in the log/11/ directory after test 1438 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] http === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1438 ../src/curl -q --include --trace-ascii log/11/trace1438 --trace-time http://127.0.0.1:40989/1438 --write-out '%{scheme}' > log/11/stdout1438 2> log/11/stderr1438 === End of file commands.log === Start of file http_server.log 19:28:35.923623 ====> Client connect 19:28:35.923665 accept_connection 3 returned 4 19:28:35.923690 Read 93 bytes 19:28:35.923701 Process 93 bytes request 19:28:35.923714 Got request: GET /verifiedserver HTTP/1.1 19:28:35.923723 Are-we-friendly question received 19:28:35.923753 Wrote request (93 bytes) input to log/11/server.input 19:28:35.923772 Identifying ourselves as friends 19:28:35.923837 Response sent (56 bytes) and written to log/11/server.response 19:28:35.923846 special request received, no persistency 19:28:35.923855 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 51932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1438 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1438 ==159469== ==159469== Process terminating with default action of signal 4 (SIGILL) ==159469== Illegal opcode at address 0x492B75F ==159469== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159469== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159469== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159469== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159469== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159469== by 0x49908EB: curl_version_info (version.c:600) ==159469== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159469== by 0x4003269: main (tool_main.c:195) === End of file valgrind1438 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1433 ../src/curl -q --output log/10/curl1433.out --include --trace-ascii log/10/trace1433 --trace-time http://127.0.0.1:40913/1433 > log/10/stdout1433 2> log/10/stderr1433 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1442 ../src/curl -q --include --trace-ascii log/4/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out='\' > log/4/stdout1442 2> log/4/stderr1442 test 1439 [Check if %{http_version} returns 1.1] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1439 ../src/curl -q --include --trace-ascii log/14/trace1439 --trace-time http://127.0.0.1:45467/1439 --write-out '%{http_version}' > log/14/stdout1439 2> log/14/stderr1439 1439: stdout FAILED: --- log/14/check-expected 2026-10-15 19:28:38.813288577 +0000 +++ log/14/check-generated 2026-10-15 19:28:38.808979390 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -1.1 == Contents of files in the log/14/ directory after test 1439 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 1.1 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1439 ../src/curl -q --include --trace-ascii log/14/trace1439 --trace-time http://127.0.0.1:45467/1439 --write-out '%{http_version}' > log/14/stdout1439 2> log/14/stderr1439 === End of file commands.log === Start of file http_server.log 19:28:36.041404 ====> Client connect 19:28:36.041480 accept_connection 3 returned 4 19:28:36.041509 Read 93 bytes 19:28:36.041521 Process 93 bytes request 19:28:36.041534 Got request: GET /verifiedserver HTTP/1.1 19:28:36.041544 Are-we-friendly question received 19:28:36.041575 Wrote request (93 bytes) input to log/14/server.input 19:28:36.041594 Identifying ourselves as friends 19:28:36.041684 Response sent (56 bytes) and written to log/14/server.response 19:28:36.041697 special request received, no persistency 19:28:36.041706 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1439 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1439 ==159530== ==159530== Process terminating with default action of signal 4 (SIGILL) ==159530== Illegal opcode at address 0x492B75F ==159530== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159530== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159530== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159530== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159530== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159530== by 0x49908EB: curl_version_info (version.c:600) ==159530== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159530== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159530== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159530== by 0x4003269: main (tool_main.c:195) === End of file valgrind1439 test 1433 [HTTP GET with 100-digit subversion number in response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1433 ../src/curl -q --output log/10/curl1433.out --include --trace-ascii log/10/trace1433 --trace-time http://127.0.0.1:40913/1433 > log/10/stdout1433 2> log/10/stderr1433 1433: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1433 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1433 ../src/curl -q --output log/10/curl1433.out --include --trace-ascii log/10/trace1433 --trace-time http://127.0.0.1:40913/1433 > log/10/stdout1433 2> log/10/stderr1433 === End of file commands.log === Start of file http_server.log 19:28:35.524300 ====> Client connect 19:28:35.524343 accept_connection 3 returned 4 19:28:35.524366 Read 93 bytes 19:28:35.524376 Process 93 bytes request 19:28:35.524390 Got request: GET /verifiedserver HTTP/1.1 19:28:35.524399 Are-we-friendly question received 19:28:35.524429 Wrote request (93 bytes) input to log/10/server.input 19:28:35.524445 Identifying ourselves as friends 19:28:35.524522 Response sent (56 bytes) and written to log/10/server.response 19:28:35.524533 special request received, no persistency 19:28:35.524542 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 57314 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1433 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1433 ==159317== ==159317== Process terminating with default action of signal 4 (SIGILL) ==159317== Illegal opcode at address 0x492B75F ==159317== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159317== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159317== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159317== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159317== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159317== by 0x49908EB: curl_version_info (version.c:600) ==159317== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159317== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159317== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159317== by 0x4003269: main (tool_main.c:195) === End of file valgrind1433 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1435 ../src/curl -q --output log/2/curl1435.out --include --trace-ascii log/2/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/2/server/http-uds http://server-interpreted.example.com/1435 > log/2/stdout1435 2> log/2/stderr1435 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1437 ../src/curl -q --output log/15/curl1437.out --include --trace-ascii log/15/trace1437 --trace-time http://127.0.0.1:40321/1437 -u testuser:testpass --digest > log/15/stdout1437 2> log/15/stderr1437 test 1442 [Check --write-out with trailing \] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1442 ../src/curl -q --include --trace-ascii log/4/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out='\' > log/4/stdout1442 2> log/4/stderr1442 1442: stdout FAILED: --- log/4/check-expected 2026-10-15 19:28:38.942662093 +0000 +++ log/4/check-generated 2026-10-15 19:28:38.938982773 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/4/ directory after test 1442 === Start of file check-expected \ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1442 ../src/curl -q --include --trace-ascii log/4/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/4/non-existent-file.txt --write-out='\' > log/4/stdout1442 2> log/4/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==159709== ==159709== Process terminating with default action of signal 4 (SIGILL) ==159709== Illegal opcode at address 0x492B75F ==159709== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159709== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159709== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159709== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159709== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159709== by 0x49908EB: curl_version_info (version.c:600) ==159709== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159709== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159709== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159709== by 0x4003269: main (tool_main.c:195) === End of file valgrind1442 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/2/server/http_unix_server.pid" --logfile "log/2/http_unix_server.log" --logdir "log/2" --portfile log/2/server/http_unix_server.port --config log/2/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/2/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 159327 port 8999 * pid http-unix => 159327 159327 test 1435 [simple HTTP GET over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1435 ../src/curl -q --output log/2/curl1435.out --include --trace-ascii log/2/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/2/server/http-uds http://server-interpreted.example.com/1435 > log/2/stdout1435 2> log/2/stderr1435 1435: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1435 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1435 ../src/curl -q --output log/2/curl1435.out --include --trace-ascii log/2/trace1435 --trace-time --unix-socket /startdir/src/build-curl/tests/log/2/server/http-uds http://server-interpreted.example.com/1435 > log/2/stdout1435 2> log/2/stderr1435 === End of file commands.log === Start of file http_unix_server.log 19:28:36.634062 Running HTTP unix version on /startdir/src/build-curl/tests/log/2/server/http-uds 19:28:36.634159 Wrote pid 159327 to log/2/server/http_unix_server.pid 19:28:36.634198 Wrote port 8999 to log/2/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1435 === End of file server.cmd === Start of file valgrind1435 ==159834== ==159834== Process terminating with default action of signal 4 (SIGILL) ==159834== Illegal opcode at address 0x492B75F ==159834== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159834== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159834== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159834== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159834== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159834== by 0x49908EB: curl_version_info (version.c:600) ==159834== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159834== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159834== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159834== by 0x4003269: main (tool_main.c:195) === End of file valgrind1435 test 1437 [HTTP with duplicated WWW-Authenticate parameters] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1437 ../src/curl -q --output log/15/curl1437.out --include --trace-ascii log/15/trace1437 --trace-time http://127.0.0.1:40321/1437 -u testuser:testpass --digest > log/15/stdout1437 2> log/15/stderr1437 1437: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1437 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1437 ../src/curl -q --output log/15/curl1437.out --include --trace-ascii log/15/trace1437 --trace-time http://127.0.0.1:40321/1437 -u testuser:testpass --digest > log/15/stdout1437 2> log/15/stderr1437 === End of file commands.log === Start of file http_server.log 19:28:36.928183 ====> Client connect 19:28:36.928219 accept_connection 3 returned 4 19:28:36.928239 Read 93 bytes 19:28:36.928249 Process 93 bytes request 19:28:36.928260 Got request: GET /verifiedserver HTTP/1.1 19:28:36.928269 Are-we-friendly question received 19:28:36.928293 Wrote request (93 bytes) input to log/15/server.input 19:28:36.928310 Identifying ourselves as friends 19:28:36.928365 Response sent (56 bytes) and written to log/15/server.response 19:28:36.928374 special request received, no persistency 19:28:36.928382 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1437 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1437 ==159479== ==159479== Process terminating with default action of signal 4 (SIGILL) ==159479== Illegal opcode at address 0x492B75F ==159479== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159479== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159479== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159479== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159479== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159479== by 0x49908EB: curl_version_info (version.c:600) ==159479== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159479== by 0x4003269: main (tool_main.c:195) === End of file valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1436 ../src/curl -q --include --trace-ascii log/16/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/16/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/16/stdout1436 2> log/16/stderr1436 ind1437 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1440 ../src/curl -q --include --trace-ascii log/7/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt --write-out '%{' > log/7/stdout1440 2> log/7/stderr1440 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/16/server/http_unix_server.pid" --logfile "log/16/http_unix_server.log" --logdir "log/16" --portfile log/16/server/http_unix_server.port --config log/16/server.cmd --unix-socket '/startdir/src/build-curl/tests/log/16/server/http-uds' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 159360 port 8999 * pid http-unix => 159360 159360 test 1436 [HTTP requests with multiple connections over Unix socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1436 ../src/curl -q --include --trace-ascii log/16/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/16/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/16/stdout1436 2> log/16/stderr1436 1436: stdout FAILED: --- log/16/check-expected 2026-10-15 19:28:39.188806321 +0000 +++ log/16/check-generated 2026-10-15 19:28:39.185655645 +0000 @@ -1,15 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] -Content-Length: 6[LF] -[LF] -First[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] -Content-Length: 7[LF] -[LF] -Second[LF] -HTTP/1.1 200 OK[LF] -Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] -Content-Length: 6[LF] -[LF] -Third[LF] == Contents of files in the log/16/ directory after test 1436 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:47 GMT[LF] Content-Length: 6[LF] [LF] First[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:48 GMT[LF] Content-Length: 7[LF] [LF] Second[LF] HTTP/1.1 200 OK[LF] Date: Mon, 17 Nov 2014 13:42:49 GMT[LF] Content-Length: 6[LF] [LF] Third[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1436 ../src/curl -q --include --trace-ascii log/16/trace1436 --trace-time --unix-socket /startdir/src/build-curl/tests/log/16/server/http-uds http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/16/stdout1436 2> log/16/stderr1436 === End of file commands.log === Start of file http_unix_server.log 19:28:36.728537 Running HTTP unix version on /startdir/src/build-curl/tests/log/16/server/http-uds 19:28:36.728624 Wrote pid 159360 to log/16/server/http_unix_server.pid 19:28:36.728658 Wrote port 8999 to log/16/server/http_unix_server.port === End of file http_unix_server.log === Start of file server.cmd Testnum 1436 === End of file server.cmd === Start of file valgrind1436 ==159869== ==159869== Process terminating with default action of signal 4 (SIGILL) ==159869== Illegal opcode at address 0x492B75F ==159869== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159869== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159869== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159869== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159869== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159869== by 0x49908EB: curl_version_info (version.c:600) ==159869== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159869== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159869== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159869== by 0x4003269: main (tool_main.c:195) === End of file valgrind1436 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1447 ../src/curl -q --output log/1/curl1447.out --include --trace-ascii log/1/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/1/stdout1447 2> log/1/stderr1447 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1443 ../src/curl -q --trace-ascii log/17/trace1443 --trace-time http://127.0.0.1:35993/1443 -O --remote-time --output-dir log/17 > log/17/stdout1443 2> log/17/stderr1443 CMD (256): /usr/bin/perl -e 'exit((stat("log/17/1443"))[9] != 960898200)' CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1445 ../src/curl -q --output log/20/curl1445.out --include --trace-ascii log/20/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test1445.dir/plainfile.txt --remote-time > log/20/stdout1445 2> log/20/stderr1445 Use of uninitialized value $mtime in numeric ne (!=) at /startdir/src/curl/tests/libtest/test613.pl line 103. CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/20/test1445.dir log/20/curl1445.out 946728000 test 1440 [Check --write-out with trailing %{] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1440 ../src/curl -q --include --trace-ascii log/7/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt --write-out '%{' > log/7/stdout1440 2> log/7/stderr1440 1440: stdout FAILED: --- log/7/check-expected 2026-10-15 19:28:39.306580607 +0000 +++ log/7/check-generated 2026-10-15 19:28:39.302325207 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/7/ directory after test 1440 === Start of file check-expected %{ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1440 ../src/curl -q --include --trace-ascii log/7/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/7/non-existent-file.txt --write-out '%{' > log/7/stdout1440 2> log/7/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==159630== ==159630== Process terminating with default action of signal 4 (SIGILL) ==159630== Illegal opcode at address 0x492B75F ==159630== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159630== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159630== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159630== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159630== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159630== by 0x49908EB: curl_version_info (version.c:600) ==159630== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159630== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159630== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159630== by 0x4003269: main (tool_main.c:195) === End of file valgrind1440 test 1447 [Provide illegal proxy name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1447 ../src/curl -q --output log/1/curl1447.out --include --trace-ascii log/1/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/1/stdout1447 2> log/1/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/1/ directory after test 1447 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1447 ../src/curl -q --output log/1/curl1447.out --include --trace-ascii log/1/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/1/stdout1447 2> log/1/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==159888== ==159888== Process terminating with default action of signal 4 (SIGILL) ==159888== Illegal opcode at address 0x492B75F ==159888== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159888== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159888== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159888== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159888== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159888== by 0x49908EB: curl_version_info (version.c:600) ==159888== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159888== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159888== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159888== by 0x4003269: main (tool_main.c:195) === End of file valgrind1447 test 1443 [HTTP GET with -O and --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1443 ../src/curl -q --trace-ascii log/17/trace1443 --trace-time http://127.0.0.1:35993/1443 -O --remote-time --output-dir log/17 > log/17/stdout1443 2> log/17/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/17/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/17/ directory after test 1443 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1443 ../src/curl -q --trace-ascii log/17/trace1443 --trace-time http://127.0.0.1:35993/1443 -O --remote-time --output-dir log/17 > log/17/stdout1443 2> log/17/stderr1443 === End of file commands.log === Start of file http_server.log 19:28:37.582353 ====> Client connect 19:28:37.582389 accept_connection 3 returned 4 19:28:37.582491 Read 93 bytes 19:28:37.582504 Process 93 bytes request 19:28:37.582518 Got request: GET /verifiedserver HTTP/1.1 19:28:37.582527 Are-we-friendly question received 19:28:37.582558 Wrote request (93 bytes) input to log/17/server.input 19:28:37.582575 Identifying ourselves as friends 19:28:37.582635 Response sent (56 bytes) and written to log/17/server.response 19:28:37.582644 special request received, no persistency 19:28:37.582653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 40048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1443 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1443 ==159824== ==159824== Process terminating with default action of signal 4 (SIGILL) ==159824== Illegal opcode at address 0x492B75F ==159824== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159824== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159824== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159824== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159824== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159824== by 0x49908EB: curl_version_info (version.c:600) ==159824== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159824== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159824== by 0x4003269: main (tool_main.c:195) === End of file valgrind1443 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/20/test1445.dir test 1445 [file:// with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1445 ../src/curl -q --output log/20/curl1445.out --include --trace-ascii log/20/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test1445.dir/plainfile.txt --remote-time > log/20/stdout1445 2> log/20/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/20/test1445.dir log/20/curl1445.out 946728000 1445: postcheck FAILED == Contents of files in the log/20/ directory after test 1445 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1445 ../src/curl -q --output log/20/curl1445.out --include --tCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1444 ../src/curl -q --output log/8/curl1444.out --include --trace-ascii log/8/trace1444 --trace-time ftp://127.0.0.1:41879/1444 --remote-time > log/8/stdout1444 2> log/8/stderr1444 CMD (256): /usr/bin/perl -e 'exit((stat("log/8/curl1444.out"))[9] != 1234567890)' race-ascii log/20/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/20/test1445.dir/plainfile.txt --remote-time > log/20/stdout1445 2> log/20/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==159903== ==159903== Process terminating with default action of signal 4 (SIGILL) ==159903== Illegal opcode at address 0x492B75F ==159903== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159903== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159903== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159903== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159903== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159903== by 0x49908EB: curl_version_info (version.c:600) ==159903== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159903== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159903== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159903== by 0x4003269: main (tool_main.c:195) === End of file valgrind1445 test 1444 [FTP with --remote-time] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1444 ../src/curl -q --output log/8/curl1444.out --include --trace-ascii log/8/trace1444 --trace-time ftp://127.0.0.1:41879/1444 --remote-time > log/8/stdout1444 2> log/8/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/8/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/8/ directory after test 1444 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1444 ../src/curl -q --output log/8/curl1444.out --include --trace-ascii log/8/trace1444 --trace-time ftp://127.0.0.1:41879/1444 --remote-time > log/8/stdout1444 2> log/8/stderr1444 === End of file commands.log === Start of file ftp_server.log 19:28:37.005469 ====> Client connect 19:28:37.005680 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:37.005979 < "USER anonymous" 19:28:37.006015 > "331 We are happy you popped in![CR][LF]" 19:28:37.006184 < "PASS ftp@example.com" 19:28:37.006213 > "230 Welcome you silly person[CR][LF]" 19:28:37.006368 < "PWD" 19:28:37.006400 > "257 "/" is current directory[CR][LF]" 19:28:37.006566 < "EPSV" 19:28:37.006593 ====> Passive DATA channel requested by client 19:28:37.006607 DATA sockfilt for passive data channel starting... 19:28:37.022046 DATA sockfilt for passive data channel started (pid 159825) 19:28:37.024057 DATA sockfilt for passive data channel listens on port 40705 19:28:37.024124 > "229 Entering Passive Mode (|||40705|)[CR][LF]" 19:28:37.024150 Client has been notified that upcoming DATA connection is awaited on port 40705 19:28:37.025679 Client connects to port 40705 19:28:37.025742 ====> Client established passive DATA connection on port 40705 19:28:37.025907 < "TYPE I" 19:28:37.025951 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:37.026129 < "SIZE verifiedserver" 19:28:37.026171 > "213 17[CR][LF]" 19:28:37.026328 < "RETR verifiedserver" 19:28:37.026366 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:37.026463 =====> Closing passive DATA connection... 19:28:37.026481 Server disconnects passive DATA connection 19:28:37.026607 Server disconnected passive DATA connection 19:28:37.026629 DATA sockfilt for passive data channel quits (pid 159825) 19:28:37.026949 DATA sockfilt for passive data channel quit (pid 159825) 19:28:37.026974 =====> Closed passive DATA connection 19:28:37.027003 > "226 File transfer complete[CR][LF]" 19:28:37.072300 < "QUIT" 19:28:37.072358 > "221 bye bye baby[CR][LF]" 19:28:37.073655 MAIN sockfilt said DISC 19:28:37.073698 ====> Client disconnected 19:28:37.073791 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:36.607918 ====> Client connect 19:28:36.608280 Received DATA (on stdin) 19:28:36.608294 > 146 bytes data, server => client 19:28:36.608306 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:36.608316 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:36.608325 '220 \___|\___/|_| \_\_____|\r\n' 19:28:36.608418 < 16 bytes data, client => server 19:28:36.608430 'USER anonymous\r\n' 19:28:36.608605 Received DATA (on stdin) 19:28:36.608617 > 33 bytes data, server => client 19:28:36.608627 '331 We are happy you popped in!\r\n' 19:28:36.608681 < 22 bytes data, client => server 19:28:36.608692 'PASS ftp@example.com\r\n' 19:28:36.608799 Received DATA (on stdin) 19:28:36.608810 > 30 bytes data, server => client 19:28:36.608820 '230 Welcome you silly person\r\n' 19:28:36.608870 < 5 bytes data, client => server 19:28:36.608881 'PWD\r\n' 19:28:36.608986 Received DATA (on stdin) 19:28:36.608997 > 30 bytes data, server => client 19:28:36.609008 '257 "/" is current directory\r\n' 19:28:36.609071 < 6 bytes data, client => server 19:28:36.609081 'EPSV\r\n' 19:28:36.627921 Received DATA (on stdin) 19:28:36.627959 > 39 bytes data, server => client 19:28:36.627971 '229 Entering Passive Mode (|||40705|)\r\n' 19:28:36.628360 < 8 bytes data, client => server 19:28:36.628374 'TYPE I\r\n' 19:28:36.628540 Received DATA (on stdin) 19:28:36.628551 > 33 bytes data, server => client 19:28:36.628562 '200 I modify TYPE as you wanted\r\n' 19:28:36.628624 < 21 bytes data, client => server 19:28:36.628634 'SIZE verifiedserver\r\n' 19:28:36.628757 Received DATA (on stdin) 19:28:36.628768 > 8 bytes data, server => client 19:28:36.628778 '213 17\r\n' 19:28:36.628831 < 21 bytes data, client => server 19:28:36.628841 'RETR verifiedserver\r\n' 19:28:36.629592 Received DATA (on stdin) 19:28:36.629605 > 29 bytes data, server => client 19:28:36.629615 '150 Binary junk (17 bytes).\r\n' 19:28:36.629638 Received DATA (on stdin) 19:28:36.629647 > 28 bytes data, server => client 19:28:36.629657 '226 File transfer complete\r\n' 19:28:36.674697 < 6 bytes data, client => server 19:28:36.674729 'QUIT\r\n' 19:28:36.674968 Received DATA (on stdin) 19:28:36.674981 > 18 bytes data, server => client 19:28:36.674991 '221 bye bye baby\r\n' 19:28:36.676180 ====> Client disconnect 19:28:36.676378 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:37.615476 Running IPv4 version 19:28:37.615567 Listening on port 40705 19:28:37.618398 Wrote pid 159825 to log/8/server/ftp_sockdata.pid 19:28:37.618427 Received PING (on stdin) 19:28:37.626509 Received PORT (on stdin) 19:28:37.628194 ====> Client connect 19:28:37.629073 Received DATA (on stdin) 19:28:37.629089 > 17 bytes data, server => client 19:28:37.629099 'WE ROOLZ: 84824\r\n' 19:28:37.629129 Received DISC (on stdin) 19:28:37.629141 ====> Client forcibly disconnected 19:28:37.629225 Received QUIT (on stdin) 19:28:37.629235 quits 19:28:37.629311 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==159879== ==159879== Process terminating with default action of signal 4 (SIGILL) ==159879== Illegal opcode at address 0x492B75F ==159879== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==159879== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==159879== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==159879== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==159879== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==159879== by 0x49908EB: curl_version_info (version.c:600) ==159879== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==159879== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==159879== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==159879== by 0x4003269: main (tool_main.c:195) === End of file valgriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:38821/1448 --resolve xn--4cab6c.se:38821:127.0.0.1 -L --connect-to 127.0.0.1:38821:127.0.0.1:38821 > log/13/stdout1448 2> log/13/stderr1448 nd1444 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1453 ../src/curl -q --output log/21/curl1453.out --include --trace-ascii log/21/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/21/stdout1453 2> log/21/stderr1453 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/13/stdout1477 2> log/13/stderr1477 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/21/stdout1478 2> log/21/stderr1478 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1449 ../src/curl -q --output log/3/curl1449.out --include --trace-ascii log/3/trace1449 --trace-time ftp://127.0.0.1:42249/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 setenv LC_ALL = C.UTF-8 test 1448 [Redirect following to UTF-8 IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:38821/1448 --resolve xn--4cab6c.se:38821:127.0.0.1 -L --connect-to 127.0.0.1:38821:127.0.0.1:38821 > log/13/stdout1448 2> log/13/stderr1448 1448: stdout FAILED: --- log/13/check-expected 2026-10-15 19:28:39.933390291 +0000 +++ log/13/check-generated 2026-10-15 19:28:39.929007441 +0000 @@ -1,12 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: http://%c3%a5%c3%a4%c3%b6.se:38821/14480001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] == Contents of files in the log/13/ directory after test 1448 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: http://%c3%a5%c3%a4%c3%b6.se:38821/14480001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1448 ../src/curl -q --include --trace-ascii log/13/trace1448 --trace-time http://åäö.se:38821/1448 --resolve xn--4cab6c.se:38821:127.0.0.1 -L --connect-to 127.0.0.1:38821:127.0.0.1:38821 > log/13/stdout1448 2> log/13/stderr1448 === End of file commands.log === Start of file http_server.log 19:28:36.877999 ====> Client connect 19:28:36.878044 accept_connection 3 returned 4 19:28:36.878069 Read 93 bytes 19:28:36.878079 Process 93 bytes request 19:28:36.878092 Got request: GET /verifiedserver HTTP/1.1 19:28:36.878100 Are-we-friendly question received 19:28:36.878126 Wrote request (93 bytes) input to log/13/server.input 19:28:36.878142 Identifying ourselves as friends 19:28:36.878230 Response sent (56 bytes) and written to log/13/server.response 19:28:36.878239 special request received, no persistency 19:28:36.878247 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 39562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1448 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1448 ==160148== ==160148== Process terminating with default action of signal 4 (SIGILL) ==160148== Illegal opcode at address 0x492B75F ==160148== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160148== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160148== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160148== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160148== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160148== by 0x49908EB: curl_version_info (version.c:600) ==160148== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160148== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160148== by 0x4003269: main (tool_main.c:195) === End of file valgrind1448 test 1453 [Too long tftp filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1453 ../src/curl -q --output log/21/curl1453.out --include --trace-ascii log/21/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/21/stdout1453 2> log/21/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/21/ directory after test 1453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1453 ../src/curl -q --output log/21/curl1453.out --include --trace-ascii log/21/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/21/stdout1453 2> log/21/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==160270== ==160270== Process terminating with default action of signal 4 (SIGILL) ==160270== Illegal opcode at address 0x492B75F ==160270== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160270== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160270== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160270== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160270== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160270== by 0x49908EB: curl_version_info (version.c:600) ==160270== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160270== by 0x4003269: main (tool_main.c:195) === End of file valgrind1453 test 1477 [Verify that error codes in headers and libcurl-errors.3 are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1477.pl /startdir/src/curl/tests/.. /startdir/src/build-curl/tests/.. > log/13/stdout1477 2> log/13/stderr1477 valgrind SKIPPED s------e--- OK (1362 out of 1890, remaining: 01:03, took 0.039s, duration: 02:43) test 1478 [src/tool_listhelp.c is in sync with docs/cmdline-opts] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d /startdir/src/curl/tests/../docs/cmdline-opts -I /startdir/src/curl/tests/../include listhelp /startdir/src/curl/tests/../docs/cmdline-opts/*.md > log/21/stdout1478 2> log/21/stderr1478 valgrind SKIPPED s------e--- OK (1363 out of 1890, remaining: 01:03, took 0.167s, duration: 02:43) test 1449 [FTP download range with integer overflow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1449 ../src/curl -q --output log/3/curl1449.out --include --trace-ascii log/3/trace1449 --trace-time ftp://127.0.0.1:42249/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 1449: protocol FACMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:38895/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 ILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1449 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1449 ../src/curl -q --output log/3/curl1449.out --include --trace-ascii log/3/trace1449 --trace-time ftp://127.0.0.1:42249/1449 -r 36893488147419103232- > log/3/stdout1449 2> log/3/stderr1449 === End of file commands.log === Start of file ftp_server.log 19:28:37.377318 ====> Client connect 19:28:37.377522 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:37.377784 < "USER anonymous" 19:28:37.377817 > "331 We are happy you popped in![CR][LF]" 19:28:37.377977 < "PASS ftp@example.com" 19:28:37.378001 > "230 Welcome you silly person[CR][LF]" 19:28:37.378146 < "PWD" 19:28:37.378178 > "257 "/" is current directory[CR][LF]" 19:28:37.378320 < "EPSV" 19:28:37.378343 ====> Passive DATA channel requested by client 19:28:37.378357 DATA sockfilt for passive data channel starting... 19:28:37.392016 DATA sockfilt for passive data channel started (pid 160176) 19:28:37.392205 DATA sockfilt for passive data channel listens on port 34127 19:28:37.392262 > "229 Entering Passive Mode (|||34127|)[CR][LF]" 19:28:37.392289 Client has been notified that upcoming DATA connection is awaited on port 34127 19:28:37.395370 Client connects to port 34127 19:28:37.395407 ====> Client established passive DATA connection on port 34127 19:28:37.395513 < "TYPE I" 19:28:37.395555 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:37.402074 < "SIZE verifiedserver" 19:28:37.402123 > "213 17[CR][LF]" 19:28:37.402293 < "RETR verifiedserver" 19:28:37.402328 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:37.402426 =====> Closing passive DATA connection... 19:28:37.402444 Server disconnects passive DATA connection 19:28:37.405465 Server disconnected passive DATA connection 19:28:37.405498 DATA sockfilt for passive data channel quits (pid 160176) 19:28:37.405812 DATA sockfilt for passive data channel quit (pid 160176) 19:28:37.405840 =====> Closed passive DATA connection 19:28:37.405874 > "226 File transfer complete[CR][LF]" 19:28:37.449039 < "QUIT" 19:28:37.449093 > "221 bye bye baby[CR][LF]" 19:28:37.450296 MAIN sockfilt said DISC 19:28:37.450335 ====> Client disconnected 19:28:37.450419 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:37.979765 ====> Client connect 19:28:37.980109 Received DATA (on stdin) 19:28:37.980123 > 146 bytes data, server => client 19:28:37.980134 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:37.980145 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:37.980154 '220 \___|\___/|_| \_\_____|\r\n' 19:28:37.980225 < 16 bytes data, client => server 19:28:37.980236 'USER anonymous\r\n' 19:28:37.980397 Received DATA (on stdin) 19:28:37.980408 > 33 bytes data, server => client 19:28:37.980418 '331 We are happy you popped in!\r\n' 19:28:37.980469 < 22 bytes data, client => server 19:28:37.980479 'PASS ftp@example.com\r\n' 19:28:37.980576 Received DATA (on stdin) 19:28:37.980586 > 30 bytes data, server => client 19:28:37.980595 '230 Welcome you silly person\r\n' 19:28:37.980644 < 5 bytes data, client => server 19:28:37.980654 'PWD\r\n' 19:28:37.980752 Received DATA (on stdin) 19:28:37.980762 > 30 bytes data, server => client 19:28:37.980772 '257 "/" is current directory\r\n' 19:28:37.980820 < 6 bytes data, client => server 19:28:37.980829 'EPSV\r\n' 19:28:37.995800 Received DATA (on stdin) 19:28:37.995823 > 39 bytes data, server => client 19:28:37.995834 '229 Entering Passive Mode (|||34127|)\r\n' 19:28:37.996104 < 8 bytes data, client => server 19:28:37.996119 'TYPE I\r\n' 19:28:37.998740 Received DATA (on stdin) 19:28:37.998757 > 33 bytes data, server => client 19:28:37.998768 '200 I modify TYPE as you wanted\r\n' 19:28:37.998826 < 21 bytes data, client => server 19:28:37.998836 'SIZE verifiedserver\r\n' 19:28:38.004701 Received DATA (on stdin) 19:28:38.004714 > 8 bytes data, server => client 19:28:38.004724 '213 17\r\n' 19:28:38.004785 < 21 bytes data, client => server 19:28:38.004795 'RETR verifiedserver\r\n' 19:28:38.005023 Received DATA (on stdin) 19:28:38.005034 > 29 bytes data, server => client 19:28:38.005044 '150 Binary junk (17 bytes).\r\n' 19:28:38.008430 Received DATA (on stdin) 19:28:38.008444 > 28 bytes data, server => client 19:28:38.008453 '226 File transfer complete\r\n' 19:28:38.051429 < 6 bytes data, client => server 19:28:38.051464 'QUIT\r\n' 19:28:38.051671 Received DATA (on stdin) 19:28:38.051682 > 18 bytes data, server => client 19:28:38.051692 '221 bye bye baby\r\n' 19:28:38.052809 ====> Client disconnect 19:28:38.052993 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:37.989251 Running IPv4 version 19:28:37.989364 Listening on port 34127 19:28:37.989416 Wrote pid 160176 to log/3/server/ftp_sockdata.pid 19:28:37.989444 Received PING (on stdin) 19:28:37.994665 Received PORT (on stdin) 19:28:37.997890 ====> Client connect 19:28:38.007888 Received DATA (on stdin) 19:28:38.007910 > 17 bytes data, server => client 19:28:38.007922 'WE ROOLZ: 84710\r\n' 19:28:38.007965 Received DISC (on stdin) 19:28:38.007983 ====> Client forcibly disconnected 19:28:38.008089 Received QUIT (on stdin) 19:28:38.008102 quits 19:28:38.008188 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==160199== ==160199== Process terminating with default action of signal 4 (SIGILL) ==160199== Illegal opcode at address 0x492B75F ==160199== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160199== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160199== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160199== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160199== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160199== by 0x49908EB: curl_version_info (version.c:600) ==160199== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160199== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160199== by 0x4003269: main (tool_main.c:195) === End of file valgrind1449 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1458 ../src/curl -q --output log/19/curl1458.out --include --trace-ascii log/19/trace1458 --trace-time --resolve *:37077:127.0.0.1 http://example.com:37077/1458 > log/19/stdout1458 2> log/19/stderr1458 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:43733/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 test 1457 [Check if %{stderr} and %{stdout} switch between stdout and stderr.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:38895/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 1457: stdout FAILED: --- log/24/check-expected 2026-10-15 19:28:40.385962162 +0000 +++ log/24/check-generated 2026-10-15 19:28:40.382351592 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -line1line3 == Contents of files in the log/24/ directory after test 1457 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] line1line3 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1457 ../src/curl -q --include --trace-ascii log/24/trace1457 --trace-time http://127.0.0.1:38895/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/24/stdout1457 2> log/24/stderr1457 === End of file commands.log === Start of file http_server.log 19:28:37.745011 ====> Client connect 19:28:37.745051 accept_connection 3 returned 4 19:28:37.745075 Read 93 bytes 19:28:37.745084 Process 93 bytes request 19:28:37.745097 Got request: GET /verifiedserver HTTP/1.1 19:28:37.745105 Are-we-friendly question received 19:28:37.745131 Wrote request (93 bytes) input to log/24/server.input 19:28:37.745148 Identifying ourselves as friends 19:28:37.745207 Response sent (56 bytes) and written to log/24/server.response 19:28:37.745216 special request received, no persistency 19:28:37.745224 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1457 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1457 ==160394== ==160394== Process terminating with default action of signal 4 (SIGILL) ==160394== Illegal opcode at address 0x492B75F ==160394== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160394== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160394== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160394== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160394== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160394== by 0x49908EB: curl_version_info (version.c:600) ==160394== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160394== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160394== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160394== by 0x4003269: main (tool_main.c:195) === End of file valgrind1457 test 1458 [HTTP with wildcard --resolve] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1458 ../src/curl -q --output log/19/curl1458.out --include --trace-ascii log/19/trace1458 --trace-time --resolve *:37077:127.0.0.1 http://example.com:37077/1458 > log/19/stdout1458 2> log/19/stderr1458 1458: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1458 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1458 ../src/curl -q --output log/19/curl1458.out --include --trace-ascii log/19/trace1458 --trace-time --resolve *:37077:127.0.0.1 http://example.com:37077/1458 > log/19/stdout1458 2> log/19/stderr1458 === End of file commands.log === Start of file http_server.log 19:28:37.933091 ====> Client connect 19:28:37.933133 accept_connection 3 returned 4 19:28:37.933248 Read 93 bytes 19:28:37.933263 Process 93 bytes request 19:28:37.933276 Got request: GET /verifiedserver HTTP/1.1 19:28:37.933285 Are-we-friendly question received 19:28:37.933319 Wrote request (93 bytes) input to log/19/server.input 19:28:37.933337 Identifying ourselves as friends 19:28:37.933403 Response sent (57 bytes) and written to log/19/server.response 19:28:37.933415 special request received, no persistency 19:28:37.933424 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 39006 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1458 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1458 ==160508== ==160508== Process terminating with default action of signal 4 (SIGILL) ==160508== Illegal opcode at address 0x492B75F ==160508== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160508== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160508== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160508== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160508== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160508== by 0x49908EB: curl_version_info (version.c:600) ==160508== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160508== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160508== by 0x4003269: main (tool_main.c:195) === End of file valgrind1458 test 1455 [HTTP GET when PROXY Protocol enabled] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:43733/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 1455: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1455 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:43733/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 === End of file commands.log === Start of file http_server.log 19:28:37.667927 ====> Client connect 19:28:37.667967 accept_connection 3 returned 4 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1463 ../src/curl -q --include --trace-ascii log/18/trace1463 --trace-time --help file > log/18/stdout1463 2> log/18/stderr1463 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1462 ../src/curl -q --include --trace-ascii log/6/trace1462 --trace-time --help sdfafdsfadsfsd > log/6/stdout1462 2> log/6/stderr1462 19:28:37.667991 Read 93 bytes 19:28:37.668000 Process 93 bytes request 19:28:37.668016 Got request: GET /verifiedserver HTTP/1.1 19:28:37.668027 Are-we-friendly question received 19:28:37.668056 Wrote request (93 bytes) input to log/9/server.input 19:28:37.668074 Identifying ourselves as friends 19:28:37.668147 Response sent (56 bytes) and written to log/9/server.response 19:28:37.668159 special request received, no persistency 19:28:37.668168 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1455 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1455 ==160360== ==160360== Process terminating with default action of signal 4 (SIGILL) ==160360== Illegal opcode at address 0x492B75F ==160360== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160360== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160360== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160360== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160360== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160360== by 0x49908EB: curl_version_info (version.c:600) ==160360== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160360== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160360== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160360== by 0x4003269: main (tool_main.c:195) === End of file valgrind1455 test 1462 [curl invalid category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1462 ../src/curl -q --include --trace-ascii log/6/trace1462 --trace-time --help sdfafdsfadsfsd > log/6/stdout1462 2> log/6/stderr1462 1462: stdout FAILED: --- log/6/check-expected 2026-10-15 19:28:40.863744927 +0000 +++ log/6/check-generated 2026-10-15 19:28:40.859029539 +0000 @@ -1,28 +0,0 @@ -Unknown category provided, here is a list of all categories:[CR][LF] -[CR][LF] - auth Authentication methods[CR][LF] - connection Manage connections[CR][LF] - curl The command line tool itself[CR][LF] - deprecated Legacy[CR][LF] - dns Names and resolving[CR][LF] - file FILE protocol[CR][LF] - ftp FTP protocol[CR][LF] - global Global options[CR][LF] - http HTTP and HTTPS protocol[CR][LF] - imap IMAP protocol[CR][LF] - ldap LDAP protocol[CR][LF] - mqtt MQTT protocol[CR][LF] - output File system output[CR][LF] - pop3 POP3 protocol[CR][LF] - post HTTP POST specific[CR][LF] - proxy Options for proxies[CR][LF] - scp SCP protocol[CR][LF] - sftp SFTP protocol[CR][LF] - smtp SMTP protocol[CR][LF] - ssh SSH protocol[CR][LF] - telnet TELNET protocol[CR][LF] - tftp TFTP protocol[CR][LF] - timeout Timeouts and delays[CR][LF] - tls TLS/SSL related[CR][LF] - upload Upload, sending data[CR][LF] - verbose Tracing, logging etc[CR][LF] == Contents of files in the log/6/ directory after test 1462 === Start of file check-expected Unknown category provided, here is a list of all categories:[CR][LF] [CR][LF] auth Authentication methods[CR][LF] connection Manage connections[CR][LF] curl The command line tool itself[CR][LF] deprecated Legacy[CR][LF] dns Names and resolving[CR][LF] file FILE protocol[CR][LF] ftp FTP protocol[CR][LF] global Global options[CR][LF] http HTTP and HTTPS protocol[CR][LF] imap IMAP protocol[CR][LF] ldap LDAP protocol[CR][LF] mqtt MQTT protocol[CR][LF] output File system output[CR][LF] pop3 POP3 protocol[CR][LF] post HTTP POST specific[CR][LF] proxy Options for proxies[CR][LF] scp SCP protocol[CR][LF] sftp SFTP protocol[CR][LF] smtp SMTP protocol[CR][LF] ssh SSH protocol[CR][LF] telnet TELNET protocol[CR][LF] tftp TFTP protocol[CR][LF] timeout Timeouts and delays[CR][LF] tls TLS/SSL related[CR][LF] upload Upload, sending data[CR][LF] verbose Tracing, logging etc[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1462 ../src/curl -q --include --trace-ascii log/6/trace1462 --trace-time --help sdfafdsfadsfsd > log/6/stdout1462 2> log/6/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==160659== ==160659== Process terminating with default action of signal 4 (SIGILL) ==160659== Illegal opcode at address 0x492B75F ==160659== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160659== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160659== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160659== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160659== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160659== by 0x49908EB: curl_version_info (version.c:600) ==160659== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160659== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160659== by 0x4003269: main (tool_main.c:195) === End of file valgrind1462 test 1464 [curl file category --help with lower/upper mix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 1464: stdout FAILED: --- log/11/check-expected 2026-10-15 19:28:40.890196363 +0000 +++ log/11/check-generated 2026-10-15 19:28:40.885696837 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/11/ directory after test 1464 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1464 ../src/curl -q --include --trace-ascii log/11/trace1464 --trace-time --help fIlE > log/11/stdout1464 2> log/11/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==160799== ==160799== Process terminating with default action of signal 4 (SIGILL) ==160799== Illegal opcode at address 0x492B75F ==160799== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160799== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160799== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160799== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160799== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160799== by 0x49908EB: curl_version_info (version.c:600) ==160799== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160799== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160799== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160799== by 0x4003269: main (tool_main.c:195) === End of file valgrind1464 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1450 ../src/curl -q --output log/23/curl1450.out --include --trace-ascii log/23/trace1450 --trace-time dict://127.0.0.1:35221/d:basic > log/23/stdout1450 2> log/23/stderr1450 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/11/stdout1486 2> log/11/stderr1486 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/6/stdout1488 2> log/6/stderr1488 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1452 ../src/curl -q --include --trace-ascii log/12/trace1452 --trace-time telnet://127.0.0.1:39529 --upload-file - log/12/stdout1452 2> log/12/stderr1452 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1456 ../src/curl -q --output log/5/curl1456.out --include --trace-ascii log/5/trace1456 --trace-time -g "http://[::1]:34433/1456" --haproxy-protocol > log/5/stdout1456 2> log/5/stderr1456 test 1463 [curl file category --help] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1463 ../src/curl -q --include --trace-ascii log/18/trace1463 --trace-time --help file > log/18/stdout1463 2> log/18/stderr1463 1463: stdout FAILED: --- log/18/check-expected 2026-10-15 19:28:40.903707790 +0000 +++ log/18/check-generated 2026-10-15 19:28:40.899030486 +0000 @@ -1,5 +0,0 @@ -file: FILE protocol[CR][LF] - --create-file-mode File mode for created files[CR][LF] - -I, --head Show document info only[CR][LF] - -l, --list-only List only mode[CR][LF] - -r, --range Retrieve only the bytes within RANGE[CR][LF] == Contents of files in the log/18/ directory after test 1463 === Start of file check-expected file: FILE protocol[CR][LF] --create-file-mode File mode for created files[CR][LF] -I, --head Show document info only[CR][LF] -l, --list-only List only mode[CR][LF] -r, --range Retrieve only the bytes within RANGE[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1463 ../src/curl -q --include --trace-ascii log/18/trace1463 --trace-time --help file > log/18/stdout1463 2> log/18/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==160741== ==160741== Process terminating with default action of signal 4 (SIGILL) ==160741== Illegal opcode at address 0x492B75F ==160741== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160741== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160741== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160741== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160741== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160741== by 0x49908EB: curl_version_info (version.c:600) ==160741== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160741== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160741== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160741== by 0x4003269: main (tool_main.c:195) === End of file valgrind1463 startnew: /startdir/src/curl/tests/dictserver.py --port 35221 --pidfile "log/23/server/dict_server.pid" --logfile "log/23/dict_server.log" --srcdir "/startdir/src/curl/tests" --host 127.0.0.1 RUN: DICT server PID 160156 port 35221 * pid DICT => 160156 160156 test 1450 [Basic DICT lookup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1450 ../src/curl -q --output log/23/curl1450.out --include --trace-ascii log/23/trace1450 --trace-time dict://127.0.0.1:35221/d:basic > log/23/stdout1450 2> log/23/stderr1450 curl returned 132, when expecting 0 1450: exit FAILED == Contents of files in the log/23/ directory after test 1450 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1450 ../src/curl -q --output log/23/curl1450.out --include --trace-ascii log/23/trace1450 --trace-time dict://127.0.0.1:35221/d:basic > log/23/stdout1450 2> log/23/stderr1450 === End of file commands.log === Start of file dict_server.log 2026-10-15 19:28:37,690 INFO [DICT] Listening on ('127.0.0.1', 35221) === End of file dict_server.log === Start of file server.cmd Testnum 1450 === End of file server.cmd === Start of file valgrind1450 ==160507== ==160507== Process terminating with default action of signal 4 (SIGILL) ==160507== Illegal opcode at address 0x492B75F ==160507== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160507== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160507== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160507== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160507== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160507== by 0x49908EB: curl_version_info (version.c:600) ==160507== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160507== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160507== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160507== by 0x4003269: main (tool_main.c:195) === End of file valgrind1450 test 1486 [Verify that write-out.md and tool_writeout.c are in sync] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/11/stdout1486 2> log/11/stderr1486 valgrind SKIPPED s------e--- OK (1371 out of 1890, remaining: 01:02, took 0.028s, duration: 02:44) test 1488 [symbols-in-versions and man pages agree on added-in versions] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1488.pl /startdir/src/curl/tests/.. ../include/curl /startdir/src/curl/tests/../docs/VERSIONS.md > log/6/stdout1488 2> log/6/stderr1488 valgrind SKIPPED s------e--- OK (1373 out of 1890, remaining: 01:01, took 0.083s, duration: 02:44) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/5/server/http_ipv6_server.pid" --logfile "log/5/http_ipv6_server.log" --logdir "log/5" --portfile log/5/server/http_ipv6_server.port --config log/5/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 160335 port 34433 * pid http-ipv6 => 160335 160335 test 1456 [HTTP-IPv6 GET with PROXY protocol] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1456 ../src/curl -q --output log/5/curl1456.out --include --trace-ascii log/5/trace1456 --trace-time -g "http://[::1]:34433/1456" --haproxy-protocol > log/5/stdout1456 2> log/5/stderr1456 1456: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1456 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1456 ../src/curl -q --output log/5/curl1456.out --include --trace-ascii log/5/trace1456 --trace-time -g "http://[::1]:34433/1456" --haproxy-protocol > log/5/stdout1456 2> log/5/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 19:28:38.640097 Running HTTP IPv6 version on port 34433 19:28:38.640234 Wrote pid 160335 to log/5/server/http_ipv6_server.pid 19:28:38.640273 Wrote port 34433 to log/5/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1456 === End of file server.cmd === Start of file valgrind1456 ==160950== ==160950== Process terminating with default action of signal 4 (SIGILL) ==160950== Illegal opcode at address 0x492B75F ==160950== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160950== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160950== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160950== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160950== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160950== by 0x49908EB: curl_version_info (version.c:600) ==160950== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160950== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160950== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160950== by 0x4003269: main (tool_main.c:195) === End of file valgrind1456 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:40913/1466 > log/10/stdout1466 2> log/10/stderr1466 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1460 ../src/curl -q --trace-ascii log/22/trace1460 --trace-time http://127.0.0.1:35989/1460 -Ji -O --output-dir log/22 > log/22/stdout1460 2> log/22/stderr1460 startnew: /startdir/src/curl/tests/negtelnetserver.py --port 39529 --pidfile "log/12/server/telnet_server.pid" --logfile "log/12/telnet_server.log" --srcdir "/startdir/src/curl/tests" RUN: TELNET server PID 160188 port 39529 * pid neg TELNET => 160188 160188 test 1452 [Basic TELNET negotiation] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1452 ../src/curl -q --include --trace-ascii log/12/trace1452 --trace-time telnet://127.0.0.1:39529 --upload-file - log/12/stdout1452 2> log/12/stderr1452 1452: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:41.060052461 +0000 +++ log/12/check-generated 2026-10-15 19:28:41.059390975 +0000 @@ -1 +0,0 @@ -test1452 == Contents of files in the log/12/ directory after test 1452 === Start of file check-expected test1452 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1452 ../src/curl -q --include --trace-ascii log/12/trace1452 --trace-time telnet://127.0.0.1:39529 --upload-file - log/12/stdout1452 2> log/12/stderr1452 === End of file commands.log === Start of file server.cmd Testnum 1452 === End of file server.cmd === Start of file stdin-for-1452 test1452 === End of file stdin-for-1452 === Start of file telnet_server.log 2026-10-15 19:28:37,693 INFO [NTEL] Listening on ('localhost', 39529) === End of file telnet_server.log === Start of file valgrind1452 ==160598== ==160598== Process terminating with default action of signal 4 (SIGILL) ==160598== Illegal opcode at address 0x492B75F ==160598== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160598== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160598== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160598== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160598== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160598== by 0x49908EB: curl_version_info (version.c:600) ==160598== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160598== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160598== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160598== by 0x4003269: main (tool_main.c:195) === End of file valgrind1452 test 1466 [HTTP GET with 3-digit response and only digits in reason] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:40913/1466 > log/10/stdout1466 2> log/10/stderr1466 1466: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1466 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1466 ../src/curl -q --output log/10/curl1466.out --include --trace-ascii log/10/trace1466 --trace-time http://127.0.0.1:40913/1466 > log/10/stdout1466 2> log/10/stderr1466 === End of file commands.log === Start of file http_server.log 19:28:38.524598 ====> Client connect 19:28:38.524654 accept_connection 3 returned 4 19:28:38.524685 Read 93 bytes 19:28:38.524701 Process 93 bytes request 19:28:38.524718 Got request: GET /verifiedserver HTTP/1.1 19:28:38.524727 Are-we-friendly question received 19:28:38.524764 Wrote request (93 bytes) input to log/10/server.input 19:28:38.524783 Identifying ourselves as friends 19:28:38.524879 Response sent (56 bytes) and written to log/10/server.response 19:28:38.524890 special request received, no persistency 19:28:38.524898 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 57322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1466 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1466 ==160887== ==160887== Process terminating with default action of signal 4 (SIGILL) ==160887== Illegal opcode at address 0x492B75F ==160887== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160887== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160887== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160887== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160887== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160887== by 0x49908EB: curl_version_info (version.c:600) ==160887== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160887== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160887== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160887== by 0x4003269: main (tool_main.c:195) === End of file valgrind1466 test 1460 [HTTP GET with -Ji and Content-Disposition with existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1460 ../src/curl -q --trace-ascii log/22/trace1460 --trace-time http://127.0.0.1:35989/1460 -Ji -O --output-dir log/22 > log/22/stdout1460 2> log/22/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/22/ directory after test 1460 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1460 ../src/curl -q --trace-ascii log/22/trace1460 --trace-time http://127.0.0.1:35989/1460 -Ji -O --output-dir log/22 > log/22/stdout1460 2> log/22/stderr1460 === End of file commands.log === Start of file http_server.log 19:28:37.983897 ====> Client connect 19:28:37.983933 accept_connection 3 returned 4 19:28:37.983955 Read 93 bytes 19:28:37.983964 Process 93 bytes request 19:28:37.983977 Got request: GET /verifiedserver HTTP/1.1 19:28:37.983986 Are-we-friendly question received 19:28:37.984012 Wrote request (93 bytes) input to log/22/server.input 19:28:37.984028 Identifying ourselves as friends 19:28:37.984087 Response sent (56 bytes) and written to log/22/server.response 19:28:37.984097 special request received, no persistency 19:28:37.984106 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 39526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file name1460 initial content === End of file name1460 === Start of file server.cmd Testnum 1460 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1460 ==160536== ==160536== Process terminating with default aCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1465 ../src/curl -q --output log/14/curl1465.out --include --trace-ascii log/14/trace1465 --trace-time http://127.0.0.1:45467/we/want/1465 --libcurl log/14/test1465.c --data-binary @log/14/1465-upload > log/14/stdout1465 2> log/14/stderr1465 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1471 ../src/curl -q --output log/16/curl1471.out --include --trace-ascii log/16/trace1471 --trace-time red.onion > log/16/stdout1471 2> log/16/stderr1471 ction of signal 4 (SIGILL) ==160536== Illegal opcode at address 0x492B75F ==160536== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160536== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160536== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160536== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160536== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160536== by 0x49908EB: curl_version_info (version.c:600) ==160536== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160536== by 0x4003269: main (tool_main.c:195) === End of file valgrind1460 test 1465 [--libcurl for POST with binary content] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1465 ../src/curl -q --output log/14/curl1465.out --include --trace-ascii log/14/trace1465 --trace-time http://127.0.0.1:45467/we/want/1465 --libcurl log/14/test1465.c --data-binary @log/14/1465-upload > log/14/stdout1465 2> log/14/stderr1465 1465: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1465 === Start of file 1465-upload abcde\"? fghi jklm === End of file 1465-upload === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1465 ../src/curl -q --output log/14/curl1465.out --include --trace-ascii log/14/trace1465 --trace-time http://127.0.0.1:45467/we/want/1465 --libcurl log/14/test1465.c --data-binary @log/14/1465-upload > log/14/stdout1465 2> log/14/stderr1465 === End of file commands.log === Start of file http_server.log 19:28:38.527923 ====> Client connect 19:28:38.527990 accept_connection 3 returned 4 19:28:38.528013 Read 93 bytes 19:28:38.528022 Process 93 bytes request 19:28:38.528034 Got request: GET /verifiedserver HTTP/1.1 19:28:38.528042 Are-we-friendly question received 19:28:38.528067 Wrote request (93 bytes) input to log/14/server.input 19:28:38.528082 Identifying ourselves as friends 19:28:38.529300 Response sent (56 bytes) and written to log/14/server.response 19:28:38.529314 special request received, no persistency 19:28:38.529323 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1465 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1465 ==160906== ==160906== Process terminating with default action of signal 4 (SIGILL) ==160906== Illegal opcode at address 0x492B75F ==160906== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==160906== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==160906== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==160906== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==160906== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==160906== by 0x49908EB: curl_version_info (version.c:600) ==160906== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==160906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==160906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==160906== by 0x4003269: main (tool_main.c:195) === End of file valgrind1465 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1469 ../src/curl -q --output log/15/curl1469.out --include --trace-ascii log/15/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/15/irrelevant-file > log/15/stdout1469 2> log/15/stderr1469 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:38815/1473 > log/1/stdout1473 2> log/1/stderr1473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1472 ../src/curl -q --output log/7/curl1472.out --include --trace-ascii log/7/trace1472 --trace-time tasty.onion. > log/7/stdout1472 2> log/7/stderr1472 test 1471 [Fail to resolve .onion TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1471 ../src/curl -q --output log/16/curl1471.out --include --trace-ascii log/16/trace1471 --trace-time red.onion > log/16/stdout1471 2> log/16/stderr1471 1471: stderr FAILED: --- log/16/check-expected 2026-10-15 19:28:41.424906448 +0000 +++ log/16/check-generated 2026-10-15 19:28:41.424042398 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/16/ directory after test 1471 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1471 ../src/curl -q --output log/16/curl1471.out --include --trace-ascii log/16/trace1471 --trace-time red.onion > log/16/stdout1471 2> log/16/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==161105== ==161105== Process terminating with default action of signal 4 (SIGILL) ==161105== Illegal opcode at address 0x492B75F ==161105== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161105== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161105== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161105== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161105== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161105== by 0x49908EB: curl_version_info (version.c:600) ==161105== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161105== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161105== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161105== by 0x4003269: main (tool_main.c:195) === End of file valgrind1471 test 1469 [Space in FTP upload URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1469 ../src/curl -q --output log/15/curl1469.out --include --trace-ascii log/15/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/15/irrelevant-file > log/15/stdout1469 2> log/15/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/15/ directory after test 1469 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1469 ../src/curl -q --output log/15/curl1469.out --include --trace-ascii log/15/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/15/irrelevant-file > log/15/stdout1469 2> log/15/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==161078== ==161078== Process terminating with default action of signal 4 (SIGILL) ==161078== Illegal opcode at address 0x492B75F ==161078== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161078== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161078== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161078== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161078== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161078== by 0x49908EB: curl_version_info (version.c:600) ==161078== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161078== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161078== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161078== by 0x4003269: main (tool_main.c:195) === End of file valgrind1469 test 1473 [first HTTP header starts with white space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:38815/1473 > log/1/stdout1473 2> log/1/stderr1473 1473: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1473 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1473 ../src/curl -q --output log/1/curl1473.out --include --trace-ascii log/1/trace1473 --trace-time http://127.0.0.1:38815/1473 > log/1/stdout1473 2> log/1/stderr1473 === End of file commands.log === Start of file http_server.log 19:28:40.180303 ====> Client connect 19:28:40.180340 accept_connection 3 returned 4 19:28:40.180363 Read 93 bytes 19:28:40.180373 Process 93 bytes request 19:28:40.180387 Got request: GET /verifiedserver HTTP/1.1 19:28:40.180396 Are-we-friendly question received 19:28:40.180424 Wrote request (93 bytes) input to log/1/server.input 19:28:40.180441 Identifying ourselves as friends 19:28:40.180506 Response sent (56 bytes) and written to log/1/server.response 19:28:40.180516 special request received, no persistency 19:28:40.180524 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 56672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1473 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1473 ==161292== ==161292== Process terminating with default action of signal 4 (SIGILL) ==161292== Illegal opcode at address 0x492B75F ==161292== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161292== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161292== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161292== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161292== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161292== by 0x49908EB: curl_version_info (version.c:600) ==161292== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161292== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161292== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161292== by 0x4003269: main (tool_main.c:195) === End of file valgrind1473 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:44467/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1475 ../src/curl -q --output log/20/curl1475.out --include --trace-ascii log/20/trace1475 --trace-time http://127.0.0.1:33897/1475 -C - -f > log/20/stdout1475 2> log/20/stderr1475 RUN: Process with pid 78986 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1479 ../src/curl -q --output log/13/curl1479.out --include --trace-ascii log/13/trace1479 --trace-time http://127.0.0.1:38821/1479 http://127.0.0.1:38821/14790002 > log/13/stdout1479 2> log/13/stderr1479 RUN: Process with pid 78986 gracefully died test 1472 [Fail to resolve .onion. TLD] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1472 ../src/curl -q --output log/7/curl1472.out --include --trace-ascii log/7/trace1472 --trace-time tasty.onion. > log/7/stdout1472 2> log/7/stderr1472 1472: stderr FAILED: --- log/7/check-expected 2026-10-15 19:28:42.019928049 +0000 +++ log/7/check-generated 2026-10-15 19:28:42.015722392 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/7/ directory after test 1472 === Start of file check-expected curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1472 ../src/curl -q --output log/7/curl1472.out --include --trace-ascii log/7/trace1472 --trace-time tasty.onion. > log/7/stdout1472 2> log/7/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==161172== ==161172== Process terminating with default action of signal 4 (SIGILL) ==161172== Illegal opcode at address 0x492B75F ==161172== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161172== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161172== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161172== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161172== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161172== by 0x49908EB: curl_version_info (version.c:600) ==161172== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161172== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161172== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161172== by 0x4003269: main (tool_main.c:195) === End of file valgrind1472 test 1476 [PSL violating cookie with mixed case domain and cookie domain property] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:44467/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 1476: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1476 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1476 ../src/curl -q --output log/8/curl1476.out --include --trace-ascii log/8/trace1476 --trace-time -x http://127.0.0.1:44467/1476 http://curl.co.UK -c log/8/cookies1476.txt > log/8/stdout1476 2> log/8/stderr1476 === End of file commands.log === Start of file http_server.log 19:28:39.413736 ====> Client connect 19:28:39.413779 accept_connection 3 returned 4 19:28:39.413799 Read 93 bytes 19:28:39.413808 Process 93 bytes request 19:28:39.413820 Got request: GET /verifiedserver HTTP/1.1 19:28:39.413828 Are-we-friendly question received 19:28:39.413853 Wrote request (93 bytes) input to log/8/server.input 19:28:39.413869 Identifying ourselves as friends 19:28:39.413926 Response sent (56 bytes) and written to log/8/server.response 19:28:39.413934 special request received, no persistency 19:28:39.413942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 55338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1476 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1476 ==161448== ==161448== Process terminating with default action of signal 4 (SIGILL) ==161448== Illegal opcode at address 0x492B75F ==161448== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161448== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161448== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161448== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161448== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161448== by 0x49908EB: curl_version_info (version.c:600) ==161448== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161448== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161448== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161448== by 0x4003269: main (tool_main.c:195) === End of file valgrind1476 test 1479 [HTTP/1.1 response followed by HTTP/0.9 response over same connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1479 ../src/curl -q --output log/13/curl1479.out --include --trace-ascii log/13/trace1479 --trace-time http://127.0.0.1:38821/1479 http://127.0.0.1:38821/14790002 > log/13/stdout1479 2> log/13/stderr1479 1479: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1479 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1479 ../src/curl -q --output log/13/curl1479.out --include --trace-ascii log/13/trace1479 --trace-time http://127.0.0.1:38821/1479 http://127.0.0.1:38821/14790002 > log/13/stdout1479 2> log/13/stderr1479 === End of file commands.log === Start of file http_server.log 19:28:39.688127 ====> Client connect 19:28:39.688164 accept_connection 3 returned 4 19:28:39.688188 Read 93 bytes 19:28:39.688197 Process 93 bytes request 19:28:39.688210 Got request: GET /verifiedserver HTTP/1.1 19:28:39.688218 Are-we-friendly question received 19:28:39.688245 Wrote request (93 bytes) input to log/13/server.input 19:28:39.688260 Identifying ourselves as friends 19:28:39.688328 Response sent (56 bytes) and written to log/13/server.response 19:28:39.688338 special request received, no persistency 19:28:39.688345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 39578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1479 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1479 ==161563== ==161563== Process terminating with default action of signal 4 (SIGILL) ==161563== Illegal opcode at address 0x492B75F ==161563== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161563== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161563== by 0x492BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43739/1485 > log/18/stdout1485 2> log/18/stderr1485 67B: curl_msnprintf (mprintf.c:1277) ==161563== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161563== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161563== by 0x49908EB: curl_version_info (version.c:600) ==161563== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161563== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161563== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161563== by 0x4003269: main (tool_main.c:195) === End of file valgrind1479 test 1475 [-f and 416 with Content-Range: */size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1475 ../src/curl -q --output log/20/curl1475.out --include --trace-ascii log/20/trace1475 --trace-time http://127.0.0.1:33897/1475 -C - -f > log/20/stdout1475 2> log/20/stderr1475 1475: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1475 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1475 ../src/curl -q --output log/20/curl1475.out --include --trace-ascii log/20/trace1475 --trace-time http://127.0.0.1:33897/1475 -C - -f > log/20/stdout1475 2> log/20/stderr1475 === End of file commands.log === Start of file curl1475.out 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file curl1475.out === Start of file http_server.log 19:28:39.261241 ====> Client connect 19:28:39.261282 accept_connection 3 returned 4 19:28:39.261308 Read 93 bytes 19:28:39.261318 Process 93 bytes request 19:28:39.261331 Got request: GET /verifiedserver HTTP/1.1 19:28:39.261339 Are-we-friendly question received 19:28:39.261370 Wrote request (93 bytes) input to log/20/server.input 19:28:39.261387 Identifying ourselves as friends 19:28:39.261470 Response sent (56 bytes) and written to log/20/server.response 19:28:39.261479 special request received, no persistency 19:28:39.261487 ====> Client disconnect 0 19:28:42.151158 signalled to die 19:28:42.151287 ========> exit message: exit_signal_handler(): triggered 19:28:42.151301 ========> IPv4 sws (port 33897 pid: 78986) exits with signal (15) 19:28:42.151315 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33897... * Established connection to 127.0.0.1 (127.0.0.1 port 33897) from 127.0.0.1 port 57802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33897 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33897 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78986 === End of file http_verify.out === Start of file server.cmd Testnum 1475 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78986 === End of file server.response === Start of file valgrind1475 ==161350== ==161350== Process terminating with default action of signal 4 (SIGILL) ==161350== Illegal opcode at address 0x492B75F ==161350== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161350== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161350== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161350== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161350== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161350== by 0x49908EB: curl_version_info (version.c:600) ==161350== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161350== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161350== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161350== by 0x4003269: main (tool_main.c:195) === End of file valgrind1475 test 1474 [--proto -all disables all protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 curl returned 132, when expecting 2 1474: exit FAILED == Contents of files in the log/17/ directory after test 1474 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1474 ../src/curl -q --output log/17/curl1474.out --include --trace-ascii log/17/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/17/stdout1474 2> log/17/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==161243== ==161243== Process terminating with default action of signal 4 (SIGILL) ==161243== Illegal opcode at address 0x492B75F ==161243== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161243== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161243== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161243== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161243== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161243== by 0x49908EB: curl_version_info (version.c:600) ==161243== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161243== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161243== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161243== by 0x4003269: main (tool_main.c:195) === End of file valgrind1474 test 1485 [get curlinfo on last header in callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43739/1485 > log/18/stdout1485 2> log/18/stderr1485 1485: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1485 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:43739/1485 > log/18/stdout1485 2> log/18/stderr1485 === End of file commands.log === Start of file http_server.log 19:28:41.600823 ====> Client connect 19:28:41.600896 accept_connection 3 returned 4 19:28:41.600921 Read 93 bytes 19:28:41.600932 Process 93 bytes request 19:28:41.600944 Got request: GET /verifiedserver HTTP/1.1 19:28:41.600953 Are-we-friendly question received 19:28:41.600984 Wrote request (93 bytes) input to log/18/server.input 19:28:41.601003 Identifying ourselves as friends 19:28:41.601069 Response sent (56 bytes) and written to log/18/server.response 19:28:41.601080 special request received, no persistency 19:28:41.601089 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46848 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1485 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1482 ../src/curl -q --output log/24/curl1482.out --include --trace-ascii log/24/trace1482 --trace-time http://127.0.0.1:38895/1482 -D log/24/heads1482 > log/24/stdout1482 2> log/24/stderr1482 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1467 ../src/curl -q --output log/4/curl1467.out --include --trace-ascii log/4/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/4/server/socks-uds http://127.0.0.1:35735/1467 > log/4/stdout1467 2> log/4/stderr1467 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1480 ../src/curl -q --output log/21/curl1480.out --include --trace-ascii log/21/trace1480 --trace-time http://127.0.0.1:39881/1480 > log/21/stdout1480 2> log/21/stderr1480 : 78988 === End of file server.response === Start of file valgrind1485 ==162063== ==162063== Process terminating with default action of signal 4 (SIGILL) ==162063== Illegal opcode at address 0x51CC63F ==162063== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==162063== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==162063== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==162063== by 0x40041AF: main (first.c:264) === End of file valgrind1485 test 1482 [HTTP GET with double chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1482 ../src/curl -q --output log/24/curl1482.out --include --trace-ascii log/24/trace1482 --trace-time http://127.0.0.1:38895/1482 -D log/24/heads1482 > log/24/stdout1482 2> log/24/stderr1482 1482: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1482 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1482 ../src/curl -q --output log/24/curl1482.out --include --trace-ascii log/24/trace1482 --trace-time http://127.0.0.1:38895/1482 -D log/24/heads1482 > log/24/stdout1482 2> log/24/stderr1482 === End of file commands.log === Start of file http_server.log 19:28:40.071240 ====> Client connect 19:28:40.071292 accept_connection 3 returned 4 19:28:40.071324 Read 93 bytes 19:28:40.071335 Process 93 bytes request 19:28:40.071349 Got request: GET /verifiedserver HTTP/1.1 19:28:40.071358 Are-we-friendly question received 19:28:40.071390 Wrote request (93 bytes) input to log/24/server.input 19:28:40.071409 Identifying ourselves as friends 19:28:40.071511 Response sent (56 bytes) and written to log/24/server.response 19:28:40.071525 special request received, no persistency 19:28:40.071535 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1482 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1482 ==161835== ==161835== Process terminating with default action of signal 4 (SIGILL) ==161835== Illegal opcode at address 0x492B75F ==161835== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161835== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161835== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161835== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161835== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161835== by 0x49908EB: curl_version_info (version.c:600) ==161835== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161835== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161835== by 0x4003269: main (tool_main.c:195) === End of file valgrind1482 startnew: ./server/servers socksd --pidfile log/4/server/socks2_server.pid --reqfile log/4/socksd-request.log --logfile log/4/socks2_server.log --unix-socket /startdir/src/build-curl/tests/log/4/server/socks-uds --backend 127.0.0.1 --config log/4/server.cmd RUN: SOCKS2 server is now running PID 160969 * pid socks5unix => 160969 160969 test 1467 [HTTP GET via SOCKS5 proxy via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1467 ../src/curl -q --output log/4/curl1467.out --include --trace-ascii log/4/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/4/server/socks-uds http://127.0.0.1:35735/1467 > log/4/stdout1467 2> log/4/stderr1467 1467: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1467 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1467 ../src/curl -q --output log/4/curl1467.out --include --trace-ascii log/4/trace1467 --trace-time --socks5 localhost/startdir/src/build-curl/tests/log/4/server/socks-uds http://127.0.0.1:35735/1467 > log/4/stdout1467 2> log/4/stderr1467 === End of file commands.log === Start of file http_server.log 19:28:39.637862 ====> Client connect 19:28:39.637927 accept_connection 3 returned 4 19:28:39.637956 Read 93 bytes 19:28:39.637966 Process 93 bytes request 19:28:39.637978 Got request: GET /verifiedserver HTTP/1.1 19:28:39.637986 Are-we-friendly question received 19:28:39.638014 Wrote request (93 bytes) input to log/4/server.input 19:28:39.638031 Identifying ourselves as friends 19:28:39.638124 Response sent (56 bytes) and written to log/4/server.response 19:28:39.638135 special request received, no persistency 19:28:39.638143 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 47062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1467 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file socks2_server.log 19:28:39.652967 Running unix version 19:28:39.653151 Listening on Unix socket /startdir/src/build-curl/tests/log/4/server/socks-uds 19:28:39.653191 Wrote pid 160969 to log/4/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==161533== ==161533== Process terminating with default action of signal 4 (SIGILL) ==161533== Illegal opcode at address 0x492B75F ==161533== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161533== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161533== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161533== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161533== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161533== by 0x49908EB: curl_version_info (version.c:600) ==161533== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161533== by 0x4003269: main (tool_main.c:195) === End of file valgrind1467 test 1480 [HTTP Continue response without final response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1480 ../src/curl -q --output log/21/curl1480.out --include --trace-ascii log/21/trace1480 --trace-time http://127.0.0.1:39881/1480 > log/21/stdout1480 2> log/21/stderr1480 1480: protocol FAILED! There was no content at all in the file log/21/server.iCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1487 ../src/curl -q --trace-ascii log/23/trace1487 --trace-time http://127.0.0.1:44711/1487 -J -O --output-dir log/23 > log/23/stdout1487 2> log/23/stderr1487 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1468 ../src/curl -q --output log/2/curl1468.out --include --trace-ascii log/2/trace1468 --trace-time http://this.is.a.host.name:34531/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/2/server/socks-uds > log/2/stdout1468 2> log/2/stderr1468 nput. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1480 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1480 ../src/curl -q --output log/21/curl1480.out --include --trace-ascii log/21/trace1480 --trace-time http://127.0.0.1:39881/1480 > log/21/stdout1480 2> log/21/stderr1480 === End of file commands.log === Start of file http_server.log 19:28:39.830462 ====> Client connect 19:28:39.830517 accept_connection 3 returned 4 19:28:39.830628 Read 93 bytes 19:28:39.830649 Process 93 bytes request 19:28:39.830663 Got request: GET /verifiedserver HTTP/1.1 19:28:39.830673 Are-we-friendly question received 19:28:39.830710 Wrote request (93 bytes) input to log/21/server.input 19:28:39.830730 Identifying ourselves as friends 19:28:39.830836 Response sent (56 bytes) and written to log/21/server.response 19:28:39.830849 special request received, no persistency 19:28:39.830859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 43712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1480 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1480 ==161633== ==161633== Process terminating with default action of signal 4 (SIGILL) ==161633== Illegal opcode at address 0x492B75F ==161633== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161633== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161633== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161633== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161633== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161633== by 0x49908EB: curl_version_info (version.c:600) ==161633== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161633== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161633== by 0x4003269: main (tool_main.c:195) === End of file valgrind1480 test 1487 [HTTP GET with -J and Content-Disposition on 301] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1487 ../src/curl -q --trace-ascii log/23/trace1487 --trace-time http://127.0.0.1:44711/1487 -J -O --output-dir log/23 > log/23/stdout1487 2> log/23/stderr1487 1487: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1487 ../src/curl -q --trace-ascii log/23/trace1487 --trace-time http://127.0.0.1:44711/1487 -J -O --output-dir log/23 > log/23/stdout1487 2> log/23/stderr1487 === End of file commands.log === Start of file http_server.log 19:28:40.597882 ====> Client connect 19:28:40.597922 accept_connection 3 returned 4 19:28:40.597946 Read 93 bytes 19:28:40.597957 Process 93 bytes request 19:28:40.597970 Got request: GET /verifiedserver HTTP/1.1 19:28:40.597978 Are-we-friendly question received 19:28:40.598006 Wrote request (93 bytes) input to log/23/server.input 19:28:40.598024 Identifying ourselves as friends 19:28:40.598140 Response sent (56 bytes) and written to log/23/server.response 19:28:40.598152 special request received, no persistency 19:28:40.598160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 38138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1487 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1487 ==162065== ==162065== Process terminating with default action of signal 4 (SIGILL) ==162065== Illegal opcode at address 0x492B75F ==162065== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162065== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162065== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162065== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162065== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162065== by 0x49908EB: curl_version_info (version.c:600) ==162065== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162065== by 0x4003269: main (tool_main.c:195) === End of file valgrind1487 startnew: ./server/servers socksd --pidfile log/2/server/socks2_server.pid --reqfile log/2/socksd-request.log --logfile log/2/socks2_server.log --unix-socket /startdir/src/build-curl/tests/log/2/server/socks-uds --backend 127.0.0.1 --config log/2/server.cmd RUN: SOCKS2 server is now running PID 161068 * pid socks5unix => 161068 161068 test 1468 [HTTP GET with hostname using SOCKS5h via Unix sockets] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1468 ../src/curl -q --output log/2/curl1468.out --include --trace-ascii log/2/trace1468 --trace-time http://this.is.a.host.name:34531/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/2/server/socks-uds > log/2/stdout1468 2> log/2/stderr1468 1468: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1468 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1468 ../src/curl -q --output log/2/curl1468.out --include --trace-ascii log/2/trace1468 --trace-time http://this.is.a.host.name:34531/1468 --proxy socks5h://localhost/startdir/src/build-curl/tests/log/2/server/socks-uds > log/2/stdout1468 2> log/2/stderr1468 === End of file commands.log === Start of file http_server.log 19:28:39.766879 ====> Client connect 19:28:39.766916 accept_connection 3 returned 4 19:28:39.766938 Read 93 bytes 19:28:39.766948 Process 93 bytes request 19:28:39.766959 Got request: GET /verifiedserver HTTP/1.1 19:28:39.766968 Are-we-friendly question received 19:28:39.766995 Wrote request (93 bytes) input to log/2/server.input 19:28:39.767012 Identifying ourselves as friends 19:28:39.767075 Response sent (56 bytes) and written to log/2/server.response 19:28:39.767085 special request received, no persistency 19:28:39.767093 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:43733/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:40989/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 35926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1468 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file socks2_server.log 19:28:39.775353 Running unix version 19:28:39.775672 Listening on Unix socket /startdir/src/build-curl/tests/log/2/server/socks-uds 19:28:39.775712 Wrote pid 161068 to log/2/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==161586== ==161586== Process terminating with default action of signal 4 (SIGILL) ==161586== Illegal opcode at address 0x492B75F ==161586== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161586== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161586== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161586== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161586== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161586== by 0x49908EB: curl_version_info (version.c:600) ==161586== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161586== by 0x4003269: main (tool_main.c:195) === End of file valgrind1468 test 1484 [HTTP HEAD with response body to ignore] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:43733/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 1484: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1484 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1484 ../src/curl -q --output log/9/curl1484.out --include --trace-ascii log/9/trace1484 --trace-time -I http://127.0.0.1:43733/1484 --http1.1 > log/9/stdout1484 2> log/9/stderr1484 === End of file commands.log === Start of file http_server.log 19:28:40.523912 ====> Client connect 19:28:40.523948 accept_connection 3 returned 4 19:28:40.523969 Read 93 bytes 19:28:40.523979 Process 93 bytes request 19:28:40.523991 Got request: GET /verifiedserver HTTP/1.1 19:28:40.523999 Are-we-friendly question received 19:28:40.524028 Wrote request (93 bytes) input to log/9/server.input 19:28:40.524048 Identifying ourselves as friends 19:28:40.524109 Response sent (56 bytes) and written to log/9/server.response 19:28:40.524119 special request received, no persistency 19:28:40.524126 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 34196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1484 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1484 ==161998== ==161998== Process terminating with default action of signal 4 (SIGILL) ==161998== Illegal opcode at address 0x492B75F ==161998== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161998== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161998== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161998== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161998== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161998== by 0x49908EB: curl_version_info (version.c:600) ==161998== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161998== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161998== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161998== by 0x4003269: main (tool_main.c:195) === End of file valgrind1484 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1483 ../src/curl -q --output log/19/curl1483.out --include --trace-ascii log/19/trace1483 --trace-time http://127.0.0.1:37077/1483 -D log/19/heads1483 > log/19/stdout1483 2> log/19/stderr1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:44467/1500 > log/8/stdout1500 2> log/8/stderr1500 test 1489 [-D sent to stderr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:40989/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 1489: stderr FAILED: --- log/11/check-expected 2026-10-15 19:28:43.250881199 +0000 +++ log/11/check-generated 2026-10-15 19:28:43.247215048 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Accept-Ranges: bytes[CR][LF] -Content-Length: 6[CR][LF] -Connection: close[CR][LF] -Content-Type: text/html[CR][LF] -Funny-head: yesyes[CR][LF] -[CR][LF] == Contents of files in the log/11/ directory after test 1489 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Accept-Ranges: bytes[CR][LF] Content-Length: 6[CR][LF] Connection: close[CR][LF] Content-Type: text/html[CR][LF] Funny-head: yesyes[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1489 ../src/curl -q --output log/11/curl1489.out --trace-ascii log/11/trace1489 --trace-time http://127.0.0.1:40989/1489 -D % -s > log/11/stdout1489 2> log/11/stderr1489 === End of file commands.log === Start of file http_server.log 19:28:40.661811 ====> Client connect 19:28:40.661847 accept_connection 3 returned 4 19:28:40.666930 Read 93 bytes 19:28:40.666950 Process 93 bytes request 19:28:40.666964 Got request: GET /verifiedserver HTTP/1.1 19:28:40.666973 Are-we-friendly question received 19:28:40.667024 Wrote request (93 bytes) input to log/11/server.input 19:28:40.667042 Identifying ourselves as friends 19:28:40.667105 Response sent (56 bytes) and written to log/11/server.response 19:28:40.667115 special request received, no persistency 19:28:40.667124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 51942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1489 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1489 ==162132== ==162132== Process terminating with default action of signal 4 (SIGILL) ==162132== Illegal opcode at address 0x492B75F ==162132== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162132== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162132== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162132== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162132== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162132== by 0x49908EB: curl_version_info (version.c:600) ==162132== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162132== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162132== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162132== by 0x4003269: main (tool_main.c:195) === End of file valgrind1489 test 1483 [HTTP GET with two Transfer-Encoding: chunked headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1483 ../src/curl -q --output log/19/curl1483.out --include --trace-ascii log/19/trace1483 --trace-time http://127.0.0.1:37077/1483 -D log/19/heads1483 > log/19/stdout1483 2> log/19/stderr1483 1483: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1483 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1483 ../src/curl -q --output log/19/curl1483.out --include --trace-ascii log/19/trace1483 --trace-time http://127.0.0.1:37077/1483 -D log/19/heads1483 > log/19/stdout1483 2> log/19/stderr1483 === End of file commands.log === Start of file http_server.log 19:28:40.240583 ====> Client connect 19:28:40.240620 accept_connection 3 returned 4 19:28:40.240783 Read 93 bytes 19:28:40.240798 Process 93 bytes request 19:28:40.240811 Got request: GET /verifiedserver HTTP/1.1 19:28:40.240820 Are-we-friendly question received 19:28:40.240852 Wrote request (93 bytes) input to log/19/server.input 19:28:40.240870 Identifying ourselves as friends 19:28:40.240934 Response sent (57 bytes) and written to log/19/server.response 19:28:40.240944 special request received, no persistency 19:28:40.240953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 39014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1483 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1483 ==161906== ==161906== Process terminating with default action of signal 4 (SIGILL) ==161906== Illegal opcode at address 0x492B75F ==161906== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161906== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161906== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161906== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161906== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161906== by 0x49908EB: curl_version_info (version.c:600) ==161906== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161906== by 0x4003269: main (tool_main.c:195) === End of file valgrind1483 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1481 ../src/curl -q --output log/3/curl1481.out --include --trace-ascii log/3/trace1481 --trace-time http://moo/ --libcurl log/3/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:36161 --socks5-gssapi-service sockd > log/3/stdout1481 2> log/3/stderr1481 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1496 ../src/curl -q --output log/16/curl1496.out --include --trace-ascii log/16/trace1496 --trace-time http://127.0.0.1:35903/1496 -D log/16/heads1496 > log/16/stdout1496 2> log/16/stderr1496 test 1500 [curl_multi_wait] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:44467/1500 > log/8/stdout1500 2> log/8/stderr1500 1500: data FAILED: --- log/8/check-expected 2026-10-15 19:28:43.429363590 +0000 +++ log/8/check-generated 2026-10-15 19:28:43.425752015 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 all good![CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/8/ directory after test 1500 === Start of file check-expected HTTP/1.1 200 all good![CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:44467/1500 > log/8/stdout1500 2> log/8/stderr1500 === End of file commands.log === Start of file http_server.log 19:28:41.830268 ====> Client connect 19:28:41.830311 accept_connection 3 returned 4 19:28:41.830421 Read 93 bytes 19:28:41.830435 Process 93 bytes request 19:28:41.830448 Got request: GET /verifiedserver HTTP/1.1 19:28:41.830457 Are-we-friendly question received 19:28:41.830489 Wrote request (93 bytes) input to log/8/server.input 19:28:41.830506 Identifying ourselves as friends 19:28:41.830568 Response sent (56 bytes) and written to log/8/server.response 19:28:41.830577 special request received, no persistency 19:28:41.830585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 45218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1500 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1500 ==162884== ==162884== Process terminating with default action of signal 4 (SIGILL) ==162884== Illegal opcode at address 0x51CC63F ==162884== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==162884== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==162884== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==162884== by 0x40041AF: main (first.c:264) === End of file valgrind1500 test 1481 [--libcurl with TLS version options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1481 ../src/curl -q --output log/3/curl1481.out --include --trace-ascii log/3/trace1481 --trace-time http://moo/ --libcurl log/3/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:36161 --socks5-gssapi-service sockd > log/3/stdout1481 2> log/3/stderr1481 1481: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1481 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1481 ../src/curl -q --output log/3/curl1481.out --include --trace-ascii log/3/trace1481 --trace-time http://moo/ --libcurl log/3/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:36161 --socks5-gssapi-service sockd > log/3/stdout1481 2> log/3/stderr1481 === End of file commands.log === Start of file http_server.log 19:28:40.851169 ====> Client connect 19:28:40.851317 accept_connection 3 returned 4 19:28:40.854585 Read 93 bytes 19:28:40.854605 Process 93 bytes request 19:28:40.854618 Got request: GET /verifiedserver HTTP/1.1 19:28:40.854627 Are-we-friendly question received 19:28:40.854664 Wrote request (93 bytes) input to log/3/server.input 19:28:40.854682 Identifying ourselves as friends 19:28:40.854747 Response sent (56 bytes) and written to log/3/server.response 19:28:40.854757 special request received, no persistency 19:28:40.854765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 59458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1481 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1481 ==161673== ==161673== Process terminating with default action of signal 4 (SIGILL) ==161673== Illegal opcode at address 0x492B75F ==161673== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==161673== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==161673== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==161673== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==161673== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==161673== by 0x49908EB: curl_version_info (version.c:600) ==161673== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==161673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==161673== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==161673== by 0x4003269: main (tool_main.c:195) === End of file valgrind1481 test 1496 [HTTP GET with gzip + chunked transfer-encoding without being asked] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1496 ../src/curl -q --output log/16/curl1496.out --include --trace-ascii log/16/trace1496 --trace-time http://127.0.0.1:35903/1496 -D log/16/heads1496 > log/16/stdout1496 2> log/16/stderr1496 1496: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1496 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1496 ../src/curl -q --output log/16/curl1496.out --include --trace-ascii log/16/trace1496 --trace-time http://127.0.0.1:35903/1496 -D log/16/heads1496 > log/16/stdout1496 2> log/16/stderr1496 === End of file commands.log === Start of file http_server.log 19:28:42.123934 ====> Client connect 19:28:42.123963 accept_connection 3 returned 4 19:28:42.123982 Read 93 bytes 19:28:42.123991 Process 93 bytes request 19:28:42.124003 Got request: GET /verifiedserver HTTP/1.1 19:28:42.124012 Are-we-friendly question received 19:28:42.124131 Wrote request (93 bytes) input to log/16/server.input 19:28:42.124148 Identifying ourselves as friends 19:28:42.124206 Response sent (56 bytes) and written to log/16/server.response 19:28:42.124214 special request reCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1490 ../src/curl -q --output log/6/curl1490.out --trace-ascii log/6/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/result1490.txt -T log/6/upload1490.txt > log/6/stdout1490 2> log/6/stderr1490 ceived, no persistency 19:28:42.124223 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 49562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1496 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1496 ==162575== ==162575== Process terminating with default action of signal 4 (SIGILL) ==162575== Illegal opcode at address 0x492B75F ==162575== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162575== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162575== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162575== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162575== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162575== by 0x49908EB: curl_version_info (version.c:600) ==162575== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162575== by 0x4003269: main (tool_main.c:195) === End of file valgrind1496 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1494 ../src/curl -q --output log/22/curl1494.out --include --trace-ascii log/22/trace1494 --trace-time http://127.0.0.1:35989/1494 -D log/22/heads1494 > log/22/stdout1494 2> log/22/stderr1494 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1492 ../src/curl -q --trace-ascii log/5/trace1492 --trace-time http://127.0.0.1:37089/junk1492 -J -O --show-headers --output-dir log/5 > log/5/stdout1492 2> log/5/stderr1492 test 1490 ["upload" with file:// overwriting existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1490 ../src/curl -q --output log/6/curl1490.out --trace-ascii log/6/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/result1490.txt -T log/6/upload1490.txt > log/6/stdout1490 2> log/6/stderr1490 1490: output (log/6/result1490.txt) FAILED: --- log/6/check-expected 2026-10-15 19:28:43.639511292 +0000 +++ log/6/check-generated 2026-10-15 19:28:43.639470625 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/6/ directory after test 1490 === Start of file check-expected data[LF] in[LF] file[LF] to[LF] write[LF] === End of file check-expected === Start of file check-generated already existing[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1490 ../src/curl -q --output log/6/curl1490.out --trace-ascii log/6/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/result1490.txt -T log/6/upload1490.txt > log/6/stdout1490 2> log/6/stderr1490 === End of file commands.log === Start of file result1490.txt already existing === End of file result1490.txt === Start of file server.cmd Testnum 1490 === End of file server.cmd === Start of file upload1490.txt data in file to write === End of file upload1490.txt === Start of file valgrind1490 ==162113== ==162113== Process terminating with default action of signal 4 (SIGILL) ==162113== Illegal opcode at address 0x492B75F ==162113== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162113== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162113== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162113== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162113== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162113== by 0x49908EB: curl_version_info (version.c:600) ==162113== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162113== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162113== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162113== by 0x4003269: main (tool_main.c:195) === End of file valgrind1490 test 1494 [HTTP GET with identity twice in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1494 ../src/curl -q --output log/22/curl1494.out --include --trace-ascii log/22/trace1494 --trace-time http://127.0.0.1:35989/1494 -D log/22/heads1494 > log/22/stdout1494 2> log/22/stderr1494 1494: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1494 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1494 ../src/curl -q --output log/22/curl1494.out --include --trace-ascii log/22/trace1494 --trace-time http://127.0.0.1:35989/1494 -D log/22/heads1494 > log/22/stdout1494 2> log/22/stderr1494 === End of file commands.log === Start of file http_server.log 19:28:40.987588 ====> Client connect 19:28:40.987638 accept_connection 3 returned 4 19:28:40.987668 Read 93 bytes 19:28:40.987680 Process 93 bytes request 19:28:40.987693 Got request: GET /verifiedserver HTTP/1.1 19:28:40.987703 Are-we-friendly question received 19:28:40.987923 Wrote request (93 bytes) input to log/22/server.input 19:28:40.987945 Identifying ourselves as friends 19:28:40.988042 Response sent (56 bytes) and written to log/22/server.response 19:28:40.988055 special request received, no persistency 19:28:40.988065 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 39536 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1494 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1494 ==162483== ==162483== Process terminating with default action of signal 4 (SIGILL) ==162483== Illegal opcode at address 0x492B75F ==162483== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162483== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162483== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162483== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162483== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162483== by 0x49908EB: curl_version_info (version.c:600) ==162483== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162483== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162483== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162483== by 0x4003269: main (tool_main.c:195) === End of file valgrind1494 test 1492 [HTTP GET with -J + --show-headers but no Content-Disposition:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1492 ../src/curl -q --trace-ascii log/5/trace1492 --trace-time http://127.0.0.1:37089/junk1492 -J -O --show-headers --output-dir log/5 > log/5/stdout1492 2> log/5/stderr1492 1492: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1492 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1492 ../src/curl -q --trace-ascii log/5/trace1492 --trace-time http://127.0.0.1:37089/junk1492 -J -O --show-headers --output-dir log/5 > log/5/stdout1492 2> log/5/stderr1492 === End of file commands.log === Start of file http_server.log 19:28:40.770427 ====> Client connect 19:28:40.770467 accept_connection 3 returned 4 19:28:40.770488 Read 93 bytes 19:28:40.770498 Process 93 bytes request 19:28:40.770512 Got request: GET /verifiedserver HTTP/1.1 19:28:40.770520 Are-we-friendly question received 19:28:40.770547 Wrote request (93 bytes) input to log/5/server.input 19:28:40.770563 Identifying ourselves as friends 19:28:40.770624 Response sent (56 bytes) and written to log/5/server.response 19:28:40.770633 special request received, no persistency 19:28:40.770641 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 55602 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1492 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrinCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1495 ../src/curl -q --output log/14/curl1495.out --include --trace-ascii log/14/trace1495 --trace-time http://127.0.0.1:45467/1495 -D log/14/heads1495 > log/14/stdout1495 2> log/14/stderr1495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1491 ../src/curl -q --include --trace-ascii log/12/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1491.txt -o log/12/test1491.txt --skip-existing > log/12/stdout1491 2> log/12/stderr1491 d1492 ==162304== ==162304== Process terminating with default action of signal 4 (SIGILL) ==162304== Illegal opcode at address 0x492B75F ==162304== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162304== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162304== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162304== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162304== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162304== by 0x49908EB: curl_version_info (version.c:600) ==162304== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162304== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162304== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162304== by 0x4003269: main (tool_main.c:195) === End of file valgrind1492 test 1495 [HTTP GET with chunked + identity in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1495 ../src/curl -q --output log/14/curl1495.out --include --trace-ascii log/14/trace1495 --trace-time http://127.0.0.1:45467/1495 -D log/14/heads1495 > log/14/stdout1495 2> log/14/stderr1495 1495: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1495 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1495 ../src/curl -q --output log/14/curl1495.out --include --trace-ascii log/14/trace1495 --trace-time http://127.0.0.1:45467/1495 -D log/14/heads1495 > log/14/stdout1495 2> log/14/stderr1495 === End of file commands.log === Start of file http_server.log 19:28:41.104519 ====> Client connect 19:28:41.104557 accept_connection 3 returned 4 19:28:41.104578 Read 93 bytes 19:28:41.104588 Process 93 bytes request 19:28:41.104598 Got request: GET /verifiedserver HTTP/1.1 19:28:41.104608 Are-we-friendly question received 19:28:41.104632 Wrote request (93 bytes) input to log/14/server.input 19:28:41.104646 Identifying ourselves as friends 19:28:41.104714 Response sent (56 bytes) and written to log/14/server.response 19:28:41.104722 special request received, no persistency 19:28:41.104730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1495 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1495 ==162537== ==162537== Process terminating with default action of signal 4 (SIGILL) ==162537== Illegal opcode at address 0x492B75F ==162537== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162537== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162537== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162537== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162537== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162537== by 0x49908EB: curl_version_info (version.c:600) ==162537== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162537== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162537== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162537== by 0x4003269: main (tool_main.c:195) === End of file valgrind1495 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1493 ../src/curl -q --output log/10/curl1493.out --include --trace-ascii log/10/trace1493 --trace-time http://127.0.0.1:40913/1493 -D log/10/heads1493 > log/10/stdout1493 2> log/10/stderr1493 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 35735 > log/4/stdout1506 2> log/4/stderr1506 test 1491 [file:// do not overwrite self with --skip-existing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1491 ../src/curl -q --include --trace-ascii log/12/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1491.txt -o log/12/test1491.txt --skip-existing > log/12/stdout1491 2> log/12/stderr1491 1491: stderr FAILED: --- log/12/check-expected 2026-10-15 19:28:44.060529273 +0000 +++ log/12/check-generated 2026-10-15 19:28:44.055764687 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/12/test1491.txt" exists locally[CR][LF] == Contents of files in the log/12/ directory after test 1491 === Start of file check-expected Note: skips transfer, "log/12/test1491.txt" exists locally[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1491 ../src/curl -q --include --trace-ascii log/12/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/12/test1491.txt -o log/12/test1491.txt --skip-existing > log/12/stdout1491 2> log/12/stderr1491 === End of file commands.log === Start of file server.cmd Testnum 1491 === End of file server.cmd === Start of file test1491.txt foo bar bar foo moo === End of file test1491.txt === Start of file valgrind1491 ==162137== ==162137== Process terminating with default action of signal 4 (SIGILL) ==162137== Illegal opcode at address 0x492B75F ==162137== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162137== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162137== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162137== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162137== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162137== by 0x49908EB: curl_version_info (version.c:600) ==162137== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162137== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162137== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162137== by 0x4003269: main (tool_main.c:195) === End of file valgrind1491 test 1493 [HTTP GET with identity + chunked in TE header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1493 ../src/curl -q --output log/10/curl1493.out --include --trace-ascii log/10/trace1493 --trace-time http://127.0.0.1:40913/1493 -D log/10/heads1493 > log/10/stdout1493 2> log/10/stderr1493 1493: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1493 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1493 ../src/curl -q --output log/10/curl1493.out --include --trace-ascii log/10/trace1493 --trace-time http://127.0.0.1:40913/1493 -D log/10/heads1493 > log/10/stdout1493 2> log/10/stderr1493 === End of file commands.log === Start of file http_server.log 19:28:40.954535 ====> Client connect 19:28:40.954582 accept_connection 3 returned 4 19:28:40.954607 Read 93 bytes 19:28:40.954618 Process 93 bytes request 19:28:40.954632 Got request: GET /verifiedserver HTTP/1.1 19:28:40.954641 Are-we-friendly question received 19:28:40.954672 Wrote request (93 bytes) input to log/10/server.input 19:28:40.954688 Identifying ourselves as friends 19:28:40.954767 Response sent (56 bytes) and written to log/10/server.response 19:28:40.954779 special request received, no persistency 19:28:40.954788 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 57332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1493 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1493 ==162430== ==162430== Process terminating with default action of signal 4 (SIGILL) ==162430== Illegal opcode at address 0x492B75F ==162430== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162430== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162430== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162430== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162430== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162430== by 0x49908EB: curl_version_info (version.c:600) ==162430== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162430== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162430== by 0x4003269: main (tool_main.c:195) === End of file valgrind1493 test 1506 [HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 35735 > log/4/stdout1506 2> log/4/stderr1506 1506: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1506 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 35735 > log/4/stdout1506 2> log/4/stderr1506 === End of file commands.log === Start of file http_server.log 19:28:43.534505 ====> Client connect 19:28:43.534556 accept_connection 3 returned 4 19:28:43.534585 Read 93 bytes 19:28:43.534595 Process 93 bytes request 19:28:43.534609 Got request: GET /verifiedserver HTTP/1.1 19:28:43.534618 Are-we-friendly question received 19:28:43.534651 Wrote request (93 bytes) input to log/4/server.input 19:28:43.534670 Identifying ourselves as friends 19:28:43.534758 Response sent (56 bytes) and written to log/4/server.response 19:28:43.534770 special request received, no persistency 19:28:43.534779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 58058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd Testnum 1506 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1506 ==163229== ==163229== Process terminating with default action of signal 4 (SIGILL) ==163229== Illegal opcode at address 0x51CC63F ==163229== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163229== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163229== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163229CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:33695/1501/ > log/13/stdout1501 2> log/13/stderr1501 * kill pid for ftp-ctrl => 93294 RUN: Process with pid 93286 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1503 ./libtest/libtests lib1502 http://google.com:35993/1503 35993 127.0.0.1 > log/17/stdout1503 2> log/17/stderr1503 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1508 ./libtest/libtests lib1508 - > log/23/stdout1508 2> log/23/stderr1508 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1498 ../src/curl -q --output log/1/curl1498.out --include --trace-ascii log/1/trace1498 --trace-time http://127.0.0.1:38815/bzz/1498 -T . log/1/stdout1498 2> log/1/stderr1498 RUN: Process with pid 93286 gracefully died == by 0x40041AF: main (first.c:264) === End of file valgrind1506 test 1503 [HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1503 ./libtest/libtests lib1502 http://google.com:35993/1503 35993 127.0.0.1 > log/17/stdout1503 2> log/17/stderr1503 1503: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1503 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1503 ./libtest/libtests lib1502 http://google.com:35993/1503 35993 127.0.0.1 > log/17/stdout1503 2> log/17/stderr1503 === End of file commands.log === Start of file http_server.log 19:28:43.341141 ====> Client connect 19:28:43.341179 accept_connection 3 returned 4 19:28:43.341201 Read 93 bytes 19:28:43.341210 Process 93 bytes request 19:28:43.341223 Got request: GET /verifiedserver HTTP/1.1 19:28:43.341231 Are-we-friendly question received 19:28:43.341258 Wrote request (93 bytes) input to log/17/server.input 19:28:43.341275 Identifying ourselves as friends 19:28:43.341345 Response sent (56 bytes) and written to log/17/server.response 19:28:43.341357 special request received, no persistency 19:28:43.341365 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 42270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1503 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1503 ==163023== ==163023== Process terminating with default action of signal 4 (SIGILL) ==163023== Illegal opcode at address 0x51CC63F ==163023== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163023== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163023== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163023== by 0x40041AF: main (first.c:264) === End of file valgrind1503 test 1498 [HTTP PUT from stdin using period] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1498 ../src/curl -q --output log/1/curl1498.out --include --trace-ascii log/1/trace1498 --trace-time http://127.0.0.1:38815/bzz/1498 -T . log/1/stdout1498 2> log/1/stderr1498 1498: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1498 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1498 ../src/curl -q --output log/1/curl1498.out --include --trace-ascii log/1/trace1498 --trace-time http://127.0.0.1:38815/bzz/1498 -T . log/1/stdout1498 2> log/1/stderr1498 === End of file commands.log === Start of file http_server.log 19:28:42.491699 ====> Client connect 19:28:42.491738 accept_connection 3 returned 4 19:28:42.491760 Read 93 bytes 19:28:42.491769 Process 93 bytes request 19:28:42.491781 Got request: GET /verifiedserver HTTP/1.1 19:28:42.491789 Are-we-friendly question received 19:28:42.491815 Wrote request (93 bytes) input to log/1/server.input 19:28:42.491829 Identifying ourselves as friends 19:28:42.491890 Response sent (56 bytes) and written to log/1/server.response 19:28:42.491898 special request received, no persistency 19:28:42.491906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 33024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1498 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==162772== ==162772== Process terminating with default action of signal 4 (SIGILL) ==162772== Illegal opcode at address 0x492B75F ==162772== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162772== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162772== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162772== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162772== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162772== by 0x49908EB: curl_version_info (version.c:600) ==162772== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162772== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162772== by 0x4003269: main (tool_main.c:195) === End of file valgrind1498 test 1501 [FTP with multi interface and slow LIST response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:33695/1501/ > log/13/stdout1501 2> log/13/stderr1501 1501: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1501 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:33695/1501/ > log/13/stdout1501 2> log/13/stderr1501 === End of file commands.log === Start of file ftp_server.log 19:28:42.746723 ====> Client connect 19:28:42.746911 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:42.747224 < "USER anonymous" 19:28:42.747268 > "331 We are happy you popped in![CR][LF]" 19:28:42.747452 < "PASS ftp@example.com" 19:28:42.747485 > "230 Welcome you silly person[CR][LF]" 19:28:42.747646 < "PWD" 19:28:42.747680 > "257 "/" is current directory[CR][LF]" 19:28:42.747843 < "EPSV" 19:28:42.747868 ====> Passive DATA channel requested by client 19:28:42.747882 DATA sockfilt for passive data channel starting... 19:28:42.759818 DATA sockfilt for passive data channel started (pid 163015) 19:28:42.759955 DATA sockfilt for passive data channel listens on port 35071 19:28:42.760003 > "229 Entering Passive Mode (|||35071|)[CR][LF]" 19:28:42.760020 Client has been notified that upcoming DATA connection is awaited on port 35071 19:28:42.760313 Client connects to port 35071 19:28:42.760347 ====> Client established passive DATA connection on port 35071 19:28:42.760483 < "TYPE I" 19:28:42.760517 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:42.760676 < "SIZE verifiedserver" 19:28:42.760710 > "213 17[CR][LF]" 19:28:42.760863 < "RETR verifiedserver" 19:28:42.760896 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:42.760986 =====> Closing passive DATA connection... 19:28:42.761003 Server disconnects passive DATA connection 19:28:42.761226 Server disconnected passive DATA connection 19:28:42.761254 DATA sockfilt for passive data channel quits (pid 163015) 19:28:42.761479 DATA sockfilt for passive data channel quit (pid 163015) 19:28:42.761505 =====> Closed passive DATA connection 19:28:42.761533 > "226 File transfer complete[CR][LF]" 19:28:42.802557 < "QUIT" 19:28:42.802613 > "221 bye bye baby[CR][LF]" 19:28:42.806612 MAIN sockfilt said DISC 19:28:42.806656 ====> Client disconnected 19:28:42.806743 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:42.347771 ====> Client connect 19:28:42.349376 Received DATA (on stdin) 19:28:42.349392 > 146 bytes data, server => client 19:28:42.349403 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:42.349412 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:42.349420 '220 \___|\___/|_| \_\_____|\r\n' 19:28:42.349513 < 16 bytes data, client => server 19:28:42.349526 'USER anonymous\r\n' 19:28:42.349718 Received DATA (on stdin) 19:28:42.349730 > 33 bytes data, server => client 19:28:42.349740 '331 We are happy you popped in!\r\n' 19:28:42.349796 < 22 bytes data, client => server 19:28:42.349806 'PASS ftp@example.com\r\n' 19:28:42.349930 Received DATA (on stdin) 19:28:42.349941 > 30 bytes data, server => client 19:28:42.349951 '230 Welcome you silly person\r\n' 19:28:42.350003 < 5 bytes data, client => server 19:28:42.350013 'PWD\r\n' 19:28:42.350124 Received DATA (on stdin) 19:28:42.350134 > 30 bytes data, server => client 19:28:42.350143 '257 "/" is current directory\r\n' 19:28:42.350202 < 6 bytes data, client => server 19:28:42.350213 'EPSV\r\n' 19:28:42.362476 Received DATA (on stdin) 19:28:42.362495 > 39 bytes data, server => client 19:28:42.362508 '229 Entering Passive Mode (|||35071|)\r\n' 19:28:42.362814 < 8 bytes data, client => server 19:28:42.362825 'TYPE I\r\n' 19:28:42.362964 Received DATA (on stdin) 19:28:42.362975 > 33 bytes data, server => client 19:28:42.362985 '200 I modify TYPE as you wanted\r\n' 19:28:42.363040 < 21 bytes data, client => server 19:28:42.363051 'SIZE verifiedserver\r\n' 19:28:42.363154 Received DATA (on stdin) 19:28:42.363164 > 8 bytes data, server => client 19:28:42.363174 '213 17\r\n' 19:28:42.363225 < 21 bytes data, client => server 19:28:42.363236 'RETR verifiedserver\r\n' 19:28:42.363450 Received DATA (on stdin) 19:28:42.363461 > 29 bytes data, server => client 19:28:42.363470 '150 Binary junk (17 bytes).\r\n' 19:28:42.363979 Received DATA (on stdin) 19:28:42.363990 > 28 bytes data, server => client 19:28:42.364001 '226 File transfer complete\r\n' 19:28:42.404812 < 6 bytes data, client => server 19:28:42.404841 'QUIT\r\n' 19:28:42.407760 Received DATA (on stdin) 19:28:42.407780 > 18 bytes data, server => client 19:28:42.407790 '221 bye bye baby\r\n' 19:28:42.408999 ====> Client disconnect 19:28:42.409189 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:42.361904 Running IPv4 version 19:28:42.362000 Listening on port 35071 19:28:42.362036 Wrote pid 163015 to log/13/server/ftp_sockdata.pid 19:28:42.362206 Received PING (on stdin) 19:28:42.362299 Received PORT (on stdin) 19:28:42.362709 ====> Client connect 19:28:42.363496 Received DATA (on stdin) 19:28:42.363507 > 17 bytes data, server => client 19:28:42.363517 'WE ROOLZ: 93286\r\n' 19:28:42.363542 Received DISC (on stdin) 19:28:42.363552 ====> Client forcibly disconnected 19:28:42.363707 Received QUIT (on stdin) 19:28:42.363717 quits 19:28:42.363776 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === End of file server.cmd === Start of file valgrind1501 ==163053== ==163053== Process terminating with default action of signal 4 (SIGILL) ==163053== Illegal opcode at address 0x51CC63F ==163053== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163053== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163053== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163053== by 0x40041AF: main (first.c:264) === End of file valgrind1501 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1505 ./libtest/libtests lib1502 http://google.com:38895/1505 38895 127.0.0.1 > log/24/stdout1505 2> log/24/stderr1505 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36859/1507 log/21/stdout1507 2> log/21/stderr1507 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1504 ./libtest/libtests lib1502 http://google.com:43739/1504 43739 127.0.0.1 > log/18/stdout1504 2> log/18/stderr1504 test 1508 [Close a multi handle without using it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1508 ./libtest/libtests lib1508 - > log/23/stdout1508 2> log/23/stderr1508 1508: output (log/23/stdout1508) FAILED: --- log/23/check-expected 2026-10-15 19:28:44.401225282 +0000 +++ log/23/check-generated 2026-10-15 19:28:44.395771172 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/23/ directory after test 1508 === Start of file check-expected We are done[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1508 ./libtest/libtests lib1508 - > log/23/stdout1508 2> log/23/stderr1508 === End of file commands.log === Start of file server.cmd Testnum 1508 === End of file server.cmd === Start of file valgrind1508 ==163166== ==163166== Process terminating with default action of signal 4 (SIGILL) ==163166== Illegal opcode at address 0x51CC63F ==163166== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163166== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163166== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163166== by 0x40041AF: main (first.c:264) === End of file valgrind1508 test 1505 [HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1505 ./libtest/libtests lib1502 http://google.com:38895/1505 38895 127.0.0.1 > log/24/stdout1505 2> log/24/stderr1505 1505: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1505 ./libtest/libtests lib1502 http://google.com:38895/1505 38895 127.0.0.1 > log/24/stdout1505 2> log/24/stderr1505 === End of file commands.log === Start of file http_server.log 19:28:42.503646 ====> Client connect 19:28:42.503679 accept_connection 3 returned 4 19:28:42.503793 Read 93 bytes 19:28:42.503809 Process 93 bytes request 19:28:42.503824 Got request: GET /verifiedserver HTTP/1.1 19:28:42.503833 Are-we-friendly question received 19:28:42.503864 Wrote request (93 bytes) input to log/24/server.input 19:28:42.503884 Identifying ourselves as friends 19:28:42.503951 Response sent (56 bytes) and written to log/24/server.response 19:28:42.503962 special request received, no persistency 19:28:42.503971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1505 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1505 ==163182== ==163182== Process terminating with default action of signal 4 (SIGILL) ==163182== Illegal opcode at address 0x51CC63F ==163182== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163182== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163182== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163182== by 0x40041AF: main (first.c:264) === End of file valgrind1505 test 1507 [SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36859/1507 log/21/stdout1507 2> log/21/stderr1507 1507: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1507 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36859/1507 log/21/stdout1507 2> log/21/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 19:28:42.938284 ====> Client connect 19:28:42.938522 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:42.940483 < "EHLO verifiedserver" 19:28:42.940542 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:42.940765 < "HELP" 19:28:42.940807 > "214 WE ROOLZ: 127888[CR][LF]" 19:28:42.940826 return proof we are we 19:28:42.941086 < "QUIT" 19:28:42.941122 > "221 curl ESMTP server signing off[CR][LF]" 19:28:42.944151 MAIN sockfilt said DISC 19:28:42.944193 ====> Client disconnected 19:28:42.944269 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:42.540000 ====> Client connect 19:28:42.540992 Received DATA (on stdin) 19:28:42.541014 > 146 bytes data, server => client 19:28:42.541028 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:42.541039 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:42.541048 '220 \___|\___/|_| \_\_____|\r\n' 19:28:42.542733 < 21 bytes data, client => server 19:28:42.542754 'EHLO verifiedserver\r\n' 19:28:42.542996 Received DATA (on stdin) 19:28:42.543011 > 53 bytes data, server => client 19:28:42.543022 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:42.543091 < 6 bytes data, client => server 19:28:42.543106 'HELP\r\n' 19:28:42.543270 Received DATA (on stdin) 19:28:42.543283 > 22 bytes data, server => client 19:28:42.543293 '214 WE ROOLZ: 127888\r\n' 19:28:42.543403 < 6 bytes data, client => server 19:28:42.543419 'QUIT\r\n' 19:28:42.543569 Received DATA (on stdin) 19:28:42.543581 > 35 bytes data, server => client 19:28:42.543592 '221 curl ESMTP server signing off\r\n' 19:28:42.544771 ====> Client disconnect 19:28:42.546720 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1507 From: different To: another body === End of file stdin-for-1507 === Start of file valgrind1507 ==163266== ==163266== Process terminating with default action of signal 4 (SIGILL) ==163266== Illegal opcode at address 0x51CC63F ==163266== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163266== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163266== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163266== by 0x40041AF: main (first.c:264) === End of file valgrind1507 test 1504 [HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1504 ./libtest/libtests lib1502 http://google.com:43739/1504 43739 127.0.0.1 > log/18/stdout1504 2> log/18/stderr1504 1504: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1499 ../src/curl -q --output log/7/curl1499.out --include --trace-ascii log/7/trace1499 --trace-time http://127.0.0.1:40859/1499 http://127.0.0.1:40859/1499 -D log/7/heads1499 > log/7/stdout1499 2> log/7/stderr1499 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 43733 > log/9/stdout1510 2> log/9/stderr1510 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1497 ../src/curl -q --output log/15/curl1497.out --include --trace-ascii log/15/trace1497 --trace-time http://127.0.0.1:40321/1497 --retry 3 -o /dev/null > log/15/stdout1497 2> log/15/stderr1497 of files in the log/18/ directory after test 1504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1504 ./libtest/libtests lib1502 http://google.com:43739/1504 43739 127.0.0.1 > log/18/stdout1504 2> log/18/stderr1504 === End of file commands.log === Start of file http_server.log 19:28:43.448152 ====> Client connect 19:28:43.448193 accept_connection 3 returned 4 19:28:43.448216 Read 93 bytes 19:28:43.448226 Process 93 bytes request 19:28:43.448241 Got request: GET /verifiedserver HTTP/1.1 19:28:43.448250 Are-we-friendly question received 19:28:43.448280 Wrote request (93 bytes) input to log/18/server.input 19:28:43.448302 Identifying ourselves as friends 19:28:43.448410 Response sent (56 bytes) and written to log/18/server.response 19:28:43.448421 special request received, no persistency 19:28:43.448429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1504 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1504 ==163103== ==163103== Process terminating with default action of signal 4 (SIGILL) ==163103== Illegal opcode at address 0x51CC63F ==163103== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163103== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163103== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163103== by 0x40041AF: main (first.c:264) === End of file valgrind1504 test 1499 [HTTP chunked encoding and chunked trailer, twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1499 ../src/curl -q --output log/7/curl1499.out --include --trace-ascii log/7/trace1499 --trace-time http://127.0.0.1:40859/1499 http://127.0.0.1:40859/1499 -D log/7/heads1499 > log/7/stdout1499 2> log/7/stderr1499 1499: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1499 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1499 ../src/curl -q --output log/7/curl1499.out --include --trace-ascii log/7/trace1499 --trace-time http://127.0.0.1:40859/1499 http://127.0.0.1:40859/1499 -D log/7/heads1499 > log/7/stdout1499 2> log/7/stderr1499 === End of file commands.log === Start of file http_server.log 19:28:41.753389 ====> Client connect 19:28:41.753429 accept_connection 3 returned 4 19:28:41.753453 Read 93 bytes 19:28:41.753464 Process 93 bytes request 19:28:41.753478 Got request: GET /verifiedserver HTTP/1.1 19:28:41.753487 Are-we-friendly question received 19:28:41.753516 Wrote request (93 bytes) input to log/7/server.input 19:28:41.753533 Identifying ourselves as friends 19:28:41.753600 Response sent (56 bytes) and written to log/7/server.response 19:28:41.753610 special request received, no persistency 19:28:41.753620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 57166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1499 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1499 ==162858== ==162858== Process terminating with default action of signal 4 (SIGILL) ==162858== Illegal opcode at address 0x492B75F ==162858== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162858== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162858== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162858== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162858== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162858== by 0x49908EB: curl_version_info (version.c:600) ==162858== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162858== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162858== by 0x4003269: main (tool_main.c:195) === End of file valgrind1499 test 1510 [HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 43733 > log/9/stdout1510 2> log/9/stderr1510 1510: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1510 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 43733 > log/9/stdout1510 2> log/9/stderr1510 === End of file commands.log === Start of file http_server.log 19:28:42.881154 ====> Client connect 19:28:42.881204 accept_connection 3 returned 4 19:28:42.881232 Read 93 bytes 19:28:42.881243 Process 93 bytes request 19:28:42.881256 Got request: GET /verifiedserver HTTP/1.1 19:28:42.881265 Are-we-friendly question received 19:28:42.881297 Wrote request (93 bytes) input to log/9/server.input 19:28:42.881315 Identifying ourselves as friends 19:28:42.881412 Response sent (56 bytes) and written to log/9/server.response 19:28:42.881424 special request received, no persistency 19:28:42.881433 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1510 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1510 ==163517== ==163517== Process terminating with default action of signal 4 (SIGILL) ==163517== Illegal opcode at address 0x51CC63F ==163517== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163517== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163517== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163517== by 0x40041AF: main (first.c:264) === End of file valgrind1510 test 1497 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:34531/1509 127.0.0.1:37607 > log/2/stdout1509 2> log/2/stderr1509 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:44467/1514 > log/8/stdout1514 2> log/8/stderr1514 [HTTP GET --retry on 503 error with output to /dev/null] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1497 ../src/curl -q --output log/15/curl1497.out --include --trace-ascii log/15/trace1497 --trace-time http://127.0.0.1:40321/1497 --retry 3 -o /dev/null > log/15/stdout1497 2> log/15/stderr1497 1497: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1497 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1497 ../src/curl -q --output log/15/curl1497.out --include --trace-ascii log/15/trace1497 --trace-time http://127.0.0.1:40321/1497 --retry 3 -o /dev/null > log/15/stdout1497 2> log/15/stderr1497 === End of file commands.log === Start of file http_server.log 19:28:42.243462 ====> Client connect 19:28:42.243500 accept_connection 3 returned 4 19:28:42.243618 Read 93 bytes 19:28:42.243635 Process 93 bytes request 19:28:42.243650 Got request: GET /verifiedserver HTTP/1.1 19:28:42.243659 Are-we-friendly question received 19:28:42.243692 Wrote request (93 bytes) input to log/15/server.input 19:28:42.243712 Identifying ourselves as friends 19:28:42.243775 Response sent (56 bytes) and written to log/15/server.response 19:28:42.243786 special request received, no persistency 19:28:42.243795 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 46344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1497 ==162667== ==162667== Process terminating with default action of signal 4 (SIGILL) ==162667== Illegal opcode at address 0x492B75F ==162667== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==162667== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==162667== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==162667== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==162667== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==162667== by 0x49908EB: curl_version_info (version.c:600) ==162667== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==162667== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==162667== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==162667== by 0x4003269: main (tool_main.c:195) === End of file valgrind1497 test 1509 [http:// through proxytunnel] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:34531/1509 127.0.0.1:37607 > log/2/stdout1509 2> log/2/stderr1509 1509: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1509 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:34531/1509 127.0.0.1:37607 > log/2/stdout1509 2> log/2/stderr1509 === End of file commands.log === Start of file http2_server.log 19:28:43.782532 ====> Client connect 19:28:43.782567 accept_connection 3 returned 4 19:28:43.782714 Read 93 bytes 19:28:43.782725 Process 93 bytes request 19:28:43.782745 Got request: GET /verifiedserver HTTP/1.1 19:28:43.782753 Are-we-friendly question received 19:28:43.782783 Wrote request (93 bytes) input to log/2/proxy.input 19:28:43.782804 Identifying ourselves as friends 19:28:43.782869 Response sent (57 bytes) and written to log/2/proxy.response 19:28:43.782879 special request received, no persistency 19:28:43.782887 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37607... * Established connection to 127.0.0.1 (127.0.0.1 port 37607) from 127.0.0.1 port 43486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37607 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37607 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150157 === End of file http2_verify.out === Start of file http_server.log 19:28:43.694522 ====> Client connect 19:28:43.694561 accept_connection 3 returned 4 19:28:43.694583 Read 93 bytes 19:28:43.694593 Process 93 bytes request 19:28:43.694606 Got request: GET /verifiedserver HTTP/1.1 19:28:43.694614 Are-we-friendly question received 19:28:43.694639 Wrote request (93 bytes) input to log/2/server.input 19:28:43.694654 Identifying ourselves as friends 19:28:43.694725 Response sent (56 bytes) and written to log/2/server.response 19:28:43.694735 special request received, no persistency 19:28:43.694743 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 53574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150157 === End of file proxy.response === Start of file server.cmd connection-monitor Testnum 1509 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==163447== ==163447== Process terminating with default action of signal 4 (SIGILL) ==163447== Illegal opcode at address 0x51CC63F ==163447== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163447== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163447== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163447== by 0x40041AF: main (first.c:264) === End of file valgrind1509 test 1514 [HTTP POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:44467/1514 > log/8/stdout1514 2> log/8/stderr1514 1514: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1514 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:44467/1514 > log/8/sCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:40989/1511 > log/11/stdout1511 2> log/11/stderr1511 tdout1514 2> log/8/stderr1514 === End of file commands.log === Start of file http_server.log 19:28:43.090148 ====> Client connect 19:28:43.090184 accept_connection 3 returned 4 19:28:43.090206 Read 93 bytes 19:28:43.090216 Process 93 bytes request 19:28:43.090229 Got request: GET /verifiedserver HTTP/1.1 19:28:43.090238 Are-we-friendly question received 19:28:43.090266 Wrote request (93 bytes) input to log/8/server.input 19:28:43.090283 Identifying ourselves as friends 19:28:43.090349 Response sent (56 bytes) and written to log/8/server.response 19:28:43.090359 special request received, no persistency 19:28:43.090367 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 45226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1514 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1514 ==163719== ==163719== Process terminating with default action of signal 4 (SIGILL) ==163719== Illegal opcode at address 0x51CC63F ==163719== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163719== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163719== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163719== by 0x40041AF: main (first.c:264) === End of file valgrind1514 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:41689/1502 41689 127.0.0.1 > log/20/stdout1502 2> log/20/stderr1502 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:37077/1513 > log/19/stdout1513 2> log/19/stderr1513 test 1511 [HTTP GET time conditions in repeated requests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:40989/1511 > log/11/stdout1511 2> log/11/stderr1511 1511: data FAILED: --- log/11/check-expected 2026-10-15 19:28:44.976459644 +0000 +++ log/11/check-generated 2026-10-15 19:28:44.972448834 +0000 @@ -1,17 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 OK[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fakem[CR][LF] -Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] -Content-Type: text/html[CR][LF] -Content-Length: 12[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Hello World[LF] == Contents of files in the log/11/ directory after test 1511 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 OK[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fakem[CR][LF] Last-Modified: Mon, 22 Apr 2013 17:45:05 GMT[CR][LF] Content-Type: text/html[CR][LF] Content-Length: 12[CR][LF] Connection: close[CR][LF] [CR][LF] Hello World[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:40989/1511 > log/11/stdout1511 2> log/11/stderr1511 === End of file commands.log === Start of file http_server.log 19:28:42.938200 ====> Client connect 19:28:42.938238 accept_connection 3 returned 4 19:28:42.938259 Read 93 bytes 19:28:42.938268 Process 93 bytes request 19:28:42.938281 Got request: GET /verifiedserver HTTP/1.1 19:28:42.938289 Are-we-friendly question received 19:28:42.938316 Wrote request (93 bytes) input to log/11/server.input 19:28:42.938333 Identifying ourselves as friends 19:28:42.938397 Response sent (56 bytes) and written to log/11/server.response 19:28:42.938406 special request received, no persistency 19:28:42.938414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 53280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1511 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1511 ==163571== ==163571== Process terminating with default action of signal 4 (SIGILL) ==163571== Illegal opcode at address 0x51CC63F ==163571== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163571== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163571== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163571== by 0x40041AF: main (first.c:264) === End of file valgrind1511 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_server.pid" --logfile "log/20/http_server.log" --logdir "log/20" --portfile log/20/server/http_server.port --config log/20/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 162978 port 41689 * pid http => 162978 162978 test 1502 [HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:41689/1502 41689 127.0.0.1 > log/20/stdout1502 2> log/20/stderr1502 1502: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1502 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:41689/1502 41689 127.0.0.1 > log/20/stdout1502 2> log/20/stderr1502 === End of file commands.log === Start of file http_server.log 19:28:42.302924 Running HTTP IPv4 version on port 41689 19:28:42.303023 Wrote pid 162978 to log/20/server/http_server.pid 19:28:42.303055 Wrote port 41689 to log/20/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1502 === End of file server.cmd === Start of file valgrind1502 ==163864== ==163864== Process terminating with default action of signal 4 (SIGILL) ==163864== Illegal opcode at address 0x51CC63F ==163864== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163864== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163864== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163864== by 0x40041AF: main (first.c:264) === End of file valgrind1502 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:35989/1518 > log/22/stdout1518 2> log/22/stderr1518 test 1513 [return failure immediately from progress callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:37077/1513 > log/19/stdout1513 2> log/19/stderr1513 1513: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:45.107330756 +0000 +++ log/19/check-generated 2026-10-15 19:28:45.102459531 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/19/ directory after test 1513 === Start of file check-expected PROGRESSFUNCTION called[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:37077/1513 > log/19/stdout1513 2> log/19/stderr1513 === End of file commands.log === Start of file http_server.log 19:28:43.023065 ====> Client connect 19:28:43.023105 accept_connection 3 returned 4 19:28:43.023129 Read 93 bytes 19:28:43.023140 Process 93 bytes request 19:28:43.023155 Got request: GET /verifiedserver HTTP/1.1 19:28:43.023164 Are-we-friendly question received 19:28:43.023195 Wrote request (93 bytes) input to log/19/server.input 19:28:43.023213 Identifying ourselves as friends 19:28:43.023287 Response sent (57 bytes) and written to log/19/server.response 19:28:43.023300 special request received, no persistency 19:28:43.023309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 57982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1513 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1513 ==163630== ==163630== Process terminating with default action of signal 4 (SIGILL) ==163630== Illegal opcode at address 0x51CC63F ==163630== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163630== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163630== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163630== by 0x40041AF: main (first.c:264) === End of file valgrind1513 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35903 > log/16/stdout1516 2> log/16/stderr1516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:37089/1519 > log/5/stdout1519 2> log/5/stderr1519 test 1518 [Extract Location: with broken URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:35989/1518 > log/22/stdout1518 2> log/22/stderr1518 1518: stdout FAILED: --- log/22/check-expected 2026-10-15 19:28:45.251264995 +0000 +++ log/22/check-generated 2026-10-15 19:28:45.245787111 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:35989/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/22/ directory after test 1518 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:35989/1518[LF] redirecturl http://1.2 .4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:35989/1518 > log/22/stdout1518 2> log/22/stderr1518 === End of file commands.log === Start of file http_server.log 19:28:43.363257 ====> Client connect 19:28:43.363290 accept_connection 3 returned 4 19:28:43.363431 Read 93 bytes 19:28:43.363444 Process 93 bytes request 19:28:43.363456 Got request: GET /verifiedserver HTTP/1.1 19:28:43.363465 Are-we-friendly question received 19:28:43.363522 Wrote request (93 bytes) input to log/22/server.input 19:28:43.363539 Identifying ourselves as friends 19:28:43.363595 Response sent (56 bytes) and written to log/22/server.response 19:28:43.363604 special request received, no persistency 19:28:43.363612 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 38026 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1518 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1518 ==163951== ==163951== Process terminating with default action of signal 4 (SIGILL) ==163951== Illegal opcode at address 0x51CC63F ==163951== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163951== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163951== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163951== by 0x40041AF: main (first.c:264) === End of file valgrind1518 test 1516 [caching of manual libcurl DNS entries after dead connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35903 > log/16/stdout1516 2> log/16/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/16/ directory after test 1516 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 35903 > log/16/stdout1516 2> log/16/stderr1516 === End of file commands.log === Start of file http_server.log 19:28:44.173705 ====> Client connect 19:28:44.173739 accept_connection 3 returned 4 19:28:44.173759 Read 93 bytes 19:28:44.173769 Process 93 bytes request 19:28:44.173782 Got request: GET /verifiedserver HTTP/1.1 19:28:44.173790 Are-we-friendly question received 19:28:44.173816 Wrote request (93 bytes) input to log/16/server.input 19:28:44.173832 Identifying ourselves as friends 19:28:44.173895 Response sent (56 bytes) and written to log/16/server.response 19:28:44.173905 special request received, no persistency 19:28:44.173913 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1516 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1516 ==163760== ==163760== Process terminating with default action of signal 4 (SIGILL) ==163760== Illegal opcode at address 0x51CC63F ==163760== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163760== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163760== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163760== by 0x40041AF: main (first.c:264) === End of file valgrind1516 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 36161 > log/3/stdout1515 2> log/3/stderr1515 test 1519 [Extract Location: with broken absolute URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:37089/1519 > log/5/stdout1519 2> log/5/stderr1519 1519: stdout FAILED: --- log/5/check-expected 2026-10-15 19:28:45.267648803 +0000 +++ log/5/check-generated 2026-10-15 19:28:45.262454075 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:37089/1519[LF] -redirecturl http://127.0.0.1:37089/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/5/ directory after test 1519 === Start of file check-expected result 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:37089/1519[LF] redirecturl http://127.0.0.1:37089/h%20ttp://1.2.4.5/test[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:37089/1519 > log/5/stdout1519 2> log/5/stderr1519 === End of file commands.log === Start of file http_server.log 19:28:43.434477 ====> Client connect 19:28:43.434521 accept_connection 3 returned 4 19:28:43.434550 Read 93 bytes 19:28:43.434562 Process 93 bytes request 19:28:43.434575 Got request: GET /verifiedserver HTTP/1.1 19:28:43.434584 Are-we-friendly question received 19:28:43.434613 Wrote request (93 bytes) input to log/5/server.input 19:28:43.434629 Identifying ourselves as friends 19:28:43.434710 Response sent (56 bytes) and written to log/5/server.response 19:28:43.434719 special request received, no persistency 19:28:43.434727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 54810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1519 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1519 ==164029== ==164029== Process terminating with default action of signal 4 (SIGILL) ==164029== Illegal opcode at address 0x51CC63F ==164029== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164029== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164029== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164029== by 0x40041AF: main (first.c:264) === End of file valgrind1519 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:44025/1520 log/14/stdout1520 2> log/14/stderr1520 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:33935/1517 > log/6/stdout1517 2> log/6/stderr1517 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1521 ./libtest/libtests lib1521 - > log/12/stdout1521 2> log/12/stderr1521 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:40913/1522 > log/10/stdout1522 2> log/10/stderr1522 test 1515 [caching of manual libcurl DNS entries after DNS cache timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 36161 > log/3/stdout1515 2> log/3/stderr1515 1515: data FAILED: --- log/3/check-expected 2026-10-15 19:28:45.284157739 +0000 +++ log/3/check-generated 2026-10-15 19:28:45.279121041 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/3/ directory after test 1515 === Start of file check-expected hello[LF] hello[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 36161 > log/3/stdout1515 2> log/3/stderr1515 === End of file commands.log === Start of file http_server.log 19:28:44.130307 ====> Client connect 19:28:44.130343 accept_connection 3 returned 4 19:28:44.130364 Read 93 bytes 19:28:44.130374 Process 93 bytes request 19:28:44.130388 Got request: GET /verifiedserver HTTP/1.1 19:28:44.130396 Are-we-friendly question received 19:28:44.130422 Wrote request (93 bytes) input to log/3/server.input 19:28:44.130438 Identifying ourselves as friends 19:28:44.130500 Response sent (56 bytes) and written to log/3/server.response 19:28:44.130510 special request received, no persistency 19:28:44.130518 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 39880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1515 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1515 ==163746== ==163746== Process terminating with default action of signal 4 (SIGILL) ==163746== Illegal opcode at address 0x51CC63F ==163746== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163746== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163746== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163746== by 0x40041AF: main (first.c:264) === End of file valgrind1515 test 1520 [SMTP with CRLF-dot-CRLF in upload payload] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:44025/1520 log/14/stdout1520 2> log/14/stderr1520 1520: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1520 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:44025/1520 log/14/stdout1520 2> log/14/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 19:28:44.142135 ====> Client connect 19:28:44.142338 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:44.142675 < "EHLO verifiedserver" 19:28:44.142722 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:44.142914 < "HELP" 19:28:44.142950 > "214 WE ROOLZ: 113204[CR][LF]" 19:28:44.142968 return proof we are we 19:28:44.143197 < "QUIT" 19:28:44.143228 > "221 curl ESMTP server signing off[CR][LF]" 19:28:44.144442 MAIN sockfilt said DISC 19:28:44.144475 ====> Client disconnected 19:28:44.144553 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:43.744410 ====> Client connect 19:28:43.744775 Received DATA (on stdin) 19:28:43.744790 > 146 bytes data, server => client 19:28:43.744802 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:43.744812 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:43.744821 '220 \___|\___/|_| \_\_____|\r\n' 19:28:43.744922 < 21 bytes data, client => server 19:28:43.744939 'EHLO verifiedserver\r\n' 19:28:43.745146 Received DATA (on stdin) 19:28:43.745159 > 53 bytes data, server => client 19:28:43.745169 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:43.745232 < 6 bytes data, client => server 19:28:43.745247 'HELP\r\n' 19:28:43.745388 Received DATA (on stdin) 19:28:43.745400 > 22 bytes data, server => client 19:28:43.745410 '214 WE ROOLZ: 113204\r\n' 19:28:43.745517 < 6 bytes data, client => server 19:28:43.745533 'QUIT\r\n' 19:28:43.745649 Received DATA (on stdin) 19:28:43.745660 > 35 bytes data, server => client 19:28:43.745671 '221 curl ESMTP server signing off\r\n' 19:28:43.746806 ====> Client disconnect 19:28:43.746981 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-1520 From: different To: another . . . body === End of file stdin-for-1520 === Start of file valgrind1520 ==164188== ==164188== Process terminating with default action of signal 4 (SIGILL) ==164188== Illegal opcode at address 0x51CC63F ==164188== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164188== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164188== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164188== by 0x40041AF: main (first.c:264) === End of file valgrind1520 test 1517 [HTTP POST, server responds before completed send] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:33935/1517 > log/6/stdout1517 2> log/6/stderr1517 1517: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1517 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:33935/1517 > log/6/stdout1517 2> log/6/stderr1517 === End of file commands.log === Start of file http_server.log 19:28:43.348317 ====> Client connect 19:28:43.349025 accept_connection 3 returned 4 19:28:43.349137 Read 93 bytes 19:28:43.349148 Process 93 bytes request 19:28:43.349163 Got request: GET /verifiedserver HTTP/1.1 19:28:43.349172 Are-we-friendly question received 19:28:43.349201 Wrote request (93 bytes) input to log/6/server.input 19:28:43.349216 Identifying ourselves as friends 19:28:43.349909 Response sent (56 bytes) and written to log/6/server.response 19:28:43.349931 special request received, no persistency 19:28:43.349940 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 51286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd skip: 45 Testnum 1517 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1517 ==163967== ==163967== Process terminating with default action of signal 4 (SIGILL) ==163967== Illegal opcode at address 0x51CC63F ==163967== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==163967== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==163967== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==163967== by 0x40041AF: main (first.c:264) === End of file valgrind1517 test 1522 [CURLINFO_SIZE_UPLOAD with small SO_SNDBUF] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:40913/1522 > log/10/stdout1522 2> log/10/stderr1522 1522: stdout FAILED: --- log/10/check-expected 2026-10-15 19:28:45.517780013 +0000 +++ log/10/check-generated 2026-10-15 19:28:45.512458562 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/10/ directory after test 1522 === Start of file check-expected -foo-[LF] uploadSize = 40960[LF] !!!!!!!!!! PASS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:40913/1522 > log/10/stdout1522 2> log/10/stderr1522 === End of file commands.log === Start of file http_server.log 19:28:43.771120 ====> Client connect 19:28:43.771161 accept_connection 3 returned 4 19:28:43.771186 Read 93 bytes 19:28:43.771201 Process 93 bytes request 19:28:43.771214 Got request: GET /verifiedserver HTTP/1.1 19:28:43.771223 Are-we-friendly question received 19:28:43.771251 Wrote request (93 bytes) input to log/10/server.input 19:28:43.771267 Identifying ourselves as friends 19:28:43.771357 Response sent (56 bytes) and written to log/10/server.response 19:28:43.771366 special request received, no persistency 19:28:43.771374 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 39660 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1522 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1522 ==164210== ==164210== Process terminating with default action of signal 4 (SIGILL) ==164210== Illegal opcode at address 0x51CC63F ==164210== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164210== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164210== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164210== by 0x40041AF: main (first.c:264) === End of file valgrind1522 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/6/stdout1544 2> log/6/stderr1544 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:35735/1523 > log/4/stdout1523 2> log/4/stderr1523 RUN: Process with pid 79264 signalled to die CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:40321/1533 > log/15/stdout1533 2> log/15/stderr1533 RUN: Process with pid 79264 gracefully died CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:38821/1526 127.0.0.1:38663 > log/13/stdout1526 2> log/13/stderr1526 test 1521 [Test all curl_easy_setopt and curl_easy_getinfo options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1521 ./libtest/libtests lib1521 - > log/12/stdout1521 2> log/12/stderr1521 1521: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:45.546951299 +0000 +++ log/12/check-generated 2026-10-15 19:28:45.542459100 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/12/ directory after test 1521 === Start of file check-expected ok[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1521 ./libtest/libtests lib1521 - > log/12/stdout1521 2> log/12/stderr1521 === End of file commands.log === Start of file server.cmd Testnum 1521 === End of file server.cmd === Start of file valgrind1521 ==164156== ==164156== Process terminating with default action of signal 4 (SIGILL) ==164156== Illegal opcode at address 0x51CC63F ==164156== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164156== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164156== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164156== by 0x40041AF: main (first.c:264) === End of file valgrind1521 test 1544 [Verify all string options are translated by OS/400 wrapper] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/6/stdout1544 2> log/6/stderr1544 valgrind SKIPPED -------e--- OK (1428 out of 1890, remaining: 00:54, took 0.133s, duration: 02:48) test 1533 [HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:40321/1533 > log/15/stdout1533 2> log/15/stderr1533 1533: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1533 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:40321/1533 > log/15/stdout1533 2> log/15/stderr1533 === End of file commands.log === Start of file http_server.log 19:28:45.338504 ====> Client connect 19:28:45.338543 accept_connection 3 returned 4 19:28:45.338564 Read 93 bytes 19:28:45.338573 Process 93 bytes request 19:28:45.338585 Got request: GET /verifiedserver HTTP/1.1 19:28:45.338594 Are-we-friendly question received 19:28:45.338619 Wrote request (93 bytes) input to log/15/server.input 19:28:45.338635 Identifying ourselves as friends 19:28:45.338693 Response sent (56 bytes) and written to log/15/server.response 19:28:45.338702 special request received, no persistency 19:28:45.338710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 59554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd auth_required Testnum 1533 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1533 ==164668== ==164668== Process terminating with default action of signal 4 (SIGILL) ==164668== Illegal opcode at address 0x51CC63F ==164668== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164668== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164668== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164668== by 0x40041AF: main (first.c:264) === End of file valgrind1533 test 1523 [CURLINFO_LOW_SPEED_LIMIT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:35735/1523 > log/4/stdout1523 2> log/4/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/4/ directory after test 1523 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:35735/1523 > log/4/stdout1523 2> log/4/stderr1523 === End of file commands.log === Start of file http_server.log 19:28:44.940408 ====> Client connect 19:28:44.940452 accept_connection 3 returned 4 19:28:44.940574 Read 93 bytes 19:28:44.940591 Process 93 bytes request 19:28:44.940604 Got request: GET /verifiedserver HTTP/1.1 19:28:44.940613 Are-we-friendly question received 19:28:44.940647 Wrote request (93 bytes) input to log/4/server.input 19:28:44.940664 Identifying ourselves as friends 19:28:44.940725 Response sent (56 bytes) and written to log/4/server.response 19:28:44.940735 special request received, no persistency 19:28:44.940743 ====> Client disconnect 0 19:28:46.454440 signalled to die 19:28:46.454595 ========> exit message: exit_signal_handler(): triggered 19:28:46.454608 ========> IPv4 sws (port 35735 pid: 79264) exits with signal (15) 19:28:46.454622 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35735... * Established connection to 127.0.0.1 (127.0.0.1 port 35735) from 127.0.0.1 port 58066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35735 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35735 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79264 === End of file http_verify.out === Start of file server.cmd writedelay: 1000 Testnum 1523 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79264 === End of file server.response === Start of file valgrind1523 ==164337== ==164337== Process terminating with default action of signal 4 (SIGILL) ==164337== Illegal opcode at address 0x51CC63F ==164337== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164337== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164337== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164337== by 0x40041AF: main (first.c:264) === End of file valgrind1523 test 1526 [CURLOPT_PROXYHEADER: separate host/proxy headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:38821/1526 127.0.0.1:38663 > log/13/stdout1526 2> log/13/stderr1526 1526: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1526 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:38821/1526 127.0.0.1:38663 > log/13/stdout1526 2> log/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:39881/1528 127.0.0.1:44633 > log/21/stdout1528 2> log/21/stderr1528 3/stderr1526 === End of file commands.log === Start of file http2_server.log 19:28:44.248042 ====> Client connect 19:28:44.248086 accept_connection 3 returned 4 19:28:44.248111 Read 93 bytes 19:28:44.248122 Process 93 bytes request 19:28:44.248148 Got request: GET /verifiedserver HTTP/1.1 19:28:44.248158 Are-we-friendly question received 19:28:44.248189 Wrote request (93 bytes) input to log/13/proxy.input 19:28:44.248211 Identifying ourselves as friends 19:28:44.248299 Response sent (57 bytes) and written to log/13/proxy.response 19:28:44.248312 special request received, no persistency 19:28:44.248320 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38663... * Established connection to 127.0.0.1 (127.0.0.1 port 38663) from 127.0.0.1 port 33700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38663 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38663 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 146612 === End of file http2_verify.out === Start of file http_server.log 19:28:44.147786 ====> Client connect 19:28:44.147829 accept_connection 3 returned 4 19:28:44.147855 Read 93 bytes 19:28:44.147864 Process 93 bytes request 19:28:44.147879 Got request: GET /verifiedserver HTTP/1.1 19:28:44.147888 Are-we-friendly question received 19:28:44.147914 Wrote request (93 bytes) input to log/13/server.input 19:28:44.147933 Identifying ourselves as friends 19:28:44.148015 Response sent (56 bytes) and written to log/13/server.response 19:28:44.148024 special request received, no persistency 19:28:44.148031 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 146612 === End of file proxy.response === Start of file server.cmd Testnum 1526 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1526 ==164547== ==164547== Process terminating with default action of signal 4 (SIGILL) ==164547== Illegal opcode at address 0x51CC63F ==164547== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164547== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164547== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164547== by 0x40041AF: main (first.c:264) === End of file valgrind1526 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1530 ./libtest/libtests lib1530 - > log/7/stdout1530 2> log/7/stderr1530 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40989/1536 > log/11/stdout1536 2> log/11/stderr1536 test 1528 [Separately specified proxy/server headers sent in a proxy GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:39881/1528 127.0.0.1:44633 > log/21/stdout1528 2> log/21/stderr1528 1528: data FAILED: --- log/21/check-expected 2026-10-15 19:28:46.280474061 +0000 +++ log/21/check-generated 2026-10-15 19:28:46.275805290 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] -Server: test-server/fake[CR][LF] -Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] -ETag: "21025-dc7-39462498"[CR][LF] -Content-Length: 5[CR][LF] -[CR][LF] -stop[LF] == Contents of files in the log/21/ directory after test 1528 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] Server: test-server/fake[CR][LF] Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT[CR][LF] ETag: "21025-dc7-39462498"[CR][LF] Content-Length: 5[CR][LF] [CR][LF] stop[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:39881/1528 127.0.0.1:44633 > log/21/stdout1528 2> log/21/stderr1528 === End of file commands.log === Start of file http2_server.log 19:28:45.296689 ====> Client connect 19:28:45.296730 accept_connection 3 returned 4 19:28:45.296752 Read 93 bytes 19:28:45.296762 Process 93 bytes request 19:28:45.296775 Got request: GET /verifiedserver HTTP/1.1 19:28:45.296784 Are-we-friendly question received 19:28:45.296812 Wrote request (93 bytes) input to log/21/proxy.input 19:28:45.296828 Identifying ourselves as friends 19:28:45.296890 Response sent (57 bytes) and written to log/21/proxy.response 19:28:45.296899 special request received, no persistency 19:28:45.296908 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:44633... * Established connection to 127.0.0.1 (127.0.0.1 port 44633) from 127.0.0.1 port 40324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44633 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:44633 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 137984 === End of file http2_verify.out === Start of file http_server.log 19:28:44.234461 ====> Client connect 19:28:44.234506 accept_connection 3 returned 4 19:28:44.234532 Read 93 bytes 19:28:44.234542 Process 93 bytes request 19:28:44.234554 Got request: GET /verifiedserver HTTP/1.1 19:28:44.234563 Are-we-friendly question received 19:28:44.234596 Wrote request (93 bytes) input to log/21/server.input 19:28:44.234612 Identifying ourselves as friends 19:28:44.234691 Response sent (56 bytes) and written to log/21/server.response 19:28:44.234701 special request received, no persistency 19:28:44.234714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 40338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 137984 === End of file proxy.response === Start of file server.cmd Testnum 1528 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1528 ==164617== ==164617== Process terminating with default action of signal 4 (SIGILL) ==164617== Illegal opcode at address 0x51CC63F ==164617== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164617== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164617== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164617== by 0x40041AF: main (first.c:264) === End of file valgrind1528 test 1530 [CURLOPT_OPENSOCKETFUNCTION returns bad socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1530 ./libtest/libtests lib1530 - > log/7/stdout1530 2> log/7/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/7/ directory after test 1530 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1530 ./libtest/libtests lib1530 - > log/7/stdout1530 2> log/7/stderr1530 === End of file commands.log === Start of file server.cmd Testnum 1530 === End of file server.cmd === Start of file valgrind1530 ==164571== ==164571== Process terminating with default action of signal 4 (SIGILL) ==164571== Illegal opcode at address 0x51CC63F ==164571== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164571== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164571== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164571== by 0x40041AF: main (first.c:264) === End of file valgrind1530 test 1536 [Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40989/1536 > log/11/stdout1536 2> log/11/stderr1536 1536: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1536 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:40989/1536 > log/11/stdout1536 2> log/11/stderr1536 === End of file commands.log === Start of file http_server.log 19:28:44.711107 ====> Client connect 19:28:44.711143 accept_connection 3 returned 4 19:28:44.711168 Read 93 bytes 19:28:44.711178 Process 93 bytes request 19:28:44.711191 Got request: GET /verifiedserver HTTP/1.1 19:28:44.711200 Are-we-friendly question received 19:28:44.711226 Wrote request (93 bytes) input to log/11/server.input 19:28:44.711243 Identifying ourselves as friends 19:28:44.711327 Response sent (56 bytes) and written to log/11/server.response 19:28:44.711337 special request received, no persistency 19:28:44.711345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 53284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1536 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1536 ==165010== ==165010== Process terminating wiCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1538 ./libtest/libtests lib1538 - > log/19/stdout1538 2> log/19/stderr1538 th default action of signal 4 (SIGILL) ==165010== Illegal opcode at address 0x51CC63F ==165010== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165010== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165010== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165010== by 0x40041AF: main (first.c:264) === End of file valgrind1536 test 1538 [libcurl strerror API call tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1538 ./libtest/libtests lib1538 - > log/19/stdout1538 2> log/19/stderr1538 1538: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:46.450887087 +0000 +++ log/19/check-generated 2026-10-15 19:28:46.450540511 +0000 @@ -1,159 +0,0 @@ -e0: No error[LF] -e1: Unsupported protocol[LF] -e2: Failed initialization[LF] -e3: URL using bad/illegal format or missing URL[LF] -e4: A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.[LF] -e5: Could not resolve proxy name[LF] -e6: Could not resolve hostname[LF] -e7: Could not connect to server[LF] -e8: Weird server reply[LF] -e9: Access denied to remote resource[LF] -e10: FTP: The server failed to connect to data port[LF] -e11: FTP: unknown PASS reply[LF] -e12: FTP: Accepting server connect has timed out[LF] -e13: FTP: unknown PASV reply[LF] -e14: FTP: unknown 227 response format[LF] -e15: FTP: cannot figure out the host in the PASV response[LF] -e16: Error in the HTTP2 framing layer[LF] -e17: FTP: could not set file type[LF] -e18: Transferred a partial file[LF] -e19: FTP: could not retrieve (RETR failed) the specified file[LF] -e20: Unknown error[LF] -e21: Quote command returned error[LF] -e22: HTTP response code said error[LF] -e23: Failed writing received data to disk/application[LF] -e24: Unknown error[LF] -e25: Upload failed (at start/before it took off)[LF] -e26: Failed to open/read local data from file/application[LF] -e27: Out of memory[LF] -e28: Timeout was reached[LF] -e29: Unknown error[LF] -e30: FTP: command PORT failed[LF] -e31: FTP: command REST failed[LF] -e32: Unknown error[LF] -e33: Requested range was not delivered by the server[LF] -e34: Unknown error[LF] -e35: SSL connect error[LF] -e36: Could not resume download[LF] -e37: Could not read a file:// file[LF] -e38: LDAP: cannot bind[LF] -e39: LDAP: search failed[LF] -e40: Unknown error[LF] -e41: Unknown error[LF] -e42: Operation was aborted by an application callback[LF] -e43: A libcurl function was given a bad argument[LF] -e44: Unknown error[LF] -e45: Failed binding local connection end[LF] -e46: Unknown error[LF] -e47: Number of redirects hit maximum amount[LF] -e48: An unknown option was passed in to libcurl[LF] -e49: Malformed option provided in a setopt[LF] -e50: Unknown error[LF] -e51: Unknown error[LF] -e52: Server returned nothing (no headers, no data)[LF] -e53: SSL crypto engine not found[LF] -e54: Can not set SSL crypto engine as default[LF] -e55: Failed sending data to the peer[LF] -e56: Failure when receiving data from the peer[LF] -e57: Unknown error[LF] -e58: Problem with the local SSL certificate[LF] -e59: Could not use specified SSL cipher[LF] -e60: SSL peer certificate or SSH remote key was not OK[LF] -e61: Unrecognized or bad HTTP Content or Transfer-Encoding[LF] -e62: Unknown error[LF] -e63: Maximum file size exceeded[LF] -e64: Requested SSL level failed[LF] -e65: Send failed since rewinding of the data stream failed[LF] -e66: Failed to initialize SSL crypto engine[LF] -e67: Login denied[LF] -e68: TFTP: File Not Found[LF] -e69: TFTP: Access Violation[LF] -e70: Disk full or allocation exceeded[LF] -e71: TFTP: Illegal operation[LF] -e72: TFTP: Unknown transfer ID[LF] -e73: Remote file already exists[LF] -e74: TFTP: No such user[LF] -e75: Unknown error[LF] -e76: Unknown error[LF] -e77: Problem with the SSL CA cert (path? access rights?)[LF] -e78: Remote file not found[LF] -e79: Error in the SSH layer[LF] -e80: Failed to shut down the SSL connection[LF] -e81: Socket not ready for send/recv[LF] -e82: Failed to load CRL file (path? access rights?, format?)[LF] -e83: Issuer check against peer certificate failed[LF] -e84: FTP: The server did not accept the PRET command.[LF] -e85: RTSP CSeq mismatch or invalid CSeq[LF] -e86: RTSP session error[LF] -e87: Unable to parse FTP file list[LF] -e88: Chunk callback failed[LF] -e89: The max connection limit is reached[LF] -e90: SSL public key does not match pinned public key[LF] -e91: SSL server certificate status verification FAILED[LF] -e92: Stream error in the HTTP/2 framing layer[LF] -e93: API function called from within callback[LF] -e94: An authentication function returned an error[LF] -e95: HTTP/3 error[LF] -e96: QUIC connection error[LF] -e97: proxy handshake error[LF] -e98: SSL Client Certificate required[LF] -e99: Unrecoverable error in select/poll[LF] -e100: A value or data field grew larger than allowed[LF] -e101: ECH attempted but failed[LF] -e102: Unknown error[LF] -m-1: Please call curl_multi_perform() soon[LF] -m0: No error[LF] -m1: Invalid multi handle[LF] -m2: Invalid easy handle[LF] -m3: Out of memory[LF] -m4: Internal error[LF] -m5: Invalid socket argument[LF] -m6: Unknown option[LF] -m7: The easy handle is already added to a multi handle[LF] -m8: API function called from within callback[LF] -m9: Wakeup is unavailable or failed[LF] -m10: A libcurl function was given a bad argument[LF] -m11: Operation was aborted by an application callback[LF] -m12: Unrecoverable error in select/poll[LF] -m13: Unknown error[LF] -s0: No error[LF] -s1: Unknown share option[LF] -s2: Share currently in use[LF] -s3: Invalid share handle[LF] -s4: Out of memory[LF] -s5: Feature not enabled in this library[LF] -s6: CURLSHcode unknown[LF] -u0: No error[LF] -u1: An invalid CURLU pointer was passed as argument[LF] -u2: An invalid 'part' argument was passed as argument[LF] -u3: Malformed input to a URL function[LF] -u4: Port number was not a decimal number between 0 and 65535[LF] -u5: Unsupported URL scheme[LF] -u6: URL decode error, most likely because of rubbish in the input[LF] -u7: A memory function failed[LF] -u8: Credentials was passed in the URL when prohibited[LF] -u9: An unknown part ID was passed to a URL API function[LF] -u10: No scheme present[LF] -u11: No user present[LF] -u12: No password present[LF] -u13: No options present[LF] -u14: No host present[LF] -u15: No port number present[LF] -u16: No query present[LF] -u17: No fragment present[LF] -u18: No zoneid present[LF] -u19: Bad file:// URL[LF] -u20: Bad fragment[LF] -u21: Bad hostname[LF] -u22: Bad IPv6 address[LF] -u23: Bad login[LF] -u24: Bad password[LF] -u25: Bad path[LF] -u26: Bad query[LF] -u27: Bad scheme[LF] -u28: Unsupported number of slashes following scheme[LF] -u29: Bad user[LF] -u30: libcurl lacks IDN support[LF] -u31: A value or data field is larger than allowed[LF] -u32: Found a backslash where a forward slash was expected[LF] -u33: CURLUcode unknown[LF] == Contents of files in the log/19/ directory after test 1538 === Start of file check-expected e0: No error[LF] e1: Unsupported protocol[LF] e2: Failed initialization[LF] e3: URL using bad/illegal format or missing URL[LF] e4: A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.[LF] e5: Could not resolve proxy name[LF] e6: Could not resolve hostname[LF] e7: Could not connect to server[LF] e8: Weird server reply[LF] e9: Access denied to remote resource[LF] e10: FTP: The server failed to connect to data port[LF] e11: FTP: unknown PASS reply[LF] e12: FTP: Accepting server connect has timed out[LF] e13: FTP: unknown PASV reply[LF] e14: FTP: unknown 227 response format[LF] e15: FTP: cannot figure out the host in the PASV response[LF] e16: Error in the HTTP2 framing layer[LF] e17: FTP: could not set file type[LF] e18: Transferred a partial file[LF] e19: FTP: could not retrieve (RETR failed) the specified file[LF] e20: Unknown error[LF] e21: Quote command returned error[LF] e22: HTTP response code said error[LF] e23: Failed writing received data to disk/application[LF] e24: Unknown error[LF] e25: Upload failed (at start/before it took off)[LF] e26: Failed to open/read local data from file/application[LF] e27: Out of memory[LF] e28: Timeout was reached[LF] e29: Unknown error[LF] e30: FTP: command PORT failed[LF] e31: FTP: command REST failed[LF] e32: Unknown error[LF] e33: Requested range was not dCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:35903/1540 > log/16/stdout1540 2> log/16/stderr1540 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:38815/1531 > log/1/stdout1531 2> log/1/stderr1531 elivered by the server[LF] e34: Unknown error[LF] e35: SSL connect error[LF] e36: Could not resume download[LF] e37: Could not read a file:// file[LF] e38: LDAP: cannot bind[LF] e39: LDAP: search failed[LF] e40: Unknown error[LF] e41: Unknown error[LF] e42: Operation was aborted by an application callback[LF] e43: A libcurl function was given a bad argument[LF] e44: Unknown error[LF] e45: Failed binding local connection end[LF] e46: Unknown error[LF] e47: Number of redirects hit maximum amount[LF] e48: An unknown option was passed in to libcurl[LF] e49: Malformed option provided in a setopt[LF] e50: Unknown error[LF] e51: Unknown error[LF] e52: Server returned nothing (no headers, no data)[LF] e53: SSL crypto engine not found[LF] e54: Can not set SSL crypto engine as default[LF] e55: Failed sending data to the peer[LF] e56: Failure when receiving data from the peer[LF] e57: Unknown error[LF] e58: Problem with the local SSL certificate[LF] e59: Could not use specified SSL cipher[LF] e60: SSL peer certificate or SSH remote key was not OK[LF] e61: Unrecognized or bad HTTP Content or Transfer-Encoding[LF] e62: Unknown error[LF] e63: Maximum file size exceeded[LF] e64: Requested SSL level failed[LF] e65: Send failed since rewinding of the data stream failed[LF] e66: Failed to initialize SSL crypto engine[LF] e67: Login denied[LF] e68: TFTP: File Not Found[LF] e69: TFTP: Access Violation[LF] e70: Disk full or allocation exceeded[LF] e71: TFTP: Illegal operation[LF] e72: TFTP: Unknown transfer ID[LF] e73: Remote file already exists[LF] e74: TFTP: No such user[LF] e75: Unknown error[LF] e76: Unknown error[LF] e77: Problem with the SSL CA cert (path? access rights?)[LF] e78: Remote file not found[LF] e79: Error in the SSH layer[LF] e80: Failed to shut down the SSL connection[LF] e81: Socket not ready for send/recv[LF] e82: Failed to load CRL file (path? access rights?, format?)[LF] e83: Issuer check against peer certificate failed[LF] e84: FTP: The server did not accept the PRET command.[LF] e85: RTSP CSeq mismatch or invalid CSeq[LF] e86: RTSP session error[LF] e87: Unable to parse FTP file list[LF] e88: Chunk callback failed[LF] e89: The max connection limit is reached[LF] e90: SSL public key does not match pinned public key[LF] e91: SSL server certificate status verification FAILED[LF] e92: Stream error in the HTTP/2 framing layer[LF] e93: API function called from within callback[LF] e94: An authentication function returned an error[LF] e95: HTTP/3 error[LF] e96: QUIC connection error[LF] e97: proxy handshake error[LF] e98: SSL Client Certificate required[LF] e99: Unrecoverable error in select/poll[LF] e100: A value or data field grew larger than allowed[LF] e101: ECH attempted but failed[LF] e102: Unknown error[LF] m-1: Please call curl_multi_perform() soon[LF] m0: No error[LF] m1: Invalid multi handle[LF] m2: Invalid easy handle[LF] m3: Out of memory[LF] m4: Internal error[LF] m5: Invalid socket argument[LF] m6: Unknown option[LF] m7: The easy handle is already added to a multi handle[LF] m8: API function called from within callback[LF] m9: Wakeup is unavailable or failed[LF] m10: A libcurl function was given a bad argument[LF] m11: Operation was aborted by an application callback[LF] m12: Unrecoverable error in select/poll[LF] m13: Unknown error[LF] s0: No error[LF] s1: Unknown share option[LF] s2: Share currently in use[LF] s3: Invalid share handle[LF] s4: Out of memory[LF] s5: Feature not enabled in this library[LF] s6: CURLSHcode unknown[LF] u0: No error[LF] u1: An invalid CURLU pointer was passed as argument[LF] u2: An invalid 'part' argument was passed as argument[LF] u3: Malformed input to a URL function[LF] u4: Port number was not a decimal number between 0 and 65535[LF] u5: Unsupported URL scheme[LF] u6: URL decode error, most likely because of rubbish in the input[LF] u7: A memory function failed[LF] u8: Credentials was passed in the URL when prohibited[LF] u9: An unknown part ID was passed to a URL API function[LF] u10: No scheme present[LF] u11: No user present[LF] u12: No password present[LF] u13: No options present[LF] u14: No host present[LF] u15: No port number present[LF] u16: No query present[LF] u17: No fragment present[LF] u18: No zoneid present[LF] u19: Bad file:// URL[LF] u20: Bad fragment[LF] u21: Bad hostname[LF] u22: Bad IPv6 address[LF] u23: Bad login[LF] u24: Bad password[LF] u25: Bad path[LF] u26: Bad query[LF] u27: Bad scheme[LF] u28: Unsupported number of slashes following scheme[LF] u29: Bad user[LF] u30: libcurl lacks IDN support[LF] u31: A value or data field is larger than allowed[LF] u32: Found a backslash where a forward slash was expected[LF] u33: CURLUcode unknown[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1538 ./libtest/libtests lib1538 - > log/19/stdout1538 2> log/19/stderr1538 === End of file commands.log === Start of file server.cmd Testnum 1538 === End of file server.cmd === Start of file valgrind1538 ==165051== ==165051== Process terminating with default action of signal 4 (SIGILL) ==165051== Illegal opcode at address 0x51CC63F ==165051== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165051== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165051== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165051== by 0x40041AF: main (first.c:264) === End of file valgrind1538 test 1531 [CURLOPT_POSTFIELDS with binary data set after multi_add_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:38815/1531 > log/1/stdout1531 2> log/1/stderr1531 1531: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1531 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:38815/1531 > log/1/stdout1531 2> log/1/stderr1531 === End of file commands.log === Start of file http_server.log 19:28:45.387781 ====> Client connect 19:28:45.387821 accept_connection 3 returned 4 19:28:45.387844 Read 93 bytes 19:28:45.387854 Process 93 bytes request 19:28:45.387867 Got request: GET /verifiedserver HTTP/1.1 19:28:45.387875 Are-we-friendly question received 19:28:45.387903 Wrote request (93 bytes) input to log/1/server.input 19:28:45.387920 Identifying ourselves as friends 19:28:45.388132 Response sent (56 bytes) and written to log/1/server.response 19:28:45.388146 special request received, no persistency 19:28:45.388155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 33036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1531 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1531 ==164709== ==164709== Process terminating with default action of signal 4 (SIGILL) ==164709== Illegal opcode at address 0x51CC63F ==164709== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164709== by 0x51D058B: curl_mvfprintf (mprintf.c:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:43733/1532 > log/9/stdout1532 2> log/9/stderr1532 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:35993/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 1482) ==164709== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164709== by 0x40041AF: main (first.c:264) === End of file valgrind1531 test 1540 [chunked with trailers and pausing the receive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:35903/1540 > log/16/stdout1540 2> log/16/stderr1540 1540: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1540 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:35903/1540 > log/16/stdout1540 2> log/16/stderr1540 === End of file commands.log === Start of file http_server.log 19:28:45.964489 ====> Client connect 19:28:45.964533 accept_connection 3 returned 4 19:28:45.964558 Read 93 bytes 19:28:45.964567 Process 93 bytes request 19:28:45.964579 Got request: GET /verifiedserver HTTP/1.1 19:28:45.964587 Are-we-friendly question received 19:28:45.964612 Wrote request (93 bytes) input to log/16/server.input 19:28:45.964628 Identifying ourselves as friends 19:28:45.964693 Response sent (56 bytes) and written to log/16/server.response 19:28:45.964702 special request received, no persistency 19:28:45.964710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1540 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1540 ==165271== ==165271== Process terminating with default action of signal 4 (SIGILL) ==165271== Illegal opcode at address 0x51CC63F ==165271== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165271== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165271== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165271== by 0x40041AF: main (first.c:264) === End of file valgrind1540 test 1532 [Test CURLINFO_RESPONSE_CODE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:43733/1532 > log/9/stdout1532 2> log/9/stderr1532 1532: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1532 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:43733/1532 > log/9/stdout1532 2> log/9/stderr1532 === End of file commands.log === Start of file http_server.log 19:28:44.390726 ====> Client connect 19:28:44.390759 accept_connection 3 returned 4 19:28:44.394663 Read 93 bytes 19:28:44.394684 Process 93 bytes request 19:28:44.394697 Got request: GET /verifiedserver HTTP/1.1 19:28:44.394705 Are-we-friendly question received 19:28:44.394747 Wrote request (93 bytes) input to log/9/server.input 19:28:44.394766 Identifying ourselves as friends 19:28:44.394831 Response sent (56 bytes) and written to log/9/server.response 19:28:44.394842 special request received, no persistency 19:28:44.394850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1532 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1532 ==164708== ==164708== Process terminating with default action of signal 4 (SIGILL) ==164708== Illegal opcode at address 0x51CC63F ==164708== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164708== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164708== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164708== by 0x40041AF: main (first.c:264) === End of file valgrind1532 test 1524 [HTTP PUT with 303 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:35993/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 1524: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1524 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1524 ../src/curl -q --output log/17/curl1524.out --include --trace-ascii log/17/trace1524 --trace-time http://127.0.0.1:35993/blah/1524 -L -T log/17/upload1524.txt > log/17/stdout1524 2> log/17/stderr1524 === End of file commands.log === Start of file http_server.log 19:28:45.031122 ====> Client connect 19:28:45.031161 accept_connection 3 returned 4 19:28:45.031183 Read 93 bytes 19:28:45.031192 Process 93 bytes request 19:28:45.031205 Got request: GET /verifiedserver HTTP/1.1 19:28:45.031213 Are-we-friendly question received 19:28:45.031240 Wrote request (93 bytes) input to log/17/server.input 19:28:45.031256 Identifying ourselves as friends 19:28:45.031328 Response sent (56 bytes) and written to log/17/server.response 19:28:45.031337 special request received, no persistency 19:28:45.031345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 42278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1524 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==164386== ==164386== Process terminating with default action of signal 4 (SIGILL) ==164386== Illegal opcode at address 0x492B75F ==164386== at 0x492B75F:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44467/1535 > log/8/stdout1535 2> log/8/stderr1535 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:34531/1534 > log/2/stdout1534 2> log/2/stderr1534 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37089/1541 > log/5/stdout1541 2> log/5/stderr1541 formatf.constprop.2 (mprintf.c:1115) ==164386== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==164386== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==164386== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==164386== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==164386== by 0x49908EB: curl_version_info (version.c:600) ==164386== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==164386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==164386== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==164386== by 0x4003269: main (tool_main.c:195) === End of file valgrind1524 test 1535 [Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44467/1535 > log/8/stdout1535 2> log/8/stderr1535 1535: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1535 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:44467/1535 > log/8/stdout1535 2> log/8/stderr1535 === End of file commands.log === Start of file http_server.log 19:28:44.670723 ====> Client connect 19:28:44.670760 accept_connection 3 returned 4 19:28:44.670781 Read 93 bytes 19:28:44.670791 Process 93 bytes request 19:28:44.670804 Got request: GET /verifiedserver HTTP/1.1 19:28:44.670813 Are-we-friendly question received 19:28:44.670841 Wrote request (93 bytes) input to log/8/server.input 19:28:44.670858 Identifying ourselves as friends 19:28:44.670920 Response sent (56 bytes) and written to log/8/server.response 19:28:44.670973 special request received, no persistency 19:28:44.670982 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 45240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1535 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1535 ==164981== ==164981== Process terminating with default action of signal 4 (SIGILL) ==164981== Illegal opcode at address 0x51CC63F ==164981== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164981== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164981== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164981== by 0x40041AF: main (first.c:264) === End of file valgrind1535 test 1534 [CURLINFO_FILETIME init and reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:34531/1534 > log/2/stdout1534 2> log/2/stderr1534 1534: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1534 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:34531/1534 > log/2/stdout1534 2> log/2/stderr1534 === End of file commands.log === Start of file http_server.log 19:28:45.557791 ====> Client connect 19:28:45.557830 accept_connection 3 returned 4 19:28:45.557853 Read 93 bytes 19:28:45.557863 Process 93 bytes request 19:28:45.557875 Got request: GET /verifiedserver HTTP/1.1 19:28:45.557885 Are-we-friendly question received 19:28:45.557913 Wrote request (93 bytes) input to log/2/server.input 19:28:45.557930 Identifying ourselves as friends 19:28:45.558005 Response sent (56 bytes) and written to log/2/server.response 19:28:45.558016 special request received, no persistency 19:28:45.558024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 53582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1534 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1534 ==164910== ==164910== Process terminating with default action of signal 4 (SIGILL) ==164910== Illegal opcode at address 0x51CC63F ==164910== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164910== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164910== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164910== by 0x40041AF: main (first.c:264) === End of file valgrind1534 test 1541 [CURLINFO timer check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37089/1541 > log/5/stdout1541 2> log/5/stderr1541 1541: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1541 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:37089/1541 > log/5/stdout1541 2> log/5/stderr1541 === End of file commands.log === Start of file http_server.log 19:28:44.961110 ====> Client connect 19:28:44.961153 accept_connection 3 returned 4 19:28:44.961178 Read 93 bytes 19:28:44.961188 Process 93 bytes request 19:28:44.961202 Got request: GET /verifiedserver HTTP/1.1 19:28:44.961211 Are-we-friendly question received 19:28:44.961238 Wrote request (93 bytes) input to log/5/server.input 19:28:44.961254 Identifying ourselves as friends 19:28:44.961338 Response sent (56 bytes) and written to log/5/server.response 19:28:44.961347 special request received, no persistency 19:28:44.961355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 54820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd writedelay: 10 Testnum 1541 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1537 ./libtest/libtests lib1537 - > log/20/stdout1537 2> log/20/stderr1537 Start of file valgrind1541 ==165257== ==165257== Process terminating with default action of signal 4 (SIGILL) ==165257== Illegal opcode at address 0x51CC63F ==165257== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165257== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165257== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165257== by 0x40041AF: main (first.c:264) === End of file valgrind1541 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:36161/1542 > log/3/stdout1542 2> log/3/stderr1542 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:35989/1539 > log/22/stdout1539 2> log/22/stderr1539 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:45467/ /with/ space/ /file" > log/14/stdout1543 2> log/14/stderr1543 test 1537 [libcurl URL escape/unescape tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1537 ./libtest/libtests lib1537 - > log/20/stdout1537 2> log/20/stderr1537 1537: stdout FAILED: --- log/20/check-expected 2026-10-15 19:28:46.683935815 +0000 +++ log/20/check-generated 2026-10-15 19:28:46.682502352 +0000 @@ -1,8 +0,0 @@ -%2F%3A%3B%3C%3D%3E%3F%91%A2%B3%C4%D5%E6%F7[LF] -%2F%3A%3B%3C%3D%3E%3F%91%A2%B3%C4%D5%E6%F7[LF] -outlen == 14[LF] -unescape == original? YES[LF] -[old] outlen == 14[LF] -[old] unescape == original? YES[LF] -escape -1 length: (nil)[LF] -unescape -1 length: (nil) 2017[LF] == Contents of files in the log/20/ directory after test 1537 === Start of file check-expected %2F%3A%3B%3C%3D%3E%3F%91%A2%B3%C4%D5%E6%F7[LF] %2F%3A%3B%3C%3D%3E%3F%91%A2%B3%C4%D5%E6%F7[LF] outlen == 14[LF] unescape == original? YES[LF] [old] outlen == 14[LF] [old] unescape == original? YES[LF] escape -1 length: (nil)[LF] unescape -1 length: (nil) 2017[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1537 ./libtest/libtests lib1537 - > log/20/stdout1537 2> log/20/stderr1537 === End of file commands.log === Start of file server.cmd Testnum 1537 === End of file server.cmd === Start of file valgrind1537 ==164980== ==164980== Process terminating with default action of signal 4 (SIGILL) ==164980== Illegal opcode at address 0x51CC63F ==164980== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==164980== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==164980== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==164980== by 0x40041AF: main (first.c:264) === End of file valgrind1537 test 1542 [connection reuse with CURLOPT_MAXLIFETIME_CONN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:36161/1542 > log/3/stdout1542 2> log/3/stderr1542 1542: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1542 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:36161/1542 > log/3/stdout1542 2> log/3/stderr1542 === End of file commands.log === Start of file http_server.log 19:28:46.012548 ====> Client connect 19:28:46.012590 accept_connection 3 returned 4 19:28:46.012614 Read 93 bytes 19:28:46.012624 Process 93 bytes request 19:28:46.012637 Got request: GET /verifiedserver HTTP/1.1 19:28:46.012646 Are-we-friendly question received 19:28:46.012675 Wrote request (93 bytes) input to log/3/server.input 19:28:46.012693 Identifying ourselves as friends 19:28:46.012769 Response sent (56 bytes) and written to log/3/server.response 19:28:46.012781 special request received, no persistency 19:28:46.012791 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 39886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1542 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1542 ==165313== ==165313== Process terminating with default action of signal 4 (SIGILL) ==165313== Illegal opcode at address 0x51CC63F ==165313== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165313== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165313== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165313== by 0x40041AF: main (first.c:264) === End of file valgrind1542 test 1539 [HTTP 1.0 POST with read callback and unknown data size] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:35989/1539 > log/22/stdout1539 2> log/22/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/22/ directory after test 1539 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:35989/1539 > log/22/stdout1539 2> log/22/stderr1539 === End of file commands.log === Start of file http_server.log 19:28:44.947704 ====> Client connect 19:28:44.947747 accept_connection 3 returned 4 19:28:44.947769 Read 93 bytes 19:28:44.947777 Process 93 bytes request 19:28:44.947788 Got request: GET /verifiedserver HTTP/1.1 19:28:44.947796 Are-we-friendly question received 19:28:44.947818 Wrote request (93 bytes) input to log/22/server.input 19:28:44.947834 Identifying ourselves as friends 19:28:44.947892 Response sent (56 bytes) and written to log/22/server.response 19:28:44.947900 special request received, no persistency 19:28:44.947908 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 38028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1539 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1539 ==165244== ==165244== Process terminating with default action of signal 4 (SIGILL) ==165244== Illegal opcode at address 0x51CC63F ==165244== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165244== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165244== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165244== by 0x40041AF: main (first.c:264) === End of file valgrind1539 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:43739/1529" 127.0.0.1:38183 > log/18/stdout1529 2> log/18/stderr1529 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:40921/1545 > log/12/stdout1545 2> log/12/stderr1545 test 1543 [CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:45467/ /with/ space/ /file" > log/14/stdout1543 2> log/14/stderr1543 1543: stdout FAILED: --- log/14/check-expected 2026-10-15 19:28:46.865476142 +0000 +++ log/14/check-generated 2026-10-15 19:28:46.862481826 +0000 @@ -1,5 +0,0 @@ -result 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:45467/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/14/ directory after test 1543 === Start of file check-expected result 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:45467/%20/with/%20space/15430002[LF] redirecturl blank[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:45467/ /with/ space/ /file" > log/14/stdout1543 2> log/14/stderr1543 === End of file commands.log === Start of file http_server.log 19:28:45.059766 ====> Client connect 19:28:45.059800 accept_connection 3 returned 4 19:28:45.059822 Read 93 bytes 19:28:45.059831 Process 93 bytes request 19:28:45.059843 Got request: GET /verifiedserver HTTP/1.1 19:28:45.059851 Are-we-friendly question received 19:28:45.059905 Wrote request (93 bytes) input to log/14/server.input 19:28:45.059921 Identifying ourselves as friends 19:28:45.067814 Response sent (56 bytes) and written to log/14/server.response 19:28:45.067835 special request received, no persistency 19:28:45.067844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1543 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1543 ==165398== ==165398== Process terminating with default action of signal 4 (SIGILL) ==165398== Illegal opcode at address 0x51CC63F ==165398== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165398== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165398== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165398== by 0x40041AF: main (first.c:264) === End of file valgrind1543 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/18/server/http2_server.pid" --logfile "log/18/http2_server.log" --logdir "log/18" --portfile log/18/server/http2_server.port --config log/18/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 164586 port 38183 * pid http-proxy => 164586 164586 test 1529 [HTTP request-injection in URL sent over proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:43739/1529" 127.0.0.1:38183 > log/18/stdout1529 2> log/18/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/18/ directory after test 1529 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:43739/1529" 127.0.0.1:38183 > log/18/stdout1529 2> log/18/stderr1529 === End of file commands.log === Start of file http2_server.log 19:28:44.338705 Run as proxy, CONNECT to host 127.0.0.1 19:28:44.338823 Running HTTP IPv4 version on port 38183 19:28:44.338864 Wrote pid 164586 to log/18/server/http2_server.pid 19:28:44.338897 Wrote port 38183 to log/18/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:45.311111 ====> Client connect 19:28:45.311153 accept_connection 3 returned 4 19:28:45.311178 Read 93 bytes 19:28:45.311187 Process 93 bytes request 19:28:45.311200 Got request: GET /verifiedserver HTTP/1.1 19:28:45.311209 Are-we-friendly question received 19:28:45.311239 Wrote request (93 bytes) input to log/18/server.input 19:28:45.311255 Identifying ourselves as friends 19:28:45.311343 Response sent (56 bytes) and written to log/18/server.response 19:28:45.311354 special request received, no persistency 19:28:45.311362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1529 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1529 ==165674== ==165674== Process terminating with default action of signal 4 (SIGILL) ==165674== Illegal opcode at address 0x51CC63F ==165674== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165674== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165674== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165674== by 0x40041AF: main (first.c:264) === End of file valgrind1529 test 1545 [use curl_formadd() data twice with unreadable file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:40921/1545 > log/12/stdout1545 2> log/12/stderr1545 libtests returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/12/ directory after test 1545 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:40921/1545 > log/12/stdout1545 2> log/12/stderr1545 === End of file commands.log === Start of file http_server.log 19:28:45.231447 ====> Client connect 19:28:45.231487 accept_connection 3 returned 4 19:28:45.231510 Read 93 bytes 19:28:45.231521 Process 93 bytes request 19:28:45.231533 Got request: GET /verifiedserver HTTP/1.1 19:28:45.231542 Are-we-friendly question received 19:28:45.231574 Wrote request (93 bytes) input to log/12/server.input 19:28:45.231592 Identifying ourselves as friends 19:28:45.231664 Response sent (56 bytes) and written to log/12/server.response 19:28:45.231676 special request received, no persistency 19:28:45.231684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37590 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:38895/1527 127.0.0.1:43727 > log/24/stdout1527 2> log/24/stderr1527 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44711/1525 127.0.0.1:34921 > log/23/stdout1525 2> log/23/stderr1525 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1550 ./libtest/libtests lib1550 - > log/13/stdout1550 2> log/13/stderr1550 .0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1545 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1545 ==165587== ==165587== Process terminating with default action of signal 4 (SIGILL) ==165587== Illegal opcode at address 0x51CC63F ==165587== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165587== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165587== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165587== by 0x40041AF: main (first.c:264) === End of file valgrind1545 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/24/server/http2_server.pid" --logfile "log/24/http2_server.log" --logdir "log/24" --portfile log/24/server/http2_server.port --config log/24/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 164475 port 43727 * pid http-proxy => 164475 164475 test 1527 [Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:38895/1527 127.0.0.1:43727 > log/24/stdout1527 2> log/24/stderr1527 1527: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1527 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:38895/1527 127.0.0.1:43727 > log/24/stdout1527 2> log/24/stderr1527 === End of file commands.log === Start of file http2_server.log 19:28:44.254985 Run as proxy, CONNECT to host 127.0.0.1 19:28:44.255096 Running HTTP IPv4 version on port 43727 19:28:44.255147 Wrote pid 164475 to log/24/server/http2_server.pid 19:28:44.255181 Wrote port 43727 to log/24/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:44.171133 ====> Client connect 19:28:44.171177 accept_connection 3 returned 4 19:28:44.171204 Read 93 bytes 19:28:44.171214 Process 93 bytes request 19:28:44.171229 Got request: GET /verifiedserver HTTP/1.1 19:28:44.171237 Are-we-friendly question received 19:28:44.171261 Wrote request (93 bytes) input to log/24/server.input 19:28:44.171277 Identifying ourselves as friends 19:28:44.171371 Response sent (56 bytes) and written to log/24/server.response 19:28:44.171380 special request received, no persistency 19:28:44.171388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1527 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1527 ==165486== ==165486== Process terminating with default action of signal 4 (SIGILL) ==165486== Illegal opcode at address 0x51CC63F ==165486== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165486== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165486== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165486== by 0x40041AF: main (first.c:264) === End of file valgrind1527 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/23/server/http2_server.pid" --logfile "log/23/http2_server.log" --logdir "log/23" --portfile log/23/server/http2_server.port --config log/23/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 164412 port 34921 * pid http-proxy => 164412 164412 test 1525 [CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44711/1525 127.0.0.1:34921 > log/23/stdout1525 2> log/23/stderr1525 1525: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1525 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:44711/1525 127.0.0.1:34921 > log/23/stdout1525 2> log/23/stderr1525 === End of file commands.log === Start of file http2_server.log 19:28:44.136903 Run as proxy, CONNECT to host 127.0.0.1 19:28:44.137037 Running HTTP IPv4 version on port 34921 19:28:44.137092 Wrote pid 164412 to log/23/server/http2_server.pid 19:28:44.137127 Wrote port 34921 to log/23/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:28:44.086729 ====> Client connect 19:28:44.086764 accept_connection 3 returned 4 19:28:44.086785 Read 93 bytes 19:28:44.086795 Process 93 bytes request 19:28:44.086808 Got request: GET /verifiedserver HTTP/1.1 19:28:44.086816 Are-we-friendly question received 19:28:44.086842 Wrote request (93 bytes) input to log/23/server.input 19:28:44.086858 Identifying ourselves as friends 19:28:44.086920 Response sent (56 bytes) and written to log/23/server.response 19:28:44.086930 special request received, no persistency 19:28:44.086938 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1525 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1525 ==165450== ==165450== Process terminating with default action of signal 4 (SIGILL) ==165450== Illegal opcode at address 0x51CC63F ==165450== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165450== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165450== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165450== by 0x40041AF: main (first.c:264) === End of file valgrind1525 test 1550 [verify setting pipelining blocklisting options] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1550 ./libtest/libtests lib1550 - > log/13/stdout1550 2> log/13/stderrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/stderr1559 1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/13/ directory after test 1550 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1550 ./libtest/libtests lib1550 - > log/13/stdout1550 2> log/13/stderr1550 === End of file commands.log === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file valgrind1550 ==165876== ==165876== Process terminating with default action of signal 4 (SIGILL) ==165876== Illegal opcode at address 0x51CC63F ==165876== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==165876== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==165876== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==165876== by 0x40041AF: main (first.c:264) === End of file valgrind1550 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39881/1551 > log/21/stdout1551 2> log/21/stderr1551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/1/data1558 > log/1/stdout1558 2> log/1/stderr1558 test 1559 [Set excessive URL lengths] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/stderr1559 1559: stdout FAILED: --- log/8/check-expected 2026-10-15 19:28:47.873291333 +0000 +++ log/8/check-generated 2026-10-15 19:28:47.869164472 +0000 @@ -1,5 +0,0 @@ -CURLOPT_URL 10000000 bytes URL == 43[LF] -CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] -CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] -CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] -CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] == Contents of files in the log/8/ directory after test 1559 === Start of file check-expected CURLOPT_URL 10000000 bytes URL == 43[LF] CURLOPT_POSTFIELDS 10000000 bytes data == 0[LF] CURLUPART_URL 10000000 bytes URL == 3 (Malformed input to a URL function)[LF] CURLUPART_SCHEME 10000000 bytes scheme == 3 (Malformed input to a URL function)[LF] CURLUPART_USER 10000000 bytes user == 3 (Malformed input to a URL function)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1559 ./libtest/libtests lib1559 - > log/8/stdout1559 2> log/8/stderr1559 === End of file commands.log === Start of file server.cmd Testnum 1559 === End of file server.cmd === Start of file valgrind1559 ==166159== ==166159== Process terminating with default action of signal 4 (SIGILL) ==166159== Illegal opcode at address 0x51CC63F ==166159== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166159== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166159== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166159== by 0x40041AF: main (first.c:264) === End of file valgrind1559 test 1551 [re-run redirected transfer without setting URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39881/1551 > log/21/stdout1551 2> log/21/stderr1551 1551: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1551 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39881/1551 > log/21/stdout1551 2> log/21/stderr1551 === End of file commands.log === Start of file http_server.log 19:28:46.013290 ====> Client connect 19:28:46.013328 accept_connection 3 returned 4 19:28:46.013543 Read 93 bytes 19:28:46.013554 Process 93 bytes request 19:28:46.013567 Got request: GET /verifiedserver HTTP/1.1 19:28:46.013575 Are-we-friendly question received 19:28:46.013605 Wrote request (93 bytes) input to log/21/server.input 19:28:46.013622 Identifying ourselves as friends 19:28:46.013816 Response sent (56 bytes) and written to log/21/server.response 19:28:46.013826 special request received, no persistency 19:28:46.013834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 40344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1551 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1551 ==166008== ==166008== Process terminating with default action of signal 4 (SIGILL) ==166008== Illegal opcode at address 0x51CC63F ==166008== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166008== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166008== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166008== by 0x40041AF: main (first.c:264) === End of file valgrind1551 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/17/stdout1557 2> log/17/stderr1557 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1564 ./libtest/libtests lib1564 - > log/5/stdout1564 2> log/5/stderr1564 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1546 ../src/curl -q --output log/10/curl1546.out --include --trace-ascii log/10/trace1546 --trace-time http://127.0.0.1:40913/1546 --tr-encoding > log/10/stdout1546 2> log/10/stderr1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35903/1555 > log/16/stdout1555 2> log/16/stderr1555 test 1558 [CURLINFO_PROTOCOL for file:// transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/1/data1558 > log/1/stdout1558 2> log/1/stderr1558 1558: stdout FAILED: --- log/1/check-expected 2026-10-15 19:28:47.948370665 +0000 +++ log/1/check-generated 2026-10-15 19:28:47.942498958 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/1/ directory after test 1558 === Start of file check-expected hello[LF] Protocol: 400[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/1/data1558 > log/1/stdout1558 2> log/1/stderr1558 === End of file commands.log === Start of file data1558 hello === End of file data1558 === Start of file server.cmd Testnum 1558 === End of file server.cmd === Start of file valgrind1558 ==166161== ==166161== Process terminating with default action of signal 4 (SIGILL) ==166161== Illegal opcode at address 0x51CC63F ==166161== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166161== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166161== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166161== by 0x40041AF: main (first.c:264) === End of file valgrind1558 test 1557 [Remove easy handle in pending connections, no dangling entry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/17/stdout1557 2> log/17/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/17/ directory after test 1557 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/17/stdout1557 2> log/17/stderr1557 === End of file commands.log === Start of file server.cmd Testnum 1557 === End of file server.cmd === Start of file valgrind1557 ==166147== ==166147== Process terminating with default action of signal 4 (SIGILL) ==166147== Illegal opcode at address 0x51CC63F ==166147== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166147== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166147== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166147== by 0x40041AF: main (first.c:264) === End of file valgrind1557 test 1564 [wakeup before poll with no easy handles] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1564 ./libtest/libtests lib1564 - > log/5/stdout1564 2> log/5/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/5/ directory after test 1564 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1564 ./libtest/libtests lib1564 - > log/5/stdout1564 2> log/5/stderr1564 === End of file commands.log === Start of file server.cmd Testnum 1564 === End of file server.cmd === Start of file valgrind1564 ==166474== ==166474== Process terminating with default action of signal 4 (SIGILL) ==166474== Illegal opcode at address 0x51CC63F ==166474== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166474== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166474== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166474== by 0x40041AF: main (first.c:264) === End of file valgrind1564 test 1546 [HTTP transfer-encoding wrong order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1546 ../src/curl -q --output log/10/curl1546.out --include --trace-ascii log/10/trace1546 --trace-time http://127.0.0.1:40913/1546 --tr-encoding > log/10/stdout1546 2> log/10/stderr1546 1546: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1546 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1546 ../src/curl -q --output log/10/curl1546.out --include --trace-ascii log/10/trace1546 --trace-time http://127.0.0.1:40913/1546 --tr-encoding > log/10/stdout1546 2> log/10/stderr1546 === End of file commands.log === Start of file http_server.log 19:28:45.244871 ====> Client connect 19:28:45.244917 accept_connection 3 returned 4 19:28:45.244948 Read 93 bytes 19:28:45.244959 Process 93 bytes request 19:28:45.244974 Got request: GET /verifiedserver HTTP/1.1 19:28:45.244983 Are-we-friendly question received 19:28:45.245017 Wrote request (93 bytes) input to log/10/server.input 19:28:45.245036 Identifying ourselves as friends 19:28:45.245136 Response sent (56 bytes) and written to log/10/server.response 19:28:45.245149 special request received, no persistency 19:28:45.245159 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 39670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1546 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1546 ==165595== ==165595== Process terminating with default action of signal 4 (SIGILL) ==165595== Illegal opcode at address 0x492B75F ==165595== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==165595== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==165595== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==165595== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==165595== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==165595== by 0x49908EB: curl_version_info (version.c:600) ==165595== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==165595== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==165595== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==165595== by 0x4003269: main (tool_main.c:195) === End of file valgrind1546 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:32943/1549 > log/4/stdout1549 2> log/4/stderr1549 test 1555 [verify api is protected against calls from callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35903/1555 > log/16/stdout1555 2> log/16/stderr1555 1555: stdout FAILED: --- log/16/check-expected 2026-10-15 19:28:48.187581522 +0000 +++ log/16/check-generated 2026-10-15 19:28:48.184572543 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/16/ directory after test 1555 === Start of file check-expected curl_easy_recv returned 93[LF] curl_easy_send returned 93[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35903/1555 > log/16/stdout1555 2> log/16/stderr1555 === End of file commands.log === Start of file http_server.log 19:28:47.238269 ====> Client connect 19:28:47.238304 accept_connection 3 returned 4 19:28:47.238328 Read 93 bytes 19:28:47.238338 Process 93 bytes request 19:28:47.238351 Got request: GET /verifiedserver HTTP/1.1 19:28:47.238359 Are-we-friendly question received 19:28:47.238384 Wrote request (93 bytes) input to log/16/server.input 19:28:47.238400 Identifying ourselves as friends 19:28:47.238472 Response sent (56 bytes) and written to log/16/server.response 19:28:47.238481 special request received, no persistency 19:28:47.238489 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1555 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1555 ==166150== ==166150== Process terminating with default action of signal 4 (SIGILL) ==166150== Illegal opcode at address 0x51CC63F ==166150== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166150== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166150== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166150== by 0x40041AF: main (first.c:264) === End of file valgrind1555 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:45467/1567 > log/14/stdout1567 2> log/14/stderr1567 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:37077/1554 > log/19/stdout1554 2> log/19/stderr1554 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_server.pid" --logfile "log/4/http_server.log" --logdir "log/4" --portfile log/4/server/http_server.port --config log/4/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP server is on PID 165851 port 32943 * pid http => 165851 165851 test 1549 [Receive expired cookies and CURLINFO_COOKIELIST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:32943/1549 > log/4/stdout1549 2> log/4/stderr1549 1549: stderr FAILED: --- log/4/check-expected 2026-10-15 19:28:48.210241000 +0000 +++ log/4/check-generated 2026-10-15 19:28:48.205836211 +0000 @@ -1,3 +0,0 @@ -URL: http://127.0.0.1:32943/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/4/ directory after test 1549 === Start of file check-expected URL: http://127.0.0.1:32943/1549[CR][LF] 0 cookies[CR][LF] Test ended with result 0[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:32943/1549 > log/4/stdout1549 2> log/4/stderr1549 === End of file commands.log === Start of file http_server.log 19:28:46.625113 Running HTTP IPv4 version on port 32943 19:28:46.625270 Wrote pid 165851 to log/4/server/http_server.pid 19:28:46.625310 Wrote port 32943 to log/4/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1549 === End of file server.cmd === Start of file valgrind1549 ==166675== ==166675== Process terminating with default action of signal 4 (SIGILL) ==166675== Illegal opcode at address 0x51CC63F ==166675== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166675== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166675== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166675== by 0x40041AF: main (first.c:264) === End of file valgrind1549 test 1567 [re-run redirected transfer without setting CURLU URL again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:45467/1567 > log/14/stdout1567 2> log/14/stderr1567 1567: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1567 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:45467/1567 > log/14/stdout1567 2> log/14/stderr1567 === End of file commands.log === Start of file http_server.log 19:28:46.567598 ====> Client connect 19:28:46.567658 accept_connection 3 returned 4 19:28:46.567697 Read 93 bytes 19:28:46.567707 Process 93 bytes request 19:28:46.567720 Got request: GET /verifiedserver HTTP/1.1 19:28:46.567728 Are-we-friendly question received 19:28:46.567756 Wrote request (93 bytes) input to log/14/server.input 19:28:46.567773 Identifying ourselves as friends 19:28:46.567853 Response sent (56 bytes) and written to log/14/server.response 19:28:46.567865 special request received, no persistency 19:28:46.567873 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1567 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1567 ==166700== ==166700== Process terminating with default action of signal 4 (SIGILL) ==166700== Illegal opcode at address 0x51CC63F ==166700== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166700== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166700== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166700== by 0x40041AF: main (first.c:264) === End of file valgrind1567 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:43733/1556 > log/9/stdout1556 2> log/9/stderr1556 test 1554 [HTTP with shared connection cache] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:37077/1554 > log/19/stdout1554 2> log/19/stderr1554 1554: data FAILED: --- log/19/check-expected 2026-10-15 19:28:48.253531321 +0000 +++ log/19/check-generated 2026-10-15 19:28:48.249170176 +0000 @@ -1,39 +0,0 @@ --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] -run 1: foobar and so on fun![LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock SHARE[LF] -[- Mutex unlock SHARE[LF] --] Mutex lock CONNECT[LF] -[- Mutex unlock CONNECT[LF] == Contents of files in the log/19/ directory after test 1554 === Start of file check-expected -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] run 1: foobar and so on fun![LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock SHARE[LF] [- Mutex unlock SHARE[LF] -] Mutex lock CONNECT[LF] [- Mutex unlock CONNECT[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:37077/1554 > log/19/stdout1554 2> log/19/stderr1554 === End of file commands.log === Start of file http_server.log 19:28:46.104934 ====> Client connect 19:28:46.104971 accept_connection 3 returned 4 19:28:46.104994 Read 93 bytes 19:28:46.105005 Process 93 bytes request 19:28:46.105018 Got request: GET /verifiedserver HTTP/1.1 19:28:46.105028 Are-we-friendly question received 19:28:46.105057 Wrote request (93 bytes) input to log/19/server.input 19:28:46.105075 Identifying ourselves as friends 19:28:46.105142 Response sent (57 bytes) and written to log/19/server.response 19:28:46.105153 special request received, no persistency 19:28:46.105162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 57992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1554 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1554 ==166064== ==166064== Process terminating with default action of signal 4 (SIGILL) ==166064== Illegal opcode at address 0x51CC63F ==166064== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166064== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166064== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166064== by 0x40041AF: main (first.c:264) === End of file valgrind1554 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1548 ../src/curl -q --output log/15/curl1548.out --include --trace-ascii log/15/trace1548 --trace-time -m 1 telnet://127.0.0.1:40321 log/15/stdout1548 2> log/15/stderr1548 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1560 ./libtest/libtests lib1560 - > log/2/stdout1560 2> log/2/stderr1560 test 1556 [send long HTTP headers to header callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:43733/1556 > log/9/stdout1556 2> log/9/stderr1556 1556: stdout FAILED: --- log/9/check-expected 2026-10-15 19:28:48.272721480 +0000 +++ log/9/check-generated 2026-10-15 19:28:48.272089295 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/9/ directory after test 1556 === Start of file check-expected -foo-[LF] Max = 100009[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:43733/1556 > log/9/stdout1556 2> log/9/stderr1556 === End of file commands.log === Start of file http_server.log 19:28:46.261092 ====> Client connect 19:28:46.261130 accept_connection 3 returned 4 19:28:46.261290 Read 93 bytes 19:28:46.261303 Process 93 bytes request 19:28:46.261315 Got request: GET /verifiedserver HTTP/1.1 19:28:46.261324 Are-we-friendly question received 19:28:46.261357 Wrote request (93 bytes) input to log/9/server.input 19:28:46.261373 Identifying ourselves as friends 19:28:46.261433 Response sent (56 bytes) and written to log/9/server.response 19:28:46.261442 special request received, no persistency 19:28:46.261450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1556 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1556 ==166179== ==166179== Process terminating with default action of signal 4 (SIGILL) ==166179== Illegal opcode at address 0x51CC63F ==166179== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166179== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166179== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166179== by 0x40041AF: main (first.c:264) === End of file valgrind1556 test 1548 [TELNET read stdin without upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1548 ../src/curl -q --output log/15/curl1548.out --include --trace-ascii log/15/trace1548 --trace-time -m 1 telnet://127.0.0.1:40321 log/15/stdout1548 2> log/15/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/15/ directory after test 1548 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1548 ../src/curl -q --output log/15/curl1548.out --include --trace-ascii log/15/trace1548 --trace-time -m 1 telnet://127.0.0.1:40321 log/15/stdout1548 2> log/15/stderr1548 === End of file commands.log === Start of file http_server.log 19:28:46.631108 ====> Client connect 19:28:46.631164 accept_connection 3 returned 4 19:28:46.631197 Read 93 bytes 19:28:46.631209 Process 93 bytes request 19:28:46.631223 Got request: GET /verifiedserver HTTP/1.1 19:28:46.631233 Are-we-friendly question received 19:28:46.631266 Wrote request (93 bytes) input to log/15/server.input 19:28:46.631286 Identifying ourselves as friends 19:28:46.631390 Response sent (56 bytes) and written to log/15/server.response 19:28:46.631403 special request received, no persistency 19:28:46.631412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 59564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1548 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file stdin-for-1548 GET /we/want/1548 HTTP/1.0 === End of file stdin-for-1548 === Start of file valgrind1548 ==165861== ==165861== Process terminating with default action of signal 4 (SIGILL) ==165861== Illegal opcode at address 0x492B75F ==165861== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==165861== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==165861== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==165861== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==165861== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==165861== by 0x49908EB: curl_version_info (version.c:600) ==165861== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==165861== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==165861== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==165861== by 0x4003269: main (tool_main.c:195) === End of file valgrind1548 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1547 ../src/curl -q --output log/6/curl1547.out --include --trace-ascii log/6/trace1547 --trace-time ftp://127.0.0.1:33989/test-1547/ -P 127.0.0.1 --ftp-pasv > log/6/stdout1547 2> log/6/stderr1547 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:42601/1552/;MAILINDEX=1' > log/7/stdout1552 2> log/7/stderr1552 setenv LC_ALL = C.UTF-8 test 1560 [URL API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1560 ./libtest/libtests lib1560 - > log/2/stdout1560 2> log/2/stderr1560 1560: stdout FAILED: --- log/2/check-expected 2026-10-15 19:28:48.394623319 +0000 +++ log/2/check-generated 2026-10-15 19:28:48.392396309 +0000 @@ -1 +0,0 @@ -success[LF] == Contents of files in the log/2/ directory after test 1560 === Start of file check-expected success[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1560 ./libtest/libtests lib1560 - > log/2/stdout1560 2> log/2/stderr1560 === End of file commands.log === Start of file server.cmd Testnum 1560 === End of file server.cmd === Start of file valgrind1560 ==166214== ==166214== Process terminating with default action of signal 4 (SIGILL) ==166214== Illegal opcode at address 0x51CC63F ==166214== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166214== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166214== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166214== by 0x40041AF: main (first.c:264) === End of file valgrind1560 test 1547 [FTP dir list PASV overriding PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1547 ../src/curl -q --output log/6/curl1547.out --include --trace-ascii log/6/trace1547 --trace-time ftp://127.0.0.1:33989/test-1547/ -P 127.0.0.1 --ftp-pasv > log/6/stdout1547 2> log/6/stderr1547 1547: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1547 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1547 ../src/curl -q --output log/6/curl1547.out --include --trace-ascii log/6/trace1547 --trace-time ftp://127.0.0.1:33989/test-1547/ -P 127.0.0.1 --ftp-pasv > log/6/stdout1547 2> log/6/stderr1547 === End of file commands.log === Start of file ftp_server.log 19:28:45.734726 ====> Client connect 19:28:45.734917 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:45.735188 < "USER anonymous" 19:28:45.735223 > "331 We are happy you popped in![CR][LF]" 19:28:45.735397 < "PASS ftp@example.com" 19:28:45.735427 > "230 Welcome you silly person[CR][LF]" 19:28:45.735579 < "PWD" 19:28:45.735612 > "257 "/" is current directory[CR][LF]" 19:28:45.740042 < "EPSV" 19:28:45.740085 ====> Passive DATA channel requested by client 19:28:45.740102 DATA sockfilt for passive data channel starting... 19:28:45.742791 DATA sockfilt for passive data channel started (pid 165676) 19:28:45.742910 DATA sockfilt for passive data channel listens on port 37615 19:28:45.742953 > "229 Entering Passive Mode (|||37615|)[CR][LF]" 19:28:45.742971 Client has been notified that upcoming DATA connection is awaited on port 37615 19:28:45.743235 Client connects to port 37615 19:28:45.743265 ====> Client established passive DATA connection on port 37615 19:28:45.743342 < "TYPE I" 19:28:45.743372 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:45.743536 < "SIZE verifiedserver" 19:28:45.743577 > "213 17[CR][LF]" 19:28:45.743729 < "RETR verifiedserver" 19:28:45.743765 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:45.743854 =====> Closing passive DATA connection... 19:28:45.743871 Server disconnects passive DATA connection 19:28:45.745126 Server disconnected passive DATA connection 19:28:45.745159 DATA sockfilt for passive data channel quits (pid 165676) 19:28:45.745411 DATA sockfilt for passive data channel quit (pid 165676) 19:28:45.745439 =====> Closed passive DATA connection 19:28:45.745470 > "226 File transfer complete[CR][LF]" 19:28:45.786390 < "QUIT" 19:28:45.786451 > "221 bye bye baby[CR][LF]" 19:28:45.787867 MAIN sockfilt said DISC 19:28:45.787917 ====> Client disconnected 19:28:45.788006 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:46.336988 ====> Client connect 19:28:46.337315 Received DATA (on stdin) 19:28:46.337330 > 146 bytes data, server => client 19:28:46.337341 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:46.337351 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:46.337359 '220 \___|\___/|_| \_\_____|\r\n' 19:28:46.337436 < 16 bytes data, client => server 19:28:46.337446 'USER anonymous\r\n' 19:28:46.337611 Received DATA (on stdin) 19:28:46.337622 > 33 bytes data, server => client 19:28:46.337631 '331 We are happy you popped in!\r\n' 19:28:46.337680 < 22 bytes data, client => server 19:28:46.337698 'PASS ftp@example.com\r\n' 19:28:46.337813 Received DATA (on stdin) 19:28:46.337824 > 30 bytes data, server => client 19:28:46.337833 '230 Welcome you silly person\r\n' 19:28:46.337882 < 5 bytes data, client => server 19:28:46.337892 'PWD\r\n' 19:28:46.341108 Received DATA (on stdin) 19:28:46.341130 > 30 bytes data, server => client 19:28:46.341140 '257 "/" is current directory\r\n' 19:28:46.342286 < 6 bytes data, client => server 19:28:46.342305 'EPSV\r\n' 19:28:46.345366 Received DATA (on stdin) 19:28:46.345380 > 39 bytes data, server => client 19:28:46.345390 '229 Entering Passive Mode (|||37615|)\r\n' 19:28:46.345546 < 8 bytes data, client => server 19:28:46.345559 'TYPE I\r\n' 19:28:46.345761 Received DATA (on stdin) 19:28:46.345772 > 33 bytes data, server => client 19:28:46.345782 '200 I modify TYPE as you wanted\r\n' 19:28:46.345836 < 21 bytes data, client => server 19:28:46.345848 'SIZE verifiedserver\r\n' 19:28:46.345964 Received DATA (on stdin) 19:28:46.345975 > 8 bytes data, server => client 19:28:46.345984 '213 17\r\n' 19:28:46.346034 < 21 bytes data, client => server 19:28:46.346045 'RETR verifiedserver\r\n' 19:28:46.346258 Received DATA (on stdin) 19:28:46.346269 > 29 bytes data, server => client 19:28:46.346279 '150 Binary junk (17 bytes).\r\n' 19:28:46.347860 Received DATA (on stdin) 19:28:46.347872 > 28 bytes data, server => client 19:28:46.347882 '226 File transfer complete\r\n' 19:28:46.388582 < 6 bytes data, client => server 19:28:46.388613 'QUIT\r\n' 19:28:46.388846 Received DATA (on stdin) 19:28:46.388860 > 18 bytes data, server => client 19:28:46.388870 '221 bye bye baby\r\n' 19:28:46.390189 ====> Client disconnect 19:28:46.390405 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:45.344119 Running IPv4 version 19:28:45.344208 Listening on port 37615 19:28:45.344251 Wrote pid 165676 to log/6/server/ftp_sockdata.pid 19:28:45.345119 Received PING (on stdin) 19:28:45.345208 Received PORT (on stdin) 19:28:45.345578 ====> Client connect 19:28:45.346305 Received DATA (on stdin) 19:28:45.346316 > 17 bytes data, server => client 19:28:45.346326 'WE ROOLZ: 85558\r\n' 19:28:45.346349 Received DISC (on stdin) 19:28:45.346359 ====> Client forcibly disconnected 19:28:45.347561 Received QUIT (on stdin) 19:28:45.347573 quits 19:28:45.347639 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==165743== ==165743== Process terminating with default action of signal 4 (SIGILL) ==165743== Illegal opcode at address 0x492B75F ==165743== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==165743== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==165743== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==165743== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==165CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:41689/1565 > log/20/stdout1565 2> log/20/stderr1565 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 43739 > log/18/stdout1568 2> log/18/stderr1568 743== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==165743== by 0x49908EB: curl_version_info (version.c:600) ==165743== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==165743== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==165743== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==165743== by 0x4003269: main (tool_main.c:195) === End of file valgrind1547 test 1552 [IMAP multi transfer error without curl_multi_remove_handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:42601/1552/;MAILINDEX=1' > log/7/stdout1552 2> log/7/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/7/ directory after test 1552 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:42601/1552/;MAILINDEX=1' > log/7/stdout1552 2> log/7/stderr1552 === End of file commands.log === Start of file imap_server.log 19:28:46.467920 ====> Client connect 19:28:46.468066 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:28:46.468364 < "A001 CAPABILITY" 19:28:46.468395 > "A001 BAD Command[CR][LF]" 19:28:46.468552 < "A002 LIST "verifiedserver" *" 19:28:46.468576 LIST_imap got "verifiedserver" * 19:28:46.468599 > "* LIST () "/" "WE ROOLZ: 122008"[CR][LF]" 19:28:46.468616 > "A002 OK LIST Completed[CR][LF]" 19:28:46.468630 return proof we are we 19:28:46.512614 < "A003 LOGOUT" 19:28:46.512667 > "* BYE curl IMAP server signing off[CR][LF]" 19:28:46.512687 > "A003 OK LOGOUT completed[CR][LF]" 19:28:46.516986 MAIN sockfilt said DISC 19:28:46.517035 ====> Client disconnected 19:28:46.517123 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:47.070192 ====> Client connect 19:28:47.070450 Received DATA (on stdin) 19:28:47.070463 > 164 bytes data, server => client 19:28:47.070474 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:47.070484 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:47.070493 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:28:47.070605 < 17 bytes data, client => server 19:28:47.070615 'A001 CAPABILITY\r\n' 19:28:47.070771 Received DATA (on stdin) 19:28:47.070782 > 18 bytes data, server => client 19:28:47.070791 'A001 BAD Command\r\n' 19:28:47.070846 < 30 bytes data, client => server 19:28:47.070857 'A002 LIST "verifiedserver" *\r\n' 19:28:47.071004 Received DATA (on stdin) 19:28:47.071021 > 34 bytes data, server => client 19:28:47.071031 '* LIST () "/" "WE ROOLZ: 122008"\r\n' 19:28:47.071051 Received DATA (on stdin) 19:28:47.071060 > 24 bytes data, server => client 19:28:47.071070 'A002 OK LIST Completed\r\n' 19:28:47.114802 < 13 bytes data, client => server 19:28:47.114838 'A003 LOGOUT\r\n' 19:28:47.115087 Received DATA (on stdin) 19:28:47.115099 > 36 bytes data, server => client 19:28:47.115110 '* BYE curl IMAP server signing off\r\n' 19:28:47.115134 Received DATA (on stdin) 19:28:47.115144 > 26 bytes data, server => client 19:28:47.115154 'A003 OK LOGOUT completed\r\n' 19:28:47.119287 ====> Client disconnect 19:28:47.119499 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1552 === End of file server.cmd === Start of file valgrind1552 ==166055== ==166055== Process terminating with default action of signal 4 (SIGILL) ==166055== Illegal opcode at address 0x51CC63F ==166055== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166055== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166055== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166055== by 0x40041AF: main (first.c:264) === End of file valgrind1552 test 1565 [wakeup from another thread] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:41689/1565 > log/20/stdout1565 2> log/20/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/20/ directory after test 1565 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:41689/1565 > log/20/stdout1565 2> log/20/stderr1565 === End of file commands.log === Start of file http_server.log 19:28:46.484658 ====> Client connect 19:28:46.484695 accept_connection 3 returned 4 19:28:46.484719 Read 93 bytes 19:28:46.484728 Process 93 bytes request 19:28:46.484740 Got request: GET /verifiedserver HTTP/1.1 19:28:46.484749 Are-we-friendly question received 19:28:46.484778 Wrote request (93 bytes) input to log/20/server.input 19:28:46.484793 Identifying ourselves as friends 19:28:46.484870 Response sent (57 bytes) and written to log/20/server.response 19:28:46.484879 special request received, no persistency 19:28:46.484886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 51058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 1565 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind1565 ==166585== ==166585== Process terminating with default action of signal 4 (SIGILL) ==166585== Illegal opcode at address 0x51CC63F ==166585== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166585== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166585== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166585== by 0x40041AF: main (first.c:264) === End of file valgrind1565 test 1568 [HTTP with Digest authorization on custom CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 43739 > log/18/stdout1568 2> log/18/stderr1568 1568: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1568 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 43739 > log/18/stdout1568 2> log/18/stderr1568 === End of file commands.log === Start of file http_server.log 19:28:47.666305 ====> Client connect 19:28:47.666342 accept_connection 3 returned 4 19:28:47.666365 Read 93 bytes 19:28:47.666374 Process 93 bytes request 19:28:47.666386 Got request: GET /verifiedserver HTTP/1.1 19:28:47.666394 Are-we-friendly question received 19:28:47.666417 Wrote request (93 bytes) input to log/18/server.input 19:28:47.666432 Identifying ourselves as friends 19:28:47.666498 Response sent (56 bytes) and written to log/18/server.response 19:28:47.666507 speciaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44711/1571 > log/23/stdout1571 2> log/23/stderr1571 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:37215/1570;type=D" ftp://127.0.0.1:37215/1570 > log/24/stdout1570 2> log/24/stderr1570 l request received, no persistency 19:28:47.666516 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1568 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1568 ==166832== ==166832== Process terminating with default action of signal 4 (SIGILL) ==166832== Illegal opcode at address 0x51CC63F ==166832== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166832== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166832== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166832== by 0x40041AF: main (first.c:264) === End of file valgrind1568 test 1571 [CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44711/1571 > log/23/stdout1571 2> log/23/stderr1571 1571: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1571 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:44711/1571 > log/23/stdout1571 2> log/23/stderr1571 === End of file commands.log === Start of file http_server.log 19:28:47.051062 ====> Client connect 19:28:47.051103 accept_connection 3 returned 4 19:28:47.051124 Read 93 bytes 19:28:47.051134 Process 93 bytes request 19:28:47.051146 Got request: GET /verifiedserver HTTP/1.1 19:28:47.051155 Are-we-friendly question received 19:28:47.051179 Wrote request (93 bytes) input to log/23/server.input 19:28:47.051193 Identifying ourselves as friends 19:28:47.051252 Response sent (56 bytes) and written to log/23/server.response 19:28:47.051260 special request received, no persistency 19:28:47.051267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48922 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1571 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1571 ==167068== ==167068== Process terminating with default action of signal 4 (SIGILL) ==167068== Illegal opcode at address 0x51CC63F ==167068== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167068== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167068== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167068== by 0x40041AF: main (first.c:264) === End of file valgrind1571 test 1570 [FTP first type=D then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:37215/1570;type=D" ftp://127.0.0.1:37215/1570 > log/24/stdout1570 2> log/24/stderr1570 1570: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1570 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:37215/1570;type=D" ftp://127.0.0.1:37215/1570 > log/24/stdout1570 2> log/24/stderr1570 === End of file commands.log === Start of file ftp_server.log 19:28:47.296845 ====> Client connect 19:28:47.297067 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:47.297346 < "USER anonymous" 19:28:47.297385 > "331 We are happy you popped in![CR][LF]" 19:28:47.297575 < "PASS ftp@example.com" 19:28:47.297606 > "230 Welcome you silly person[CR][LF]" 19:28:47.297778 < "PWD" 19:28:47.297815 > "257 "/" is current directory[CR][LF]" 19:28:47.298002 < "EPSV" 19:28:47.298028 ====> Passive DATA channel requested by client 19:28:47.298044 DATA sockfilt for passive data channel starting... 19:28:47.300525 DATA sockfilt for passive data channel started (pid 166970) 19:28:47.302160 DATA sockfilt for passive data channel listens on port 35937 19:28:47.302227 > "229 Entering Passive Mode (|||35937|)[CR][LF]" 19:28:47.302245 Client has been notified that upcoming DATA connection is awaited on port 35937 19:28:47.302568 Client connects to port 35937 19:28:47.302599 ====> Client established passive DATA connection on port 35937 19:28:47.302695 < "TYPE I" 19:28:47.302725 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:47.302882 < "SIZE verifiedserver" 19:28:47.302918 > "213 17[CR][LF]" 19:28:47.303059 < "RETR verifiedserver" 19:28:47.303094 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:47.303179 =====> Closing passive DATA connection... 19:28:47.303194 Server disconnects passive DATA connection 19:28:47.303404 Server disconnected passive DATA connection 19:28:47.303431 DATA sockfilt for passive data channel quits (pid 166970) 19:28:47.303679 DATA sockfilt for passive data channel quit (pid 166970) 19:28:47.303702 =====> Closed passive DATA connection 19:28:47.303730 > "226 File transfer complete[CR][LF]" 19:28:47.346838 < "QUIT" 19:28:47.346898 > "221 bye bye baby[CR][LF]" 19:28:47.348198 MAIN sockfilt said DISC 19:28:47.348230 ====> Client disconnected 19:28:47.348316 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:47.899067 ====> Client connect 19:28:47.899446 Received DATA (on stdin) 19:28:47.899459 > 146 bytes data, server => client 19:28:47.899470 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:47.899479 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:47.899488 '220 \___|\___/|_| \_\_____|\r\n' 19:28:47.899563 < 16 bytes data, client => server 19:28:47.899575 'USER anonymous\r\n' 19:28:47.899754 Received DATA (on stdin) 19:28:47.899767 > 33 bytes data, server => client 19:28:47.899778 '331 We are happy you popped in!\r\n' 19:28:47.899836 < 22 bytes data, client => server 19:28:47.899851 'PASS ftp@example.com\r\n' 19:28:47.899970 Received DATA (on stdin) 19:28:47.899982 > 30 bytes data, server => client 19:28:47.899992 '230 Welcome you silly person\r\n' 19:28:47.900048 < 5 bytes data, client => server 19:28:47.900061 'PWD\r\n' 19:28:47.900181 Received DATA (on stdin) 19:28:47.900194 > 30 bytes data, server => client 19:28:47.900204 '257 "/" is current directory\r\n' 19:28:47.900270 < 6 bytes data, client => server 19:28:47.900284 'EPSV\r\n' 19:28:47.904619 Received DATA (on stdin) 19:28:47.90463CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40417/1569;type=A" ftp://127.0.0.1:40417/1569 > log/12/stdout1569 2> log/12/stderr1569 6 > 39 bytes data, server => client 19:28:47.904647 '229 Entering Passive Mode (|||35937|)\r\n' 19:28:47.904847 < 8 bytes data, client => server 19:28:47.904861 'TYPE I\r\n' 19:28:47.905088 Received DATA (on stdin) 19:28:47.905099 > 33 bytes data, server => client 19:28:47.905109 '200 I modify TYPE as you wanted\r\n' 19:28:47.905160 < 21 bytes data, client => server 19:28:47.905170 'SIZE verifiedserver\r\n' 19:28:47.905278 Received DATA (on stdin) 19:28:47.905288 > 8 bytes data, server => client 19:28:47.905297 '213 17\r\n' 19:28:47.905344 < 21 bytes data, client => server 19:28:47.905353 'RETR verifiedserver\r\n' 19:28:47.905556 Received DATA (on stdin) 19:28:47.905567 > 29 bytes data, server => client 19:28:47.905577 '150 Binary junk (17 bytes).\r\n' 19:28:47.906092 Received DATA (on stdin) 19:28:47.906103 > 28 bytes data, server => client 19:28:47.906113 '226 File transfer complete\r\n' 19:28:47.949007 < 6 bytes data, client => server 19:28:47.949032 'QUIT\r\n' 19:28:47.949264 Received DATA (on stdin) 19:28:47.949275 > 18 bytes data, server => client 19:28:47.949286 '221 bye bye baby\r\n' 19:28:47.950509 ====> Client disconnect 19:28:47.950677 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:47.902195 Running IPv4 version 19:28:47.902701 Listening on port 35937 19:28:47.902755 Wrote pid 166970 to log/24/server/ftp_sockdata.pid 19:28:47.902783 Received PING (on stdin) 19:28:47.904393 Received PORT (on stdin) 19:28:47.904883 ====> Client connect 19:28:47.905601 Received DATA (on stdin) 19:28:47.905613 > 17 bytes data, server => client 19:28:47.905622 'WE ROOLZ: 85113\r\n' 19:28:47.905645 Received DISC (on stdin) 19:28:47.905655 ====> Client forcibly disconnected 19:28:47.905800 Received QUIT (on stdin) 19:28:47.905810 quits 19:28:47.905879 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1570 === End of file server.cmd === Start of file valgrind1570 ==166990== ==166990== Process terminating with default action of signal 4 (SIGILL) ==166990== Illegal opcode at address 0x51CC63F ==166990== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166990== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166990== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166990== by 0x40041AF: main (first.c:264) === End of file valgrind1570 test 1569 [FTP first type=A then regular URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40417/1569;type=A" ftp://127.0.0.1:40417/1569 > log/12/stdout1569 2> log/12/stderr1569 1569: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1569 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:40417/1569;type=A" ftp://127.0.0.1:40417/1569 > log/12/stdout1569 2> log/12/stderr1569 === End of file commands.log === Start of file ftp_server.log 19:28:47.092122 ====> Client connect 19:28:47.092380 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:47.098902 < "USER anonymous" 19:28:47.098965 > "331 We are happy you popped in![CR][LF]" 19:28:47.099209 < "PASS ftp@example.com" 19:28:47.099248 > "230 Welcome you silly person[CR][LF]" 19:28:47.099447 < "PWD" 19:28:47.099488 > "257 "/" is current directory[CR][LF]" 19:28:47.099669 < "EPSV" 19:28:47.099695 ====> Passive DATA channel requested by client 19:28:47.099709 DATA sockfilt for passive data channel starting... 19:28:47.114233 DATA sockfilt for passive data channel started (pid 166820) 19:28:47.114384 DATA sockfilt for passive data channel listens on port 46029 19:28:47.114435 > "229 Entering Passive Mode (|||46029|)[CR][LF]" 19:28:47.114454 Client has been notified that upcoming DATA connection is awaited on port 46029 19:28:47.114790 Client connects to port 46029 19:28:47.114823 ====> Client established passive DATA connection on port 46029 19:28:47.114919 < "TYPE I" 19:28:47.114954 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:47.115125 < "SIZE verifiedserver" 19:28:47.115164 > "213 17[CR][LF]" 19:28:47.115344 < "RETR verifiedserver" 19:28:47.115622 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:47.115724 =====> Closing passive DATA connection... 19:28:47.115744 Server disconnects passive DATA connection 19:28:47.115979 Server disconnected passive DATA connection 19:28:47.116006 DATA sockfilt for passive data channel quits (pid 166820) 19:28:47.116234 DATA sockfilt for passive data channel quit (pid 166820) 19:28:47.116262 =====> Closed passive DATA connection 19:28:47.116290 > "226 File transfer complete[CR][LF]" 19:28:47.165649 < "QUIT" 19:28:47.165706 > "221 bye bye baby[CR][LF]" 19:28:47.166898 MAIN sockfilt said DISC 19:28:47.166932 ====> Client disconnected 19:28:47.167019 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:47.694358 ====> Client connect 19:28:47.694772 Received DATA (on stdin) 19:28:47.694791 > 146 bytes data, server => client 19:28:47.694801 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:47.694810 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:47.694819 '220 \___|\___/|_| \_\_____|\r\n' 19:28:47.701027 < 16 bytes data, client => server 19:28:47.701057 'USER anonymous\r\n' 19:28:47.701345 Received DATA (on stdin) 19:28:47.701361 > 33 bytes data, server => client 19:28:47.701371 '331 We are happy you popped in!\r\n' 19:28:47.701455 < 22 bytes data, client => server 19:28:47.701470 'PASS ftp@example.com\r\n' 19:28:47.701618 Received DATA (on stdin) 19:28:47.701631 > 30 bytes data, server => client 19:28:47.701642 '230 Welcome you silly person\r\n' 19:28:47.701710 < 5 bytes data, client => server 19:28:47.701724 'PWD\r\n' 19:28:47.701855 Received DATA (on stdin) 19:28:47.701867 > 30 bytes data, server => client 19:28:47.701877 '257 "/" is current directory\r\n' 19:28:47.701945 < 6 bytes data, client => server 19:28:47.701956 'EPSV\r\n' 19:28:47.716830 Received DATA (on stdin) 19:28:47.716851 > 39 bytes data, server => client 19:28:47.716861 '229 Entering Passive Mode (|||46029|)\r\n' 19:28:47.717101 < 8 bytes data, client => server 19:28:47.717112 'TYPE I\r\n' 19:28:47.717321 Received DATA (on stdin) 19:28:47.717333 > 33 bytes data, server => client 19:28:47.717343 '200 I modify TYPE as you wanted\r\n' 19:28:47.717400 < 21 bytes data, client => server 19:28:47.717413 'SIZE verifiedserver\r\n' 19:28:47.717530 Received DATA (on stdin) 19:28:47.717541 > 8 bytes data, server => client 19:28:47.717551 '213 17\r\n' 19:28:47.717603 < 21 bytes data, client => server 19:28:47.717614 'RETR verifiedserver\r\n' 19:28:47.718203 Received DATA (on stdin) 19:28:47.718215 > 29 bytes data, server => client 19:28:47.718225 '150 Binary junk (17 bytes).\r\n' 19:28:47.718657 Received DATA (on stdin) 19:28:47.718669 > 28 bytes data, server => client 19:28:47.718679 '226 File transfer complete\r\n' 19:28:47.767808 < 6 bytes data, client => server 19:28:47.767843 'QUIT\r\n' 19:28:47.768073 Received DATA (on stdin) 19:28:47.768083 > 18 bytes data, server => client 19:28:47.768092 '221 bye bye baby\r\n' 19:28:47.769210 ====> Client disconnect 19:28:47.774350 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:47.715189 Running IPv4 version 19:28:47.715289 Listening on port 46029 19:28:47.715334 Wrote pid 166820 to log/12/server/ftp_sockdata.pid 19:28:47.716528 Received PING (on stdin) 19:28:47.716645 Received PORT (oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38821/1572 > log/13/stdout1572 2> log/13/stderr1572 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39881/1574 > log/21/stdout1574 2> log/21/stderr1574 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:35993/1576 > log/17/stdout1576 2> log/17/stderr1576 n stdin) 19:28:47.717072 ====> Client connect 19:28:47.718112 Received DATA (on stdin) 19:28:47.718124 > 17 bytes data, server => client 19:28:47.718134 'WE ROOLZ: 85158\r\n' 19:28:47.718163 Received DISC (on stdin) 19:28:47.718176 ====> Client forcibly disconnected 19:28:47.718381 Received QUIT (on stdin) 19:28:47.718392 quits 19:28:47.718456 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY EPSV 500 no such command Testnum 1569 === End of file server.cmd === Start of file valgrind1569 ==166928== ==166928== Process terminating with default action of signal 4 (SIGILL) ==166928== Illegal opcode at address 0x51CC63F ==166928== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==166928== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==166928== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==166928== by 0x40041AF: main (first.c:264) === End of file valgrind1569 test 1572 [CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38821/1572 > log/13/stdout1572 2> log/13/stderr1572 1572: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1572 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38821/1572 > log/13/stdout1572 2> log/13/stderr1572 === End of file commands.log === Start of file http_server.log 19:28:47.104433 ====> Client connect 19:28:47.104477 accept_connection 3 returned 4 19:28:47.104503 Read 93 bytes 19:28:47.104513 Process 93 bytes request 19:28:47.104526 Got request: GET /verifiedserver HTTP/1.1 19:28:47.104535 Are-we-friendly question received 19:28:47.104563 Wrote request (93 bytes) input to log/13/server.input 19:28:47.104579 Identifying ourselves as friends 19:28:47.104661 Response sent (56 bytes) and written to log/13/server.response 19:28:47.104670 special request received, no persistency 19:28:47.104678 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1572 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1572 ==167134== ==167134== Process terminating with default action of signal 4 (SIGILL) ==167134== Illegal opcode at address 0x51CC63F ==167134== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167134== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167134== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167134== by 0x40041AF: main (first.c:264) === End of file valgrind1572 test 1574 [CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39881/1574 > log/21/stdout1574 2> log/21/stderr1574 1574: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1574 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:39881/1574 > log/21/stdout1574 2> log/21/stderr1574 === End of file commands.log === Start of file http_server.log 19:28:47.620286 ====> Client connect 19:28:47.620324 accept_connection 3 returned 4 19:28:47.620347 Read 93 bytes 19:28:47.620356 Process 93 bytes request 19:28:47.620369 Got request: GET /verifiedserver HTTP/1.1 19:28:47.620377 Are-we-friendly question received 19:28:47.620407 Wrote request (93 bytes) input to log/21/server.input 19:28:47.620423 Identifying ourselves as friends 19:28:47.620488 Response sent (56 bytes) and written to log/21/server.response 19:28:47.620498 special request received, no persistency 19:28:47.620506 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 40360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1574 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1574 ==167303== ==167303== Process terminating with default action of signal 4 (SIGILL) ==167303== Illegal opcode at address 0x51CC63F ==167303== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167303== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167303== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167303== by 0x40041AF: main (first.c:264) === End of file valgrind1574 test 1576 [CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:35993/1576 > log/17/stdout1576 2> log/17/stderr1576 1576: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1576 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:35993/1576 > log/17/stdout1576 2> log/17/stderr1576 === End of file commands.log === Start of file http_server.log 19:28:48.805564 ====> Client connect 19:28:48.805602 accept_connection 3 returned 4 19:28:48.805623 Read 93 bytes 19:28:48.805632 Process 93 bytes request 19:28:48.805645 Got request: GET /verifiedserver HTTP/1.1 19:28:48.805653 Are-we-friendly question received 19:28:48.805679 Wrote request (93 bytes) input to log/17/server.input 19:28:48.805694 Identifying ourselves as friends 19:28:48.805766 Response sent (56 bytes) and written to log/17/server.response 19:28:48.805776 special request received, no persistency 19:28:48.805784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 42284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < ConteCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36099/1553 > log/11/stdout1553 2> log/11/stderr1553 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:38815/1575 > log/1/stdout1575 2> log/1/stderr1575 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:44467/1573 > log/8/stdout1573 2> log/8/stderr1573 nt-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1576 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1576 ==167512== ==167512== Process terminating with default action of signal 4 (SIGILL) ==167512== Illegal opcode at address 0x51CC63F ==167512== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167512== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167512== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167512== by 0x40041AF: main (first.c:264) === End of file valgrind1576 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/11/server/imap_server.pid" --logfile "log/11/imap_server.log" --logdir "log/11" --portfile "log/11/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 36099 (log/11/server/imap_server.port) RUN: IMAP server is PID 165995 port 36099 * pid imap => 165995 165995 test 1553 [IMAP cleanup with non-existing hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36099/1553 > log/11/stdout1553 2> log/11/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/11/ directory after test 1553 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:36099/1553 > log/11/stdout1553 2> log/11/stderr1553 === End of file commands.log === Start of file imap_server.log 19:28:46.524798 IMAP server listens on port IPv4/36099 19:28:46.525081 logged pid 165995 in log/11/server/imap_server.pid 19:28:46.532009 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:46.125724 Running IPv4 version 19:28:46.125824 Listening on port 36099 19:28:46.125880 Wrote pid 166048 to log/11/server/imap_sockfilt.pid 19:28:46.125922 Wrote port 36099 to log/11/server/imap_server.port 19:28:46.126699 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1553 === End of file server.cmd === Start of file valgrind1553 ==167049== ==167049== Process terminating with default action of signal 4 (SIGILL) ==167049== Illegal opcode at address 0x51CC63F ==167049== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167049== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167049== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167049== by 0x40041AF: main (first.c:264) === End of file valgrind1553 test 1575 [CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:38815/1575 > log/1/stdout1575 2> log/1/stderr1575 1575: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1575 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:38815/1575 > log/1/stdout1575 2> log/1/stderr1575 === End of file commands.log === Start of file http_server.log 19:28:48.661820 ====> Client connect 19:28:48.661856 accept_connection 3 returned 4 19:28:48.661953 Read 93 bytes 19:28:48.661965 Process 93 bytes request 19:28:48.661979 Got request: GET /verifiedserver HTTP/1.1 19:28:48.661988 Are-we-friendly question received 19:28:48.662019 Wrote request (93 bytes) input to log/1/server.input 19:28:48.662035 Identifying ourselves as friends 19:28:48.662092 Response sent (56 bytes) and written to log/1/server.response 19:28:48.662101 special request received, no persistency 19:28:48.662110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 33040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1575 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1575 ==167331== ==167331== Process terminating with default action of signal 4 (SIGILL) ==167331== Illegal opcode at address 0x51CC63F ==167331== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167331== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167331== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167331== by 0x40041AF: main (first.c:264) === End of file valgrind1575 test 1573 [CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:44467/1573 > log/8/stdout1573 2> log/8/stderr1573 1573: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1573 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:44467/1573 > log/8/stdout1573 2> log/8/stderr1573 === End of file commands.log === Start of file http_server.log 19:28:47.591551 ====> Client connect 19:28:47.591590 accept_connection 3 returned 4 19:28:47.591613 Read 93 bytes 19:28:47.591623 Process 93 bytes request 19:28:47.591637 Got request: GET /verifiedserver HTTP/1.1 19:28:47.591646 Are-we-friendly question received 19:28:47.591675 Wrote request (93 bytes) input to log/8/server.input 19:28:47.591693 Identifying ourselves as friends 19:28:47.591762 Response sent (56 bytes) and written to log/8/server.response 19:28:47.591772 special request received, no persistency 19:28:47.591781 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 45256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1573 ==167291== ==167291== Process terminating with default action of signalCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:45467/1581 > log/14/stdout1581 2> log/14/stderr1581 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35903/1579 1579 > log/16/stdout1579 2> log/16/stderr1579 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1563 ../src/curl -q --output log/3/curl1563.out --include --trace-ascii log/3/trace1563 --trace-time http://127.0.0.1:36161/15630001 -L -H "Host: www.example.com" > log/3/stdout1563 2> log/3/stderr1563 4 (SIGILL) ==167291== Illegal opcode at address 0x51CC63F ==167291== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167291== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167291== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167291== by 0x40041AF: main (first.c:264) === End of file valgrind1573 test 1581 [CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:45467/1581 > log/14/stdout1581 2> log/14/stderr1581 1581: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1581 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:45467/1581 > log/14/stdout1581 2> log/14/stderr1581 === End of file commands.log === Start of file http_server.log 19:28:47.927784 ====> Client connect 19:28:47.927858 accept_connection 3 returned 4 19:28:47.927895 Read 93 bytes 19:28:47.927906 Process 93 bytes request 19:28:47.927919 Got request: GET /verifiedserver HTTP/1.1 19:28:47.927927 Are-we-friendly question received 19:28:47.927955 Wrote request (93 bytes) input to log/14/server.input 19:28:47.927971 Identifying ourselves as friends 19:28:47.928044 Response sent (56 bytes) and written to log/14/server.response 19:28:47.928053 special request received, no persistency 19:28:47.928061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1581 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1581 ==167601== ==167601== Process terminating with default action of signal 4 (SIGILL) ==167601== Illegal opcode at address 0x51CC63F ==167601== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167601== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167601== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167601== by 0x40041AF: main (first.c:264) === End of file valgrind1581 test 1579 [CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35903/1579 1579 > log/16/stdout1579 2> log/16/stderr1579 1579: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1579 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35903/1579 1579 > log/16/stdout1579 2> log/16/stderr1579 === End of file commands.log === Start of file http_server.log 19:28:48.874207 ====> Client connect 19:28:48.874240 accept_connection 3 returned 4 19:28:48.874259 Read 93 bytes 19:28:48.874267 Process 93 bytes request 19:28:48.874277 Got request: GET /verifiedserver HTTP/1.1 19:28:48.874284 Are-we-friendly question received 19:28:48.874318 Wrote request (93 bytes) input to log/16/server.input 19:28:48.874333 Identifying ourselves as friends 19:28:48.874394 Response sent (56 bytes) and written to log/16/server.response 19:28:48.874402 special request received, no persistency 19:28:48.874409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1579 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1579 ==167552== ==167552== Process terminating with default action of signal 4 (SIGILL) ==167552== Illegal opcode at address 0x51CC63F ==167552== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167552== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167552== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167552== by 0x40041AF: main (first.c:264) === End of file valgrind1579 test 1563 [Make sure redirects to CURLPROTO_GOPHER are forbidden by default] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1563 ../src/curl -q --output log/3/curl1563.out --include --trace-ascii log/3/trace1563 --trace-time http://127.0.0.1:36161/15630001 -L -H "Host: www.example.com" > log/3/stdout1563 2> log/3/stderr1563 1563: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1563 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1563 ../src/curl -q --output log/3/curl1563.out --include --trace-ascii log/3/trace1563 --trace-time http://127.0.0.1:36161/15630001 -L -H "Host: www.example.com" > log/3/stdout1563 2> log/3/stderr1563 === End of file commands.log === Start of file http_server.log 19:28:47.420265 ====> Client connect 19:28:47.420303 accept_connection 3 returned 4 19:28:47.420327 Read 93 bytes 19:28:47.420337 Process 93 bytes request 19:28:47.420350 Got request: GET /verifiedserver HTTP/1.1 19:28:47.420359 Are-we-friendly question received 19:28:47.420389 Wrote request (93 bytes) input to log/3/server.input 19:28:47.420405 Identifying ourselves as friends 19:28:47.420472 Response sent (56 bytes) and written to log/3/server.response 19:28:47.420484 special request received, no persistency 19:28:47.420492 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 39890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1563 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === StarCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1566 ../src/curl -q --trace-ascii log/22/trace1566 --trace-time http://127.0.0.1:35989/1566 -o log/22/output1566 --etag-compare log/22/etag1566 > log/22/stdout1566 2> log/22/stderr1566 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:40913/1578 > log/10/stdout1578 2> log/10/stderr1578 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:33935/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 t of file valgrind1563 ==166553== ==166553== Process terminating with default action of signal 4 (SIGILL) ==166553== Illegal opcode at address 0x492B75F ==166553== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==166553== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==166553== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==166553== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==166553== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==166553== by 0x49908EB: curl_version_info (version.c:600) ==166553== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==166553== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==166553== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==166553== by 0x4003269: main (tool_main.c:195) === End of file valgrind1563 test 1566 [--etag-compare that gets a 304 back should not overwrite the file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1566 ../src/curl -q --trace-ascii log/22/trace1566 --trace-time http://127.0.0.1:35989/1566 -o log/22/output1566 --etag-compare log/22/etag1566 > log/22/stdout1566 2> log/22/stderr1566 1566: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1566 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1566 ../src/curl -q --trace-ascii log/22/trace1566 --trace-time http://127.0.0.1:35989/1566 -o log/22/output1566 --etag-compare log/22/etag1566 > log/22/stdout1566 2> log/22/stderr1566 === End of file commands.log === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 19:28:46.539619 ====> Client connect 19:28:46.539659 accept_connection 3 returned 4 19:28:46.539684 Read 93 bytes 19:28:46.539695 Process 93 bytes request 19:28:46.539709 Got request: GET /verifiedserver HTTP/1.1 19:28:46.539719 Are-we-friendly question received 19:28:46.539750 Wrote request (93 bytes) input to log/22/server.input 19:28:46.539770 Identifying ourselves as friends 19:28:46.539842 Response sent (56 bytes) and written to log/22/server.response 19:28:46.539856 special request received, no persistency 19:28:46.539865 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 38030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file output1566 downloaded already === End of file output1566 === Start of file server.cmd Testnum 1566 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1566 ==166664== ==166664== Process terminating with default action of signal 4 (SIGILL) ==166664== Illegal opcode at address 0x492B75F ==166664== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==166664== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==166664== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==166664== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==166664== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==166664== by 0x49908EB: curl_version_info (version.c:600) ==166664== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==166664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==166664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==166664== by 0x4003269: main (tool_main.c:195) === End of file valgrind1566 test 1578 [CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:40913/1578 > log/10/stdout1578 2> log/10/stderr1578 1578: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1578 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:40913/1578 > log/10/stdout1578 2> log/10/stderr1578 === End of file commands.log === Start of file http_server.log 19:28:47.873564 ====> Client connect 19:28:47.873599 accept_connection 3 returned 4 19:28:47.873721 Read 93 bytes 19:28:47.873734 Process 93 bytes request 19:28:47.873746 Got request: GET /verifiedserver HTTP/1.1 19:28:47.873755 Are-we-friendly question received 19:28:47.873786 Wrote request (93 bytes) input to log/10/server.input 19:28:47.873802 Identifying ourselves as friends 19:28:47.873862 Response sent (56 bytes) and written to log/10/server.response 19:28:47.873871 special request received, no persistency 19:28:47.873879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 39686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1578 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1578 ==167604== ==167604== Process terminating with default action of signal 4 (SIGILL) ==167604== Illegal opcode at address 0x51CC63F ==167604== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167604== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167604== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167604== by 0x40041AF: main (first.c:264) === End of file valgrind1578 test 1591 [HTTP PUT with trailers at the end] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:33935/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 1591: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1591 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:33935/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 === End of file commands.log === Start of file http_server.log 19:28:48.254784 ====> Client connect 19:28:48.254830 accept_connection 3 returned 4 19:28:48.254856 Read 93 bytes 19:28:48.254868 Process 93 bytes request 19:28:48.254880 Got request: GET /verifiedserver HTTP/1.1 19:28:48.254889 Are-we-friendly question received 19:28:48.271029 Wrote request (93 bytes) input to log/6/serverCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:32943/1580 1578 > log/4/stdout1580 2> log/4/stderr1580 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1590 ./libtest/libtests lib1553 imap://localhost:42601/1590 > log/7/stdout1590 2> log/7/stderr1590 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:37089/1577 1577 > log/5/stdout1577 2> log/5/stderr1577 .input 19:28:48.271742 Identifying ourselves as friends 19:28:48.271853 Response sent (56 bytes) and written to log/6/server.response 19:28:48.271866 special request received, no persistency 19:28:48.271876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 51298 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1591 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file stdin-for-1591 more than one byte === End of file stdin-for-1591 === Start of file valgrind1591 ==168115== ==168115== Process terminating with default action of signal 4 (SIGILL) ==168115== Illegal opcode at address 0x51CC63F ==168115== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168115== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168115== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168115== by 0x40041AF: main (first.c:264) === End of file valgrind1591 test 1580 [CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:32943/1580 1578 > log/4/stdout1580 2> log/4/stderr1580 1580: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1580 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:32943/1580 1578 > log/4/stdout1580 2> log/4/stderr1580 === End of file commands.log === Start of file http_server.log 19:28:48.894812 ====> Client connect 19:28:48.894848 accept_connection 3 returned 4 19:28:48.894870 Read 93 bytes 19:28:48.894880 Process 93 bytes request 19:28:48.894904 Got request: GET /verifiedserver HTTP/1.1 19:28:48.894912 Are-we-friendly question received 19:28:48.894940 Wrote request (93 bytes) input to log/4/server.input 19:28:48.894963 Identifying ourselves as friends 19:28:48.895032 Response sent (57 bytes) and written to log/4/server.response 19:28:48.895043 special request received, no persistency 19:28:48.895052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 37480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd Testnum 1580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file valgrind1580 ==167589== ==167589== Process terminating with default action of signal 4 (SIGILL) ==167589== Illegal opcode at address 0x51CC63F ==167589== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167589== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167589== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167589== by 0x40041AF: main (first.c:264) === End of file valgrind1580 test 1590 [IMAP cleanup before a connection was created] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1590 ./libtest/libtests lib1553 imap://localhost:42601/1590 > log/7/stdout1590 2> log/7/stderr1590 libtests returned 132, when expecting 0 1590: exit FAILED == Contents of files in the log/7/ directory after test 1590 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1590 ./libtest/libtests lib1553 imap://localhost:42601/1590 > log/7/stdout1590 2> log/7/stderr1590 === End of file commands.log === Start of file imap_server.log 19:28:48.613755 ====> Client connect 19:28:48.613943 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:28:48.614259 < "A001 CAPABILITY" 19:28:48.614304 > "A001 BAD Command[CR][LF]" 19:28:48.614481 < "A002 LIST "verifiedserver" *" 19:28:48.614508 LIST_imap got "verifiedserver" * 19:28:48.614532 > "* LIST () "/" "WE ROOLZ: 122008"[CR][LF]" 19:28:48.614548 > "A002 OK LIST Completed[CR][LF]" 19:28:48.614562 return proof we are we 19:28:48.656735 < "A003 LOGOUT" 19:28:48.656807 > "* BYE curl IMAP server signing off[CR][LF]" 19:28:48.656826 > "A003 OK LOGOUT completed[CR][LF]" 19:28:48.658249 MAIN sockfilt said DISC 19:28:48.658294 ====> Client disconnected 19:28:48.665428 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:49.215969 ====> Client connect 19:28:49.216301 Received DATA (on stdin) 19:28:49.216315 > 164 bytes data, server => client 19:28:49.216326 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:49.216336 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:49.216344 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:28:49.216430 < 17 bytes data, client => server 19:28:49.216442 'A001 CAPABILITY\r\n' 19:28:49.216647 Received DATA (on stdin) 19:28:49.216657 > 18 bytes data, server => client 19:28:49.216667 'A001 BAD Command\r\n' 19:28:49.216726 < 30 bytes data, client => server 19:28:49.216736 'A002 LIST "verifiedserver" *\r\n' 19:28:49.216900 Received DATA (on stdin) 19:28:49.216910 > 34 bytes data, server => client 19:28:49.216919 '* LIST () "/" "WE ROOLZ: 122008"\r\n' 19:28:49.216939 Received DATA (on stdin) 19:28:49.216947 > 24 bytes data, server => client 19:28:49.216956 'A002 OK LIST Completed\r\n' 19:28:49.258864 < 13 bytes data, client => server 19:28:49.258894 'A003 LOGOUT\r\n' 19:28:49.259172 Received DATA (on stdin) 19:28:49.259184 > 36 bytes data, server => client 19:28:49.259194 '* BYE curl IMAP server signing off\r\n' 19:28:49.259221 Received DATA (on stdin) 19:28:49.259229 > 26 bytes data, server => client 19:28:49.259238 'A003 OK LOGOUT completed\r\n' 19:28:49.260529 ====> Client disconnect 19:28:49.260648 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1590 === End of file server.cmd === Start of file valgrind1590 ==168095== ==168095== Process terminating with default action of signal 4 (SIGILL) ==168095== Illegal opcode at address 0x51CC63F ==168095== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168095== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168095== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168095== by 0x40041AF: main (first.c:264) === End of file valgrind1590 test 1577 [CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1588 ./libtest/libtests lib1588 http://test.remote.example.com/path/1588 127.0.0.1 40321 silly:person custom.set.host.name > log/15/stdout1588 2> log/15/stderr1588 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/20/stdout1592 2> log/20/stderr1592 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1589 ./libtest/libtests lib1589 http://test.remote.example.com/path/1589 127.0.0.1 34531 37607 silly:person > log/2/stdout1589 2> log/2/stderr1589 ind1577 ./libtest/libtests lib1576 http://127.0.0.1:37089/1577 1577 > log/5/stdout1577 2> log/5/stderr1577 1577: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1577 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:37089/1577 1577 > log/5/stdout1577 2> log/5/stderr1577 === End of file commands.log === Start of file http_server.log 19:28:47.921058 ====> Client connect 19:28:47.921098 accept_connection 3 returned 4 19:28:47.921123 Read 93 bytes 19:28:47.921134 Process 93 bytes request 19:28:47.921149 Got request: GET /verifiedserver HTTP/1.1 19:28:47.921159 Are-we-friendly question received 19:28:47.921188 Wrote request (93 bytes) input to log/5/server.input 19:28:47.921206 Identifying ourselves as friends 19:28:47.921282 Response sent (56 bytes) and written to log/5/server.response 19:28:47.921294 special request received, no persistency 19:28:47.921302 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 54844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1577 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1577 ==167670== ==167670== Process terminating with default action of signal 4 (SIGILL) ==167670== Illegal opcode at address 0x51CC63F ==167670== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==167670== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==167670== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==167670== by 0x40041AF: main (first.c:264) === End of file valgrind1577 test 1588 [HTTP proxy auth Digest, then change proxy and do it again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1588 ./libtest/libtests lib1588 http://test.remote.example.com/path/1588 127.0.0.1 40321 silly:person custom.set.host.name > log/15/stdout1588 2> log/15/stderr1588 1588: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1588 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1588 ./libtest/libtests lib1588 http://test.remote.example.com/path/1588 127.0.0.1 40321 silly:person custom.set.host.name > log/15/stdout1588 2> log/15/stderr1588 === End of file commands.log === Start of file http_server.log 19:28:49.160267 ====> Client connect 19:28:49.160304 accept_connection 3 returned 4 19:28:49.160327 Read 93 bytes 19:28:49.160338 Process 93 bytes request 19:28:49.160350 Got request: GET /verifiedserver HTTP/1.1 19:28:49.160359 Are-we-friendly question received 19:28:49.160386 Wrote request (93 bytes) input to log/15/server.input 19:28:49.160403 Identifying ourselves as friends 19:28:49.160471 Response sent (56 bytes) and written to log/15/server.response 19:28:49.160484 special request received, no persistency 19:28:49.160493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 59576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1588 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1588 ==168018== ==168018== Process terminating with default action of signal 4 (SIGILL) ==168018== Illegal opcode at address 0x51CC63F ==168018== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168018== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168018== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168018== by 0x40041AF: main (first.c:264) === End of file valgrind1588 test 1592 [HTTP request, remove handle while resolving, do not block] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/20/stdout1592 2> log/20/stderr1592 libtests returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/20/ directory after test 1592 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/20/stdout1592 2> log/20/stderr1592 === End of file commands.log === Start of file server.cmd Testnum 1592 === End of file server.cmd === Start of file valgrind1592 ==168110== ==168110== Process terminating with default action of signal 4 (SIGILL) ==168110== Illegal opcode at address 0x51CC63F ==168110== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168110== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168110== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168110== by 0x40041AF: main (first.c:264) === End of file valgrind1592 test 1589 [HTTP proxy auth Digest, then change proxy port and do it again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1589 ./libtest/libtests lib1589 http://test.remote.example.com/path/1589 127.0.0.1 34531 37607 silly:person > log/2/stdout1589 2> log/2/stderr1589 1589: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1589 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1589 ./libtest/libtests lib1589 http://test.remote.example.com/path/1589 127.0.0.1 34531 37607 silly:person > log/2/stdout1589 2> log/2/stderr1589 === End of file commands.log === Start of file http2_server.log 19:28:49.271056 ====> Client connect 19:28:49.271099 accept_connection 3 returned 4 19:28:49.271127 Read 93 bytes 19:28:49.271138 Process 93 bytes request 19:28:49.271152 Got request: GET /verifiedserver HTTP/1.1 19:28:49.271161 Are-we-friendly question received 19:28:49.271193 Wrote request (93 bytes) input to log/2/proxy.input 19:28:49.271212 Identifying ourselves as friends 19:28:49.271321 Response sent (57 bytes) and written to log/2/proxy.response 19:28:49.271335 special request received, no persistency 19:28:49.271344 ====> ClientCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:44711/1594 > log/23/stdout1594 2> log/23/stderr1594 disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37607... * Established connection to 127.0.0.1 (127.0.0.1 port 37607) from 127.0.0.1 port 43500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37607 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37607 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150157 === End of file http2_verify.out === Start of file http_server.log 19:28:49.189604 ====> Client connect 19:28:49.189633 accept_connection 3 returned 4 19:28:49.189650 Read 93 bytes 19:28:49.189657 Process 93 bytes request 19:28:49.189668 Got request: GET /verifiedserver HTTP/1.1 19:28:49.189674 Are-we-friendly question received 19:28:49.189711 Wrote request (93 bytes) input to log/2/server.input 19:28:49.189724 Identifying ourselves as friends 19:28:49.189774 Response sent (56 bytes) and written to log/2/server.response 19:28:49.189781 special request received, no persistency 19:28:49.189787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 53596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150157 === End of file proxy.response === Start of file server.cmd Testnum 1589 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1589 ==168101== ==168101== Process terminating with default action of signal 4 (SIGILL) ==168101== Illegal opcode at address 0x51CC63F ==168101== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168101== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168101== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168101== by 0x40041AF: main (first.c:264) === End of file valgrind1589 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:40921/1596 > log/12/stdout1596 2> log/12/stderr1596 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38895/1595 > log/24/stdout1595 2> log/24/stderr1595 test 1594 [HTTP Retry-After header parsing and extraction] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:44711/1594 > log/23/stdout1594 2> log/23/stderr1594 1594: stdout FAILED: --- log/23/check-expected 2026-10-15 19:28:50.472589490 +0000 +++ log/23/check-generated 2026-10-15 19:28:50.469200524 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/23/ directory after test 1594 === Start of file check-expected Retry-After 22[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:44711/1594 > log/23/stdout1594 2> log/23/stderr1594 === End of file commands.log === Start of file http_server.log 19:28:48.487708 ====> Client connect 19:28:48.487744 accept_connection 3 returned 4 19:28:48.487765 Read 93 bytes 19:28:48.487775 Process 93 bytes request 19:28:48.487786 Got request: GET /verifiedserver HTTP/1.1 19:28:48.487794 Are-we-friendly question received 19:28:48.487819 Wrote request (93 bytes) input to log/23/server.input 19:28:48.487835 Identifying ourselves as friends 19:28:48.487906 Response sent (56 bytes) and written to log/23/server.response 19:28:48.487914 special request received, no persistency 19:28:48.487922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1594 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1594 ==168370== ==168370== Process terminating with default action of signal 4 (SIGILL) ==168370== Illegal opcode at address 0x51CC63F ==168370== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168370== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168370== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168370== by 0x40041AF: main (first.c:264) === End of file valgrind1594 test 1596 [HTTP Retry-After header parsing using a date] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:40921/1596 > log/12/stdout1596 2> log/12/stderr1596 1596: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:50.572769826 +0000 +++ log/12/check-generated 2026-10-15 19:28:50.569201767 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/12/ directory after test 1596 === Start of file check-expected Retry-After 21600[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:40921/1596 > log/12/stdout1596 2> log/12/stderr1596 === End of file commands.log === Start of file http_server.log 19:28:48.764174 ====> Client connect 19:28:48.764222 accept_connection 3 returned 4 19:28:48.764247 Read 93 bytes 19:28:48.764257 Process 93 bytes request 19:28:48.764269 Got request: GET /verifiedserver HTTP/1.1 19:28:48.764278 Are-we-friendly question received 19:28:48.764319 Wrote request (93 bytes) input to log/12/server.input 19:28:48.764338 Identifying ourselves as friends 19:28:48.764419 Response sent (56 bytes) and written to log/12/server.response 19:28:48.764432 special request received, no persistency 19:28:48.764441 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1596 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1596 ==168526== ==168526== Process terminating with default action of signal 4 (SIGILL) ==168526== Illegal opcode at address 0x51CC63F ==168526== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168526== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168526== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168526== by 0x40041AF: main (first.c:264) === End of file valgrind1596 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:43739/1593 > log/18/stdout1593 2> log/18/stderr1593 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1597 ./libtest/libtests lib1597 - > log/13/stdout1597 2> log/13/stderr1597 test 1595 [HTTP Retry-After header extraction (without header)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38895/1595 > log/24/stdout1595 2> log/24/stderr1595 1595: stdout FAILED: --- log/24/check-expected 2026-10-15 19:28:50.594725987 +0000 +++ log/24/check-generated 2026-10-15 19:28:50.589202015 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/24/ directory after test 1595 === Start of file check-expected Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:38895/1595 > log/24/stdout1595 2> log/24/stderr1595 === End of file commands.log === Start of file http_server.log 19:28:48.514390 ====> Client connect 19:28:48.514437 accept_connection 3 returned 4 19:28:48.517879 Read 93 bytes 19:28:48.517899 Process 93 bytes request 19:28:48.517913 Got request: GET /verifiedserver HTTP/1.1 19:28:48.517923 Are-we-friendly question received 19:28:48.517959 Wrote request (93 bytes) input to log/24/server.input 19:28:48.517979 Identifying ourselves as friends 19:28:48.518045 Response sent (56 bytes) and written to log/24/server.response 19:28:48.518055 special request received, no persistency 19:28:48.518064 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1595 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1595 ==168390== ==168390== Process terminating with default action of signal 4 (SIGILL) ==168390== Illegal opcode at address 0x51CC63F ==168390== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168390== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168390== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168390== by 0x40041AF: main (first.c:264) === End of file valgrind1595 test 1593 [HTTP custom header overrides CURLOPT_TIMECONDITION] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:43739/1593 > log/18/stdout1593 2> log/18/stderr1593 1593: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1593 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:43739/1593 > log/18/stdout1593 2> log/18/stderr1593 === End of file commands.log === Start of file http_server.log 19:28:49.467719 ====> Client connect 19:28:49.467763 accept_connection 3 returned 4 19:28:49.467788 Read 93 bytes 19:28:49.467797 Process 93 bytes request 19:28:49.467809 Got request: GET /verifiedserver HTTP/1.1 19:28:49.467818 Are-we-friendly question received 19:28:49.467844 Wrote request (93 bytes) input to log/18/server.input 19:28:49.467860 Identifying ourselves as friends 19:28:49.468043 Response sent (56 bytes) and written to log/18/server.response 19:28:49.468052 special request received, no persistency 19:28:49.468061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1593 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1593 ==168366== ==168366== Process terminating with default action of signal 4 (SIGILL) ==168366== Illegal opcode at address 0x51CC63F ==168366== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168366== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168366== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168366== by 0x40041AF: main (first.c:264) === End of file valgrind1593 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1584 ../src/curl -q --trace-ascii log/9/trace1584 --trace-time http://127.0.0.1:43733/1584 -J -O --output-dir log/9 > log/9/stdout1584 2> log/9/stderr1584 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1585 ../src/curl -q --trace-ascii log/19/trace1585 --trace-time http://127.0.0.1:37077/1585 -J -O --output-dir log/19 > log/19/stdout1585 2> log/19/stderr1585 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1602 ./unit/units unit1602 - > log/1/stdout1602 2> log/1/stderr1602 test 1597 [CURLOPT_PROTOCOLS_STR] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1597 ./libtest/libtests lib1597 - > log/13/stdout1597 2> log/13/stderr1597 1597: stdout FAILED: --- log/13/check-expected 2026-10-15 19:28:50.676743785 +0000 +++ log/13/check-generated 2026-10-15 19:28:50.672536385 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/13/ directory after test 1597 === Start of file check-expected Tested 15 strings[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1597 ./libtest/libtests lib1597 - > log/13/stdout1597 2> log/13/stderr1597 === End of file commands.log === Start of file server.cmd Testnum 1597 === End of file server.cmd === Start of file valgrind1597 ==168543== ==168543== Process terminating with default action of signal 4 (SIGILL) ==168543== Illegal opcode at address 0x51CC63F ==168543== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168543== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168543== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168543== by 0x40041AF: main (first.c:264) === End of file valgrind1597 test 1584 [HTTP GET with -J and Content-Disposition including path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1584 ../src/curl -q --trace-ascii log/9/trace1584 --trace-time http://127.0.0.1:43733/1584 -J -O --output-dir log/9 > log/9/stdout1584 2> log/9/stderr1584 1584: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1584 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1584 ../src/curl -q --trace-ascii log/9/trace1584 --trace-time http://127.0.0.1:43733/1584 -J -O --output-dir log/9 > log/9/stdout1584 2> log/9/stderr1584 === End of file commands.log === Start of file http_server.log 19:28:47.957356 ====> Client connect 19:28:47.957392 accept_connection 3 returned 4 19:28:47.957414 Read 93 bytes 19:28:47.957423 Process 93 bytes request 19:28:47.957436 Got request: GET /verifiedserver HTTP/1.1 19:28:47.957445 Are-we-friendly question received 19:28:47.957474 Wrote request (93 bytes) input to log/9/server.input 19:28:47.957491 Identifying ourselves as friends 19:28:47.957560 Response sent (56 bytes) and written to log/9/server.response 19:28:47.957571 special request received, no persistency 19:28:47.957580 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1584 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1584 ==167668== ==167668== Process terminating with default action of signal 4 (SIGILL) ==167668== Illegal opcode at address 0x492B75F ==167668== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==167668== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==167668== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==167668== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==167668== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==167668== by 0x49908EB: curl_version_info (version.c:600) ==167668== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==167668== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==167668== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==167668== by 0x4003269: main (tool_main.c:195) === End of file valgrind1584 test 1585 [HTTP GET with -J and Content-Disposition including DOS path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1585 ../src/curl -q --trace-ascii log/19/trace1585 --trace-time http://127.0.0.1:37077/1585 -J -O --output-dir log/19 > log/19/stdout1585 2> log/19/stderr1585 1585: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1585 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1585 ../src/curl -q --trace-ascii log/19/trace1585 --trace-time http://127.0.0.1:37077/1585 -J -O --output-dir log/19 > log/19/stdout1585 2> log/19/stderr1585 === End of file commands.log === Start of file http_server.log 19:28:48.052778 ====> Client connect 19:28:48.052814 accept_connection 3 returned 4 19:28:48.052833 Read 93 bytes 19:28:48.052841 Process 93 bytes request 19:28:48.052852 Got request: GET /verifiedserver HTTP/1.1 19:28:48.052859 Are-we-friendly question received 19:28:48.052881 Wrote request (93 bytes) input to log/19/server.input 19:28:48.052895 Identifying ourselves as friends 19:28:48.054049 Response sent (57 bytes) and written to log/19/server.response 19:28:48.054064 special request received, no persistency 19:28:48.054072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 58010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [1 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1585 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1585 ==167839== ==167839== Process terminating with default action of signal 4 (SIGILL) ==167839== Illegal opcode at address 0x492B75F ==167839== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==167839== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==167839== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==167839== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==167839== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==167839== by 0x49908EB: curl_version_info (version.c:600) ==167839== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==167839== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==167839== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==167839== by 0x4003269: main (tool_main.c:195) === End of file valgrind1585 test 1602 [Internal hash create/add/destroy testing, exercising clean functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1602 ./unit/units unit1602 - > log/1/stdout1602 2> log/1/stderr1602 units returned 132, wheCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:46137/1599 log/17/netrc1599 > log/17/stdout1599 2> log/17/stderr1599 n expecting 0 1602: exit FAILED == Contents of files in the log/1/ directory after test 1602 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1602 ./unit/units unit1602 - > log/1/stdout1602 2> log/1/stderr1602 === End of file commands.log === Start of file server.cmd Testnum 1602 === End of file server.cmd === Start of file valgrind1602 ==168733== ==168733== Process terminating with default action of signal 4 (SIGILL) ==168733== Illegal opcode at address 0x4091F7F ==168733== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==168733== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==168733== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==168733== by 0x400B1A9: main (first.c:264) === End of file valgrind1602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1601 ./unit/units unit1601 - > log/11/stdout1601 2> log/11/stderr1601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39881/bzz/1598 log/21/stdout1598 2> log/21/stderr1598 test 1599 [FTP with netrc using no user but control code in password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:46137/1599 log/17/netrc1599 > log/17/stdout1599 2> log/17/stderr1599 1599: data FAILED: --- log/17/check-expected 2026-10-15 19:28:50.860799989 +0000 +++ log/17/check-generated 2026-10-15 19:28:50.855872000 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/17/ directory after test 1599 === Start of file check-expected -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:46137/1599 log/17/netrc1599 > log/17/stdout1599 2> log/17/stderr1599 === End of file commands.log === Start of file ftp_server.log 19:28:49.490783 ====> Client connect 19:28:49.491023 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:49.491325 < "USER anonymous" 19:28:49.491359 > "331 We are happy you popped in![CR][LF]" 19:28:49.491507 < "PASS ftp@example.com" 19:28:49.491559 > "230 Welcome you silly person[CR][LF]" 19:28:49.491681 < "PWD" 19:28:49.491757 > "257 "/" is current directory[CR][LF]" 19:28:49.491863 < "EPSV" 19:28:49.491887 ====> Passive DATA channel requested by client 19:28:49.491901 DATA sockfilt for passive data channel starting... 19:28:49.520219 DATA sockfilt for passive data channel started (pid 168672) 19:28:49.520354 DATA sockfilt for passive data channel listens on port 40421 19:28:49.520401 > "229 Entering Passive Mode (|||40421|)[CR][LF]" 19:28:49.520417 Client has been notified that upcoming DATA connection is awaited on port 40421 19:28:49.521694 Client connects to port 40421 19:28:49.521728 ====> Client established passive DATA connection on port 40421 19:28:49.521824 < "TYPE I" 19:28:49.521856 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:49.522016 < "SIZE verifiedserver" 19:28:49.522052 > "213 17[CR][LF]" 19:28:49.522394 < "RETR verifiedserver" 19:28:49.522433 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:49.522539 =====> Closing passive DATA connection... 19:28:49.522559 Server disconnects passive DATA connection 19:28:49.532029 Server disconnected passive DATA connection 19:28:49.532118 DATA sockfilt for passive data channel quits (pid 168672) 19:28:49.532467 DATA sockfilt for passive data channel quit (pid 168672) 19:28:49.532492 =====> Closed passive DATA connection 19:28:49.532534 > "226 File transfer complete[CR][LF]" 19:28:49.567243 < "QUIT" 19:28:49.567293 > "221 bye bye baby[CR][LF]" 19:28:49.568524 MAIN sockfilt said DISC 19:28:49.568567 ====> Client disconnected 19:28:49.568724 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:49.092984 ====> Client connect 19:28:49.093374 Received DATA (on stdin) 19:28:49.093391 > 146 bytes data, server => client 19:28:49.093403 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:49.093411 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:49.093419 '220 \___|\___/|_| \_\_____|\r\n' 19:28:49.093507 < 16 bytes data, client => server 19:28:49.093519 'USER anonymous\r\n' 19:28:49.093690 Received DATA (on stdin) 19:28:49.093701 > 33 bytes data, server => client 19:28:49.093710 '331 We are happy you popped in!\r\n' 19:28:49.093755 < 22 bytes data, client => server 19:28:49.093765 'PASS ftp@example.com\r\n' 19:28:49.093840 Received DATA (on stdin) 19:28:49.093850 > 30 bytes data, server => client 19:28:49.093885 '230 Welcome you silly person\r\n' 19:28:49.093933 < 5 bytes data, client => server 19:28:49.093943 'PWD\r\n' 19:28:49.094018 Received DATA (on stdin) 19:28:49.094028 > 30 bytes data, server => client 19:28:49.094043 '257 "/" is current directory\r\n' 19:28:49.094117 < 6 bytes data, client => server 19:28:49.094127 'EPSV\r\n' 19:28:49.122755 Received DATA (on stdin) 19:28:49.122772 > 39 bytes data, server => client 19:28:49.122782 '229 Entering Passive Mode (|||40421|)\r\n' 19:28:49.123937 < 8 bytes data, client => server 19:28:49.123954 'TYPE I\r\n' 19:28:49.124185 Received DATA (on stdin) 19:28:49.124195 > 33 bytes data, server => client 19:28:49.124205 '200 I modify TYPE as you wanted\r\n' 19:28:49.124256 < 21 bytes data, client => server 19:28:49.124266 'SIZE verifiedserver\r\n' 19:28:49.124378 Received DATA (on stdin) 19:28:49.124388 > 8 bytes data, server => client 19:28:49.124397 '213 17\r\n' 19:28:49.124622 < 21 bytes data, client => server 19:28:49.124641 'RETR verifiedserver\r\n' 19:28:49.124891 Received DATA (on stdin) 19:28:49.124903 > 29 bytes data, server => client 19:28:49.124912 '150 Binary junk (17 bytes).\r\n' 19:28:49.134878 Received DATA (on stdin) 19:28:49.134896 > 28 bytes data, server => client 19:28:49.134907 '226 File transfer complete\r\n' 19:28:49.169380 < 6 bytes data, client => server 19:28:49.169415 'QUIT\r\n' 19:28:49.169624 Received DATA (on stdin) 19:28:49.169634 > 18 bytes data, server => client 19:28:49.169644 '221 bye bye baby\r\n' 19:28:49.170793 ====> Client disconnect 19:28:49.170969 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:49.121774 Running IPv4 version 19:28:49.121868 Listening on port 40421 19:28:49.121910 Wrote pid 168672 to log/17/server/ftp_sockdata.pid 19:28:49.122485 Received PING (on stdin) 19:28:49.122587 Received PORT (on stdin) 19:28:49.123974 ====> Client connect 19:28:49.127990 Received DATA (on stdin) 19:28:49.128009 > 17 bytes data, server => client 19:28:49.128019 'WE ROOLZ: 84749\r\n' 19:28:49.128050 Received DISC (on stdin) 19:28:49.128062 ====> Client forcibly disconnected 19:28:49.134476 Received QUIT (on stdin) 19:28:49.134496 quits 19:28:49.134590 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc1599 default passwor?dlogin anonymou\ ' password login anonymous passwor?d.'macdef === End of file netrc1599 === Start of file server.cmd Testnum 1599 === End of file server.cmd === Start of file valgrind1599 ==168726== ==168726== Process terminating with default action of signal 4 (SIGILL) ==168726== Illegal opcode at address 0x51CC63F ==168726== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168726== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168726== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168726== by 0x40041AF: main (first.c:264) === End of file valgrind1599 test 1601 [MD5 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1601 ./unit/units unit1601 - > log/11/stdout1601 2> log/11/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/11/ directory after test 1601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1601 ./unit/units unit1601 - > log/11/stdout1601 2> log/11/stderr1601 === End of file commands.log === Start of file server.cmd Testnum 1601 === End of file server.cmd === Start of file valgrind1601 ==168652== ==168652== Process terminating with default action of signal 4 (SIGILL) ==168652== Illegal opcode at address 0x4091F7F ==168652== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==168652== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==168652== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==168652== by 0x400B1A9: main (first.c:264) === End of file valgrind1601 test 1598 [HTTP POST with trailers at the end] ../libtool --mode=execute /usr/bin/valgriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1603 ./unit/units unit1603 - > log/8/stdout1603 2> log/8/stderr1603 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1604 ./tunit/tunits tool1604 - > log/14/stdout1604 2> log/14/stderr1604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1612 ./unit/units unit1612 - > log/5/stdout1612 2> log/5/stderr1612 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1605 ./libtest/libtests lib1605 - > log/16/stdout1605 2> log/16/stderr1605 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 nd --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39881/bzz/1598 log/21/stdout1598 2> log/21/stderr1598 1598: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1598 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:39881/bzz/1598 log/21/stdout1598 2> log/21/stderr1598 === End of file commands.log === Start of file http_server.log 19:28:49.047212 ====> Client connect 19:28:49.047251 accept_connection 3 returned 4 19:28:49.047274 Read 93 bytes 19:28:49.047283 Process 93 bytes request 19:28:49.047296 Got request: GET /verifiedserver HTTP/1.1 19:28:49.047306 Are-we-friendly question received 19:28:49.047340 Wrote request (93 bytes) input to log/21/server.input 19:28:49.047358 Identifying ourselves as friends 19:28:49.047431 Response sent (56 bytes) and written to log/21/server.response 19:28:49.047442 special request received, no persistency 19:28:49.047450 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 40366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1598 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file stdin-for-1598 more than one byte === End of file stdin-for-1598 === Start of file valgrind1598 ==168653== ==168653== Process terminating with default action of signal 4 (SIGILL) ==168653== Illegal opcode at address 0x51CC63F ==168653== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168653== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168653== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168653== by 0x40041AF: main (first.c:264) === End of file valgrind1598 test 1603 [Internal hash add, retrieval, deletion testing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1603 ./unit/units unit1603 - > log/8/stdout1603 2> log/8/stderr1603 units returned 132, when expecting 0 1603: exit FAILED == Contents of files in the log/8/ directory after test 1603 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1603 ./unit/units unit1603 - > log/8/stdout1603 2> log/8/stderr1603 === End of file commands.log === Start of file server.cmd Testnum 1603 === End of file server.cmd === Start of file valgrind1603 ==168768== ==168768== Process terminating with default action of signal 4 (SIGILL) ==168768== Illegal opcode at address 0x4091F7F ==168768== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==168768== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==168768== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==168768== by 0x400B1A9: main (first.c:264) === End of file valgrind1603 test 1604 [Test Windows/MS-DOS filename sanitization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1604 ./tunit/tunits tool1604 - > log/14/stdout1604 2> log/14/stderr1604 tunits returned 132, when expecting 0 1604: exit FAILED == Contents of files in the log/14/ directory after test 1604 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1604 ./tunit/tunits tool1604 - > log/14/stdout1604 2> log/14/stderr1604 === End of file commands.log === Start of file server.cmd Testnum 1604 === End of file server.cmd === Start of file valgrind1604 ==168825== ==168825== Process terminating with default action of signal 4 (SIGILL) ==168825== Illegal opcode at address 0x48F863F ==168825== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==168825== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==168825== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==168825== by 0x40011A9: main (first.c:264) === End of file valgrind1604 test 1612 [HMAC unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1612 ./unit/units unit1612 - > log/5/stdout1612 2> log/5/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/5/ directory after test 1612 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1612 ./unit/units unit1612 - > log/5/stdout1612 2> log/5/stderr1612 === End of file commands.log === Start of file server.cmd Testnum 1612 === End of file server.cmd === Start of file valgrind1612 ==169087== ==169087== Process terminating with default action of signal 4 (SIGILL) ==169087== Illegal opcode at address 0x4091F7F ==169087== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169087== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169087== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169087== by 0x400B1A9: main (first.c:264) === End of file valgrind1612 test 1605 [Test negative data lengths as input to libcurl functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1605 ./libtest/libtests lib1605 - > log/16/stdout1605 2> log/16/stderr1605 libtests returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/16/ directory after test 1605 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1605 ./libtest/libtests lib1605 - > log/16/stdout1605 2> log/16/stderr1605 === End of file commands.log === Start of file server.cmd Testnum 1605 === End of file server.cmd === Start of file valgrind1605 ==168853== ==168853== Process terminating with default action of signal 4 (SIGILL) ==168853== Illegal opcode at address 0x51CC63F ==168853== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==168853== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==168853== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==168853== by 0x40041AF: main (first.c:264) === End of file valgrind1605 test 1610 [SHA256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/4/ directory after test 1610 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/stderr1606 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1608 ./unit/units unit1608 - > log/10/stdout1608 2> log/10/stderr1608 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1615 ./unit/units unit1615 - > log/2/stdout1615 2> log/2/stderr1615 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1607 ./unit/units unit1607 - > log/22/stdout1607 2> log/22/stderr1607 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1614 ./unit/units unit1614 - > log/20/stdout1614 2> log/20/stderr1614 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/stderr1621 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1610 ./unit/units unit1610 - > log/4/stdout1610 2> log/4/stderr1610 === End of file commands.log === Start of file server.cmd Testnum 1610 === End of file server.cmd === Start of file valgrind1610 ==169049== ==169049== Process terminating with default action of signal 4 (SIGILL) ==169049== Illegal opcode at address 0x4091F7F ==169049== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169049== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169049== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169049== by 0x400B1A9: main (first.c:264) === End of file valgrind1610 test 1606 [verify speedcheck] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/3/ directory after test 1606 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/stderr1606 === End of file commands.log === Start of file server.cmd Testnum 1606 === End of file server.cmd === Start of file valgrind1606 ==168896== ==168896== Process terminating with default action of signal 4 (SIGILL) ==168896== Illegal opcode at address 0x4091F7F ==168896== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==168896== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==168896== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==168896== by 0x400B1A9: main (first.c:264) === End of file valgrind1606 test 1608 [verify DNS shuffling] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1608 ./unit/units unit1608 - > log/10/stdout1608 2> log/10/stderr1608 units returned 132, when expecting 0 1608: exit FAILED == Contents of files in the log/10/ directory after test 1608 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1608 ./unit/units unit1608 - > log/10/stdout1608 2> log/10/stderr1608 === End of file commands.log === Start of file server.cmd Testnum 1608 === End of file server.cmd === Start of file valgrind1608 ==169029== ==169029== Process terminating with default action of signal 4 (SIGILL) ==169029== Illegal opcode at address 0x4091F7F ==169029== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169029== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169029== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169029== by 0x400B1A9: main (first.c:264) === End of file valgrind1608 test 1615 [SHA-512/256 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1615 ./unit/units unit1615 - > log/2/stdout1615 2> log/2/stderr1615 units returned 132, when expecting 0 1615: exit FAILED == Contents of files in the log/2/ directory after test 1615 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1615 ./unit/units unit1615 - > log/2/stdout1615 2> log/2/stderr1615 === End of file commands.log === Start of file server.cmd Testnum 1615 === End of file server.cmd === Start of file valgrind1615 ==169240== ==169240== Process terminating with default action of signal 4 (SIGILL) ==169240== Illegal opcode at address 0x4091F7F ==169240== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169240== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169240== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169240== by 0x400B1A9: main (first.c:264) === End of file valgrind1615 test 1611 [MD4 unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/7/ directory after test 1611 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1611 ./unit/units unit1611 - > log/7/stdout1611 2> log/7/stderr1611 === End of file commands.log === Start of file server.cmd Testnum 1611 === End of file server.cmd === Start of file valgrind1611 ==169082== ==169082== Process terminating with default action of signal 4 (SIGILL) ==169082== Illegal opcode at address 0x4091F7F ==169082== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169082== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169082== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169082== by 0x400B1A9: main (first.c:264) === End of file valgrind1611 test 1607 [CURLOPT_RESOLVE parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1607 ./unit/units unit1607 - > log/22/stdout1607 2> log/22/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/22/ directory after test 1607 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1607 ./unit/units unit1607 - > log/22/stdout1607 2> log/22/stderr1607 === End of file commands.log === Start of file server.cmd Testnum 1607 === End of file server.cmd === Start of file valgrind1607 ==168929== ==168929== Process terminating with default action of signal 4 (SIGILL) ==168929== Illegal opcode at address 0x4091F7F ==168929== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==168929== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==168929== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==168929== by 0x400B1A9: main (first.c:264) === End of file valgrind1607 test 1614 [noproxy and cidr comparisons] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1614 ./unit/units unit1614 - > log/20/stdout1614 2> log/20/stderr1614 units returned 132, when expecting 0 1614: exit FAILED == Contents of files in the log/20/ directory after test 1614 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1614 ./unit/units unit1614 - > log/20/stdout1614 2> log/20/stderr1614 === End of file commands.log === Start of file server.cmd Testnum 1614 === End of file server.cmd === Start of file valgrind1614 ==169205== ==169205== Process terminating with default action of signal 4 (SIGILL) ==169205== Illegal opcode at address 0x4091F7F ==169205== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169205== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169205== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169205== by 0x400B1A9: main (first.c:264) === End of file valgrind1614 test 1621 [unit tests for stripcredentials from URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --numCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1620 ./unit/units unit1620 - > log/13/stdout1620 2> log/13/stderr1620 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1616 ./libtest/libtests lib1616 http://test.remote.example.com/16160001 127.0.0.1 44711 1616 > log/23/stdout1616 2> log/23/stderr1616 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1622 ./tunit/tunits tool1622 - > log/19/stdout1622 2> log/19/stderr1622 -callers=16 --log-file=log/9/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/9/ directory after test 1621 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/stderr1621 === End of file commands.log === Start of file server.cmd Testnum 1621 === End of file server.cmd === Start of file valgrind1621 ==169496== ==169496== Process terminating with default action of signal 4 (SIGILL) ==169496== Illegal opcode at address 0x48F863F ==169496== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==169496== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==169496== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==169496== by 0x40011A9: main (first.c:264) === End of file valgrind1621 test 1620 [unit tests for url.c] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1620 ./unit/units unit1620 - > log/13/stdout1620 2> log/13/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/13/ directory after test 1620 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1620 ./unit/units unit1620 - > log/13/stdout1620 2> log/13/stderr1620 === End of file commands.log === Start of file server.cmd Testnum 1620 === End of file server.cmd === Start of file valgrind1620 ==169410== ==169410== Process terminating with default action of signal 4 (SIGILL) ==169410== Illegal opcode at address 0x4091F7F ==169410== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169410== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169410== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169410== by 0x400B1A9: main (first.c:264) === End of file valgrind1620 test 1616 [HTTP 407 from a non-proxied host must not set proxy Digest state] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1616 ./libtest/libtests lib1616 http://test.remote.example.com/16160001 127.0.0.1 44711 1616 > log/23/stdout1616 2> log/23/stderr1616 1616: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1616 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1616 ./libtest/libtests lib1616 http://test.remote.example.com/16160001 127.0.0.1 44711 1616 > log/23/stdout1616 2> log/23/stderr1616 === End of file commands.log === Start of file http_server.log 19:28:50.153264 ====> Client connect 19:28:50.153298 accept_connection 3 returned 4 19:28:50.153438 Read 93 bytes 19:28:50.153450 Process 93 bytes request 19:28:50.153463 Got request: GET /verifiedserver HTTP/1.1 19:28:50.153472 Are-we-friendly question received 19:28:50.153499 Wrote request (93 bytes) input to log/23/server.input 19:28:50.153515 Identifying ourselves as friends 19:28:50.153569 Response sent (56 bytes) and written to log/23/server.response 19:28:50.153578 special request received, no persistency 19:28:50.153586 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 48950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1616 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1616 ==169335== ==169335== Process terminating with default action of signal 4 (SIGILL) ==169335== Illegal opcode at address 0x51CC63F ==169335== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==169335== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==169335== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==169335== by 0x40041AF: main (first.c:264) === End of file valgrind1616 test 1622 [tool time and size progress output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1622 ./tunit/tunits tool1622 - > log/19/stdout1622 2> log/19/stderr1622 1622: stdout FAILED: --- log/19/check-expected 2026-10-15 19:28:52.327052442 +0000 +++ log/19/check-generated 2026-10-15 19:28:52.326412364 +0000 @@ -1,133 +0,0 @@ -timebuf[LF] - 0 - [LF] - 1 - 00:00:01[LF] - 3 - 00:00:03[LF] - 7 - 00:00:07[LF] - 15 - 00:00:15[LF] - 31 - 00:00:31[LF] - 63 - 00:01:03[LF] - 127 - 00:02:07[LF] - 255 - 00:04:15[LF] - 511 - 00:08:31[LF] - 1023 - 00:17:03[LF] - 2047 - 00:34:07[LF] - 4095 - 01:08:15[LF] - 8191 - 02:16:31[LF] - 16383 - 04:33:03[LF] - 32767 - 09:06:07[LF] - 65535 - 18:12:15[LF] - 131071 - 36:24:31[LF] - 262143 - 72:49:03[LF] - 524287 - 6d 01h[LF] - 1048575 - 12d 03h[LF] - 2097151 - 24d 06h[LF] - 4194303 - 48d 13h[LF] - 8388607 - 97d 02h[LF] - 16777215 - 194d 04h[LF] - 33554431 - 388d 08h[LF] - 67108863 - 776d 17h[LF] - 134217727 - 51m 23d[LF] - 268435455 - 103m 16d[LF] - 536870911 - 207m 03d[LF] - 1073741823 - 414m 07d[LF] - 2147483647 - 828m 15d[LF] - 4294967295 - 136y[LF] - 8589934591 - 272y[LF] - 17179869183 - 544y[LF] - 34359738367 - 1089y[LF] - 68719476735 - 2179y[LF] - 137438953471 - 4358y[LF] - 274877906943 - 8716y[LF] - 549755813887 - 17432y[LF] - 1099511627775 - 34865y[LF] - 2199023255551 - 69730y[LF] - 4398046511103 - >99999y[LF] - 8796093022207 - >99999y[LF] - 17592186044415 - >99999y[LF] - 35184372088831 - >99999y[LF] - 70368744177663 - >99999y[LF] - 140737488355327 - >99999y[LF] - 281474976710655 - >99999y[LF] - 562949953421311 - >99999y[LF] - 1125899906842623 - >99999y[LF] - 2251799813685247 - >99999y[LF] - 4503599627370495 - >99999y[LF] - 9007199254740991 - >99999y[LF] - 18014398509481983 - >99999y[LF] - 36028797018963967 - >99999y[LF] - 72057594037927935 - >99999y[LF] - 144115188075855871 - >99999y[LF] - 288230376151711743 - >99999y[LF] - 576460752303423487 - >99999y[LF] - 1152921504606846975 - >99999y[LF] - 2305843009213693951 - >99999y[LF] - 4611686018427387903 - >99999y[LF] -max5data[LF] - 0 - 0[LF] - 1 - 1[LF] - 3 - 3[LF] - 7 - 7[LF] - 15 - 15[LF] - 31 - 31[LF] - 63 - 63[LF] - 127 - 127[LF] - 255 - 255[LF] - 511 - 511[LF] - 1023 - 1023[LF] - 2047 - 2047[LF] - 4095 - 4095[LF] - 8191 - 8191[LF] - 16383 - 16383[LF] - 32767 - 32767[LF] - 65535 - 65535[LF] - 131071 - 127k[LF] - 262143 - 255k[LF] - 524287 - 511k[LF] - 1048575 - 1023k[LF] - 2097151 - 2047k[LF] - 4194303 - 4095k[LF] - 8388607 - 8191k[LF] - 16777215 - 15.9M[LF] - 33554431 - 31.9M[LF] - 67108863 - 63.9M[LF] - 134217727 - 127M[LF] - 268435455 - 255M[LF] - 536870911 - 511M[LF] - 1073741823 - 1023M[LF] - 2147483647 - 2047M[LF] - 4294967295 - 4095M[LF] - 8589934591 - 8191M[LF] - 17179869183 - 15.9G[LF] - 34359738367 - 31.9G[LF] - 68719476735 - 63.9G[LF] - 137438953471 - 127G[LF] - 274877906943 - 255G[LF] - 549755813887 - 511G[LF] - 1099511627775 - 1023G[LF] - 2199023255551 - 2047G[LF] - 4398046511103 - 4095G[LF] - 8796093022207 - 8191G[LF] - 17592186044415 - 15.9T[LF] - 35184372088831 - 31.9T[LF] - 70368744177663 - 63.9T[LF] - 140737488355327 - 127T[LF] - 281474976710655 - 255T[LF] - 562949953421311 - 511T[LF] - 1125899906842623 - 1023T[LF] - 2251799813685247 - 2047T[LF] - 4503599627370495 - 4095T[LF] - 9007199254740991 - 8191T[LF] - 18014398509481983 - 15.9P[LF] - 36028797018963967 - 31.9P[LF] - 72057594037927935 - 63.9P[LF] - 144115188075855871 - 127P[LF] - 288230376151711743 - 255P[LF] - 576460752303423487 - 511P[LF] - 1152921504606846975 - 1023P[LF] - 2305843009213693951 - 2047P[LF] - 4611686018427387903 - 4095P[LF] - 131072 - 128k[LF] - 12645826 - 12.0M[LF] - 1073741824 - 1024M[LF] - 12938588979 - 12.0G[LF] - 1099445657078333 - 999T[LF] == Contents of files in the log/19/ directory after test 1622 === Start of file check-expected timebuf[LF] 0 - [LF] 1 - 00:00:01[LF] 3 - 00:00:03[LF] 7 - 00:00:07[LF] 15 - 00:00:15[LF] 31 - 00:00:31[LF] 63 - 00:01:03[LF] 127 - 00:02:07[LF] 255 - 00:04:15[LF] 511 - 00:08:31[LF] 1023 - 00:17:03[LF] 2047 - 00:34:07[LF] 4095 - 01:08:15[LF] 8191 - 02:16:31[LF] 16383 - 04:33:03[LF] 32767 - 09:06:07[LF] 65535 - 18:12:15[LF] 131071 - 36:24:31[LF] 262143 - 72:49:03[LF] 524287 - 6d 01h[LF] 1048575 - 12d 03h[LF] 2097151 - 24d 06h[LF] 4194303 - 48d 13h[LF] 8388607 - 97d 02h[LF] 16777215 - 194d 04h[LF] 33554431 - 388d 08h[LF] 67108863 - 776d 17h[LF] 134217727 - 51m 23d[LF] 268435455 - 103m 16d[LF] 536870911 - 207m 03d[LF] 1073741823 - 414m 07d[LF] 2147483647 - 828m 15d[LF] 4294967295 - 136y[LF] 8589934591 - 272y[LF] 17179869183 - 544y[LF] 34359738367 - 1089y[LF] 68719476735 - 2179y[LF] 137438953471 - 4358y[LF] 274877906943 - 8716y[LF] 549755813887 - 17432y[LF] 1099511627775 - 34865y[LF] 2199023255551 - 69730y[LF] 4398046511103 - >99999y[LF] 8796093022207 - >99999y[LF] 17592186044415 - >99999y[LF] 35184372088831 - >99999y[LF] 70368744177663 - >99999y[LF] 140737488355327 - >99999y[LF] 281474976710655 - >99999y[LF] 562949953421311 - >99999y[LF] 1125899906842623 - >99999y[LF] 2251799813685247 - >99999y[LF] 4503599627370495 - >99999y[LF] 9007199254740991 - >99999y[LF] 18014398509481983 - >99999y[LF] 36028797018963967 - >99999y[LF] 72057594037927935 - >99999y[LF] 144115188075855871 - >99999y[LF] 288230376151711743 - >99999y[LF] 576460752303423487 - >99999y[LF] 1152921504606846975 - >99999y[LF] 2305843009213693951 - >99999y[LF] 4611686018427387903 - >99999y[LF] max5data[LF] 0 - 0[LF] 1 - 1[LF] 3 - 3[LF] 7 - 7[LF] 15 - 15[LF] 31 - 31[LF] 63 - 63[LF] 127 - 127[LF] 255 - 255[LF] 511 - 511[LF] 1023 - 1023[LF] 2047 - 2047[LF] 4095 - 4095[LF] 8191 - 8191[LF] 16383 - 16383[LF] 32767 - 32767[LF] 65535 - 65535[LF] 131071 - CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1625 ./unit/units unit1625 - > log/11/stdout1625 2> log/11/stderr1625 127k[LF] 262143 - 255k[LF] 524287 - 511k[LF] 1048575 - 1023k[LF] 2097151 - 2047k[LF] 4194303 - 4095k[LF] 8388607 - 8191k[LF] 16777215 - 15.9M[LF] 33554431 - 31.9M[LF] 67108863 - 63.9M[LF] 134217727 - 127M[LF] 268435455 - 255M[LF] 536870911 - 511M[LF] 1073741823 - 1023M[LF] 2147483647 - 2047M[LF] 4294967295 - 4095M[LF] 8589934591 - 8191M[LF] 17179869183 - 15.9G[LF] 34359738367 - 31.9G[LF] 68719476735 - 63.9G[LF] 137438953471 - 127G[LF] 274877906943 - 255G[LF] 549755813887 - 511G[LF] 1099511627775 - 1023G[LF] 2199023255551 - 2047G[LF] 4398046511103 - 4095G[LF] 8796093022207 - 8191G[LF] 17592186044415 - 15.9T[LF] 35184372088831 - 31.9T[LF] 70368744177663 - 63.9T[LF] 140737488355327 - 127T[LF] 281474976710655 - 255T[LF] 562949953421311 - 511T[LF] 1125899906842623 - 1023T[LF] 2251799813685247 - 2047T[LF] 4503599627370495 - 4095T[LF] 9007199254740991 - 8191T[LF] 18014398509481983 - 15.9P[LF] 36028797018963967 - 31.9P[LF] 72057594037927935 - 63.9P[LF] 144115188075855871 - 127P[LF] 288230376151711743 - 255P[LF] 576460752303423487 - 511P[LF] 1152921504606846975 - 1023P[LF] 2305843009213693951 - 2047P[LF] 4611686018427387903 - 4095P[LF] 131072 - 128k[LF] 12645826 - 12.0M[LF] 1073741824 - 1024M[LF] 12938588979 - 12.0G[LF] 1099445657078333 - 999T[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1622 ./tunit/tunits tool1622 - > log/19/stdout1622 2> log/19/stderr1622 === End of file commands.log === Start of file server.cmd Testnum 1622 === End of file server.cmd === Start of file valgrind1622 ==169548== ==169548== Process terminating with default action of signal 4 (SIGILL) ==169548== Illegal opcode at address 0x48F863F ==169548== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==169548== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==169548== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==169548== by 0x40011A9: main (first.c:264) === End of file valgrind1622 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1627 ./unit/units unit1627 - > log/8/stdout1627 2> log/8/stderr1627 test 1625 [Curl_compareheader unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1625 ./unit/units unit1625 - > log/11/stdout1625 2> log/11/stderr1625 1625: stdout FAILED: --- log/11/check-expected 2026-10-15 19:28:52.383628937 +0000 +++ log/11/check-generated 2026-10-15 19:28:52.379222410 +0000 @@ -1 +0,0 @@ -33 invokes[CR][LF] == Contents of files in the log/11/ directory after test 1625 === Start of file check-expected 33 invokes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1625 ./unit/units unit1625 - > log/11/stdout1625 2> log/11/stderr1625 === End of file commands.log === Start of file server.cmd Testnum 1625 === End of file server.cmd === Start of file valgrind1625 ==169691== ==169691== Process terminating with default action of signal 4 (SIGILL) ==169691== Illegal opcode at address 0x4091F7F ==169691== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169691== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169691== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169691== by 0x400B1A9: main (first.c:264) === End of file valgrind1625 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1623 ./tunit/tunits tool1623 - > log/1/stdout1623 2> log/1/stderr1623 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1626 ./unit/units unit1626 - > log/21/stdout1626 2> log/21/stderr1626 test 1627 [Curl_get_scheme unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1627 ./unit/units unit1627 - > log/8/stdout1627 2> log/8/stderr1627 1627: stdout FAILED: --- log/8/check-expected 2026-10-15 19:28:52.402748831 +0000 +++ log/8/check-generated 2026-10-15 19:28:52.401549509 +0000 @@ -1 +0,0 @@ -541 invokes[CR][LF] == Contents of files in the log/8/ directory after test 1627 === Start of file check-expected 541 invokes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1627 ./unit/units unit1627 - > log/8/stdout1627 2> log/8/stderr1627 === End of file commands.log === Start of file server.cmd Testnum 1627 === End of file server.cmd === Start of file valgrind1627 ==169879== ==169879== Process terminating with default action of signal 4 (SIGILL) ==169879== Illegal opcode at address 0x4091F7F ==169879== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169879== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169879== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169879== by 0x400B1A9: main (first.c:264) === End of file valgrind1627 test 1623 [the size parser for --limit-rate] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1623 ./tunit/tunits tool1623 - > log/1/stdout1623 2> log/1/stderr1623 tunits returned 132, when expecting 0 1623: exit FAILED == Contents of files in the log/1/ directory after test 1623 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1623 ./tunit/tunits tool1623 - > log/1/stdout1623 2> log/1/stderr1623 === End of file commands.log === Start of file server.cmd Testnum 1623 === End of file server.cmd === Start of file valgrind1623 ==169513== ==169513== Process terminating with default action of signal 4 (SIGILL) ==169513== Illegal opcode at address 0x48F863F ==169513== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==169513== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==169513== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==169513== by 0x40011A9: main (first.c:264) === End of file valgrind1623 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1613 ../src/curl -q --output log/15/curl1613.out --include --trace-ascii log/15/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:40321/ -H "Testno: 1613" http://www.example.org/ > log/15/stdout1613 2> log/15/stderr1613 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1636 ./unit/units unit1636 log/10/1636 > log/10/stdout1636 2> log/10/stderr1636 test 1626 [Curl_copy_header_value unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1626 ./unit/units unit1626 - > log/21/stdout1626 2> log/21/stderr1626 1626: stdout FAILED: --- log/21/check-expected 2026-10-15 19:28:52.501044739 +0000 +++ log/21/check-generated 2026-10-15 19:28:52.499840197 +0000 @@ -1 +0,0 @@ -28 invokes[CR][LF] == Contents of files in the log/21/ directory after test 1626 === Start of file check-expected 28 invokes[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1626 ./unit/units unit1626 - > log/21/stdout1626 2> log/21/stderr1626 === End of file commands.log === Start of file server.cmd Testnum 1626 === End of file server.cmd === Start of file valgrind1626 ==169827== ==169827== Process terminating with default action of signal 4 (SIGILL) ==169827== Illegal opcode at address 0x4091F7F ==169827== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==169827== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==169827== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==169827== by 0x400B1A9: main (first.c:264) === End of file valgrind1626 test 1613 [Send "OPTIONS *" with --request-target to a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1613 ../src/curl -q --output log/15/curl1613.out --include --trace-ascii log/15/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:40321/ -H "Testno: 1613" http://www.example.org/ > log/15/stdout1613 2> log/15/stderr1613 1613: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1613 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1613 ../src/curl -q --output log/15/curl1613.out --include --trace-ascii log/15/trace1613 --trace-time --request-target '*' -X OPTIONS --proxy http://127.0.0.1:40321/ -H "Testno: 1613" http://www.example.org/ > log/15/stdout1613 2> log/15/stderr1613 === End of file commands.log === Start of file http_server.log 19:28:50.923254 ====> Client connect 19:28:50.923298 accept_connection 3 returned 4 19:28:50.923323 Read 93 bytes 19:28:50.923333 Process 93 bytes request 19:28:50.923346 Got request: GET /verifiedserver HTTP/1.1 19:28:50.923355 Are-we-friendly question received 19:28:50.923381 Wrote request (93 bytes) input to log/15/server.input 19:28:50.923397 Identifying ourselves as friends 19:28:50.923477 Response sent (56 bytes) and written to log/15/server.response 19:28:50.923486 special request received, no persistency 19:28:50.923495 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 59586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1613 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1613 ==169185== ==169185== Process terminating with default action of signal 4 (SIGILL) ==169185== Illegal opcode at address 0x492B75F ==169185== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169185== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169185== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169185== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169185== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169185== by 0x49908EB: curl_version_info (version.c:600) ==169185== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169185== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169185== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169185== by 0x4003269: main (tool_main.c:195) === End of file valgrind1613 test 1636 [time2str and max6out] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1636 ./unit/units unit1636 log/10/1636 > log/10/stdout1636 2> log/10/stderr1636 1636: stdout FAILED: --- log/10/check-expected 2026-10-15 19:28:53.116661758 +0000 +++ log/10/check-generated 2026-10-15 19:28:53.114214855 +0000 @@ -1,133 +0,0 @@ -time2str[CR][LF] - 0 - [CR][LF] - 1 - 00:01[CR][LF] - 3 - 00:03[CR][LF] - 7 - 00:07[CR][LF] - 15 - 00:15[CR][LF] - 31 - 00:31[CR][LF] - 63 - 01:03[CR][LF] - 127 - 02:07[CR][LF] - 255 - 04:15[CR][LF] - 511 - 08:31[CR][LF] - 1023 - 17:03[CR][LF] - 2047 - 34:07[CR][LF] - 4095 - 1:08:15[CR][LF] - 8191 - 2:16:31[CR][LF] - 16383 - 4:33:03[CR][LF] - 32767 - 9:06:07[CR][LF] - 65535 - 18h 12m[CR][LF] - 131071 - 36h 24m[CR][LF] - 262143 - 72h 49m[CR][LF] - 524287 - 6d 01h[CR][LF] - 1048575 - 12d 03h[CR][LF] - 2097151 - 24d 06h[CR][LF] - 4194303 - 48d 13h[CR][LF] - 8388607 - 97d 02h[CR][LF] - 16777215 - 194d[CR][LF] - 33554431 - 388d[CR][LF] - 67108863 - 776d[CR][LF] - 134217727 - 51m[CR][LF] - 268435455 - 103m[CR][LF] - 536870911 - 207m[CR][LF] - 1073741823 - 414m[CR][LF] - 2147483647 - 828m[CR][LF] - 4294967295 - 136y[CR][LF] - 8589934591 - 272y[CR][LF] - 17179869183 - 544y[CR][LF] - 34359738367 - 1089y[CR][LF] - 68719476735 - 2179y[CR][LF] - 137438953471 - 4358y[CR][LF] - 274877906943 - 8716y[CR][LF] - 549755813887 - 17432y[CR][LF] - 1099511627775 - 34865y[CR][LF] - 2199023255551 - 69730y[CR][LF] - 4398046511103 - >99999y[CR][LF] - 8796093022207 - >99999y[CR][LF] - 17592186044415 - >99999y[CR][LF] - 35184372088831 - >99999y[CR][LF] - 70368744177663 - >99999y[CR][LF] - 140737488355327 - >99999y[CR][LF] - 281474976710655 - >99999y[CR][LF] - 562949953421311 - >99999y[CR][LF] - 1125899906842623 - >99999y[CR][LF] - 2251799813685247 - >99999y[CR][LF] - 4503599627370495 - >99999y[CR][LF] - 9007199254740991 - >99999y[CR][LF] - 18014398509481983 - >99999y[CR][LF] - 36028797018963967 - >99999y[CR][LF] - 72057594037927935 - >99999y[CR][LF] - 144115188075855871 - >99999y[CR][LF] - 288230376151711743 - >99999y[CR][LF] - 576460752303423487 - >99999y[CR][LF] - 1152921504606846975 - >99999y[CR][LF] - 2305843009213693951 - >99999y[CR][LF] - 4611686018427387903 - >99999y[CR][LF] -max6out[CR][LF] - 0 - 0[CR][LF] - 1 - 1[CR][LF] - 3 - 3[CR][LF] - 7 - 7[CR][LF] - 15 - 15[CR][LF] - 31 - 31[CR][LF] - 63 - 63[CR][LF] - 127 - 127[CR][LF] - 255 - 255[CR][LF] - 511 - 511[CR][LF] - 1023 - 1023[CR][LF] - 2047 - 2047[CR][LF] - 4095 - 4095[CR][LF] - 8191 - 8191[CR][LF] - 16383 - 16383[CR][LF] - 32767 - 32767[CR][LF] - 65535 - 65535[CR][LF] - 131071 - 127.9k[CR][LF] - 262143 - 255.9k[CR][LF] - 524287 - 511.9k[CR][LF] - 1048575 - 0.99M[CR][LF] - 2097151 - 1.99M[CR][LF] - 4194303 - 3.99M[CR][LF] - 8388607 - 7.99M[CR][LF] - 16777215 - 15.99M[CR][LF] - 33554431 - 31.99M[CR][LF] - 67108863 - 63.99M[CR][LF] - 134217727 - 127.9M[CR][LF] - 268435455 - 255.9M[CR][LF] - 536870911 - 511.9M[CR][LF] - 1073741823 - 0.99G[CR][LF] - 2147483647 - 1.99G[CR][LF] - 4294967295 - 3.99G[CR][LF] - 8589934591 - 7.99G[CR][LF] - 17179869183 - 15.99G[CR][LF] - 34359738367 - 31.99G[CR][LF] - 68719476735 - 63.99G[CR][LF] - 137438953471 - 127.9G[CR][LF] - 274877906943 - 255.9G[CR][LF] - 549755813887 - 511.9G[CR][LF] - 1099511627775 - 0.99T[CR][LF] - 2199023255551 - 1.99T[CR][LF] - 4398046511103 - 3.99T[CR][LF] - 8796093022207 - 7.99T[CR][LF] - 17592186044415 - 15.99T[CR][LF] - 35184372088831 - 31.99T[CR][LF] - 70368744177663 - 63.99T[CR][LF] - 140737488355327 - 127.9T[CR][LF] - 281474976710655 - 255.9T[CR][LF] - 562949953421311 - 511.9T[CR][LF] - 1125899906842623 - 0.99P[CR][LF] - 2251799813685247 - 1.99P[CR][LF] - 4503599627370495 - 3.99P[CR][LF] - 9007199254740991 - 7.99P[CR][LF] - 18014398509481983 - 15.99P[CR][LF] - 36028797018963967 - 31.99P[CR][LF] - 72057594037927935 - 63.99P[CR][LF] - 144115188075855871 - 127.9P[CR][LF] - 288230376151711743 - 255.9P[CR][LF] - 576460752303423487 - 511.9P[CR][LF] - 1152921504606846975 - 0.99E[CR][LF] - 2305843009213693951 - 1.99E[CR][LF] - 4611686018427387903 - 3.99E[CR][LF] - 131072 - 128.0k[CR][LF] - 12645826 - 12.05M[CR][LF] - 1073741824 - 1.00G[CR][LF] - 12938588979 - 12.04G[CR][LF] - 1099445657078333 - 999.9T[CR][LF] == Contents of files in the log/10/ directory after test 1636 === Start of file check-expected time2str[CR][LF] 0 - [CR][LF] 1 - 00:01[CR][LF] 3 - 00:03[CR][LF] 7 - 00:07[CR][LF] 15 - 00:15[CR][LF] 31 - 00:31[CR][LF] 63 - 01:03[CR][LF] 127 - 02:07[CR][LF] 255 - 04:15[CR][LF] 511 - 08:31[CR][LF] 1023 - 17:03[CR][LF] 2047 - 34:07[CR][LF] 4095 - 1:08:15[CR][LF] 8191 - 2:16:31[CR][LF] 16383 - 4:33:03[CR][LF] 32767 - 9:06:07[CR][LF] 65535 - 18h 12m[CR][LF] 131071 - 36h 24m[CR][LF] 262143 - 72h 49m[CR][LF] 524287 - 6d 01h[CR][LF] 1048575 - 12d 03h[CR][LF] 2097151 - 24d 06h[CR][LF] 4194303 - 48d 13h[CR][LF] 8388607 - 97d 02h[CR][LF] 16777215 - 194d[CR][LF] 33554431 - 388d[CR][LF] 67108863 - 776d[CR][LF] 134217727 - 51m[CR][LF] 268435455 - 103m[CR][LF] 536870911 - 207m[CR][LF] 1073741823 - 414m[CR][LF] 2147483647 - 828m[CR][LF] 4294967295 - 136y[CR][LF] 8589934591 - 272y[CR][LF] 17179869183 - 544y[CR][LF] 34359738367 - 1089y[CR][LF] 68719476735 - 2179y[CR][LF] 137438953471 - 4358y[CR][LF] 274877906943 - 8716y[CR][LF] 549755813887 - 17432y[CR][LF] 1099511627775 - 34865y[CR][LF] 2199023255551 - 69730y[CR][LF] 4398046511103 - >99999y[CR][LF] 8796093022207 - >99999y[CR][LF] 17592186044415 - >99999y[CR][LF] 35184372088831 - >99999y[CR][LF] 70368744177663 - >99999y[CR][LF] 140737488355327 - >99999y[CR][LF] 281474976710655 - >99999y[CR][LF] 562949953421311 - >99999y[CR][LF] 1125899906842623 - >99999y[CR][LF] 2251799813685247 - >99999y[CR][LF] 4503599627370495 - >99999y[CR][LF] 9007199254740991 - >99999y[CR][LF] 18014398509481983 - >99999y[CR][LF] 36028797018963967 - >99999y[CR][LF] 72057594037927935 - >99999y[CR][LF] 144115188075855871 - >99999y[CR][LF] 288230376151711743 - >99999y[CR][LF] 576460752303423487 - >99999y[CR][LF] 115292150CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1617 ../src/curl -q --output log/24/curl1617.out --include --trace-ascii log/24/trace1617 --trace-time http://127.0.0.1:38895/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/24/stdout1617 2> log/24/stderr1617 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1624 ../src/curl -q --output log/17/curl1624.out --include --trace-ascii log/17/trace1624 --trace-time http://127.0.0.1:35993/1624 --url-query token=secret --next http://127.0.0.1:35993/1624 > log/17/stdout1624 2> log/17/stderr1624 4606846975 - >99999y[CR][LF] 2305843009213693951 - >99999y[CR][LF] 4611686018427387903 - >99999y[CR][LF] max6out[CR][LF] 0 - 0[CR][LF] 1 - 1[CR][LF] 3 - 3[CR][LF] 7 - 7[CR][LF] 15 - 15[CR][LF] 31 - 31[CR][LF] 63 - 63[CR][LF] 127 - 127[CR][LF] 255 - 255[CR][LF] 511 - 511[CR][LF] 1023 - 1023[CR][LF] 2047 - 2047[CR][LF] 4095 - 4095[CR][LF] 8191 - 8191[CR][LF] 16383 - 16383[CR][LF] 32767 - 32767[CR][LF] 65535 - 65535[CR][LF] 131071 - 127.9k[CR][LF] 262143 - 255.9k[CR][LF] 524287 - 511.9k[CR][LF] 1048575 - 0.99M[CR][LF] 2097151 - 1.99M[CR][LF] 4194303 - 3.99M[CR][LF] 8388607 - 7.99M[CR][LF] 16777215 - 15.99M[CR][LF] 33554431 - 31.99M[CR][LF] 67108863 - 63.99M[CR][LF] 134217727 - 127.9M[CR][LF] 268435455 - 255.9M[CR][LF] 536870911 - 511.9M[CR][LF] 1073741823 - 0.99G[CR][LF] 2147483647 - 1.99G[CR][LF] 4294967295 - 3.99G[CR][LF] 8589934591 - 7.99G[CR][LF] 17179869183 - 15.99G[CR][LF] 34359738367 - 31.99G[CR][LF] 68719476735 - 63.99G[CR][LF] 137438953471 - 127.9G[CR][LF] 274877906943 - 255.9G[CR][LF] 549755813887 - 511.9G[CR][LF] 1099511627775 - 0.99T[CR][LF] 2199023255551 - 1.99T[CR][LF] 4398046511103 - 3.99T[CR][LF] 8796093022207 - 7.99T[CR][LF] 17592186044415 - 15.99T[CR][LF] 35184372088831 - 31.99T[CR][LF] 70368744177663 - 63.99T[CR][LF] 140737488355327 - 127.9T[CR][LF] 281474976710655 - 255.9T[CR][LF] 562949953421311 - 511.9T[CR][LF] 1125899906842623 - 0.99P[CR][LF] 2251799813685247 - 1.99P[CR][LF] 4503599627370495 - 3.99P[CR][LF] 9007199254740991 - 7.99P[CR][LF] 18014398509481983 - 15.99P[CR][LF] 36028797018963967 - 31.99P[CR][LF] 72057594037927935 - 63.99P[CR][LF] 144115188075855871 - 127.9P[CR][LF] 288230376151711743 - 255.9P[CR][LF] 576460752303423487 - 511.9P[CR][LF] 1152921504606846975 - 0.99E[CR][LF] 2305843009213693951 - 1.99E[CR][LF] 4611686018427387903 - 3.99E[CR][LF] 131072 - 128.0k[CR][LF] 12645826 - 12.05M[CR][LF] 1073741824 - 1.00G[CR][LF] 12938588979 - 12.04G[CR][LF] 1099445657078333 - 999.9T[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1636 ./unit/units unit1636 log/10/1636 > log/10/stdout1636 2> log/10/stderr1636 === End of file commands.log === Start of file server.cmd Testnum 1636 === End of file server.cmd === Start of file valgrind1636 ==170352== ==170352== Process terminating with default action of signal 4 (SIGILL) ==170352== Illegal opcode at address 0x4091F7F ==170352== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==170352== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==170352== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==170352== by 0x400B1A9: main (first.c:264) === End of file valgrind1636 test 1617 [HTTP GET transfer-encoding with two user Connection: headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1617 ../src/curl -q --output log/24/curl1617.out --include --trace-ascii log/24/trace1617 --trace-time http://127.0.0.1:38895/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/24/stdout1617 2> log/24/stderr1617 1617: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1617 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1617 ../src/curl -q --output log/24/curl1617.out --include --trace-ascii log/24/trace1617 --trace-time http://127.0.0.1:38895/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/24/stdout1617 2> log/24/stderr1617 === End of file commands.log === Start of file http_server.log 19:28:50.260128 ====> Client connect 19:28:50.260165 accept_connection 3 returned 4 19:28:50.260185 Read 93 bytes 19:28:50.260194 Process 93 bytes request 19:28:50.260207 Got request: GET /verifiedserver HTTP/1.1 19:28:50.260216 Are-we-friendly question received 19:28:50.260240 Wrote request (93 bytes) input to log/24/server.input 19:28:50.260256 Identifying ourselves as friends 19:28:50.260312 Response sent (56 bytes) and written to log/24/server.response 19:28:50.260322 special request received, no persistency 19:28:50.260330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 43998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1617 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1617 ==169391== ==169391== Process terminating with default action of signal 4 (SIGILL) ==169391== Illegal opcode at address 0x492B75F ==169391== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169391== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169391== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169391== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169391== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169391== by 0x49908EB: curl_version_info (version.c:600) ==169391== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169391== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169391== by 0x4003269: main (tool_main.c:195) === End of file valgrind1617 test 1624 [URL + --url-query with --next and another URL without --url-query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1624 ../src/curl -q --output log/17/curl1624.out --include --trace-ascii log/17/trace1624 --trace-time http://127.0.0.1:35993/1624 --url-query token=secret --next http://127.0.0.1:35993/1624 > log/17/stdout1624 2> log/17/stderr1624 1624: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1624 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1624 ../src/curl -q --output log/17/curl1624.out --include --trace-ascii log/17/trace1624 --trace-time http://127.0.0.1:35993/1624 --url-query token=secret --next http://127.0.0.1:35993/1624 > log/17/stdout1624 2> log/17/stderr1624 === End of file commands.log === Start of file http_server.log 19:CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1629 ../src/curl -q --output log/16/curl1629.out --include --trace-ascii log/16/trace1629 --trace-time http://foo.co.uk.:35903/ http://bar.co.uk.:35903/ -b "" --resolve foo.co.uk.:35903:127.0.0.1 --resolve bar.co.uk.:35903:127.0.0.1 > log/16/stdout1629 2> log/16/stderr1629 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1618 ../src/curl -q --output log/18/curl1618.out --include --trace-ascii log/18/trace1618 --trace-time http://127.0.0.1:43739/1618 --compressed --max-filesize=1000 > log/18/stdout1618 2> log/18/stderr1618 28:51.554359 ====> Client connect 19:28:51.554403 accept_connection 3 returned 4 19:28:51.554427 Read 93 bytes 19:28:51.554437 Process 93 bytes request 19:28:51.554449 Got request: GET /verifiedserver HTTP/1.1 19:28:51.554458 Are-we-friendly question received 19:28:51.554485 Wrote request (93 bytes) input to log/17/server.input 19:28:51.554500 Identifying ourselves as friends 19:28:51.554580 Response sent (56 bytes) and written to log/17/server.response 19:28:51.554590 special request received, no persistency 19:28:51.554598 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 42288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1624 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1624 ==169773== ==169773== Process terminating with default action of signal 4 (SIGILL) ==169773== Illegal opcode at address 0x492B75F ==169773== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169773== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169773== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169773== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169773== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169773== by 0x49908EB: curl_version_info (version.c:600) ==169773== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169773== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169773== by 0x4003269: main (tool_main.c:195) === End of file valgrind1624 test 1629 [cookies with trailing dot after PSL domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1629 ../src/curl -q --output log/16/curl1629.out --include --trace-ascii log/16/trace1629 --trace-time http://foo.co.uk.:35903/ http://bar.co.uk.:35903/ -b "" --resolve foo.co.uk.:35903:127.0.0.1 --resolve bar.co.uk.:35903:127.0.0.1 > log/16/stdout1629 2> log/16/stderr1629 1629: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1629 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1629 ../src/curl -q --output log/16/curl1629.out --include --trace-ascii log/16/trace1629 --trace-time http://foo.co.uk.:35903/ http://bar.co.uk.:35903/ -b "" --resolve foo.co.uk.:35903:127.0.0.1 --resolve bar.co.uk.:35903:127.0.0.1 > log/16/stdout1629 2> log/16/stderr1629 === End of file commands.log === Start of file http_server.log 19:28:51.953135 ====> Client connect 19:28:51.953177 accept_connection 3 returned 4 19:28:51.953199 Read 93 bytes 19:28:51.953209 Process 93 bytes request 19:28:51.953223 Got request: GET /verifiedserver HTTP/1.1 19:28:51.953232 Are-we-friendly question received 19:28:51.953261 Wrote request (93 bytes) input to log/16/server.input 19:28:51.953279 Identifying ourselves as friends 19:28:51.953350 Response sent (56 bytes) and written to log/16/server.response 19:28:51.953360 special request received, no persistency 19:28:51.953396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 58342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1629 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1629 ==170044== ==170044== Process terminating with default action of signal 4 (SIGILL) ==170044== Illegal opcode at address 0x492B75F ==170044== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170044== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170044== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170044== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170044== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170044== by 0x49908EB: curl_version_info (version.c:600) ==170044== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170044== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170044== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170044== by 0x4003269: main (tool_main.c:195) === End of file valgrind1629 test 1618 [HTTP GET brotli compression bomb] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1618 ../src/curl -q --output log/18/curl1618.out --include --trace-ascii log/18/trace1618 --trace-time http://127.0.0.1:43739/1618 --compressed --max-filesize=1000 > log/18/stdout1618 2> log/18/stderr1618 1618: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1618 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1618 ../src/curl -q --output log/18/curl1618.out --include --trace-ascii log/18/trace1618 --trace-time http://127.0.0.1:43739/1618 --compressed --max-filesize=1000 > log/18/stdout1618 2> log/18/stderr1618 === End of file commands.log === Start of file http_server.log 19:28:51.301019 ====> Client connect 19:28:51.301060 accept_connection 3 returned 4 19:28:51.301085 Read 93 bytes 19:28:51.301097 Process 93 bytes request 19:28:51.301110 Got request: GET /verifiedserver HTTP/1.1 19:28:51.301119 Are-we-friendly question received 19:28:51.301149 Wrote request (93 bytes) input to log/18/server.input 19:28:51.301169 Identifying ourselves as friends 19:28:51.301265 Response sent (56 bytes) and written to log/18/server.response 19:28:51.301278 special request received, no persistency 19:28:51.301288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 46716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1618 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1618 ==169444== ==169444== Process terminating with default action of signal 4 (SIGILL) ==169444== Illegal opcode at address 0x492B75F ==16CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1609 ../src/curl -q --output log/6/curl1609.out --include --trace-ascii log/6/trace1609 --trace-time gopher://127.0.0.1:39325/1/sel%0d%0aINJECT/1609 > log/6/stdout1609 2> log/6/stderr1609 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1628 ../src/curl -q --output log/14/curl1628.out --include --trace-ascii log/14/trace1628 --trace-time -x http://127.0.0.1:45467 http://ssss/ -T log/14/1628te[]st.txt > log/14/stdout1628 2> log/14/stderr1628 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1649 ./libtest/libtests lib1649 http://127.0.0.1:38815 > log/1/stdout1649 2> log/1/stderr1649 9444== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169444== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169444== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169444== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169444== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169444== by 0x49908EB: curl_version_info (version.c:600) ==169444== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169444== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169444== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169444== by 0x4003269: main (tool_main.c:195) === End of file valgrind1618 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --pidfile "log/6/server/gopher_server.pid" --logfile "log/6/gopher_server.log" --logdir "log/6" --portfile log/6/server/gopher_server.port --config log/6/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 169038 port 39325 * pid gopher => 169038 169038 test 1609 [Gopher with URL-encoded CR LF in the selector] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1609 ../src/curl -q --output log/6/curl1609.out --include --trace-ascii log/6/trace1609 --trace-time gopher://127.0.0.1:39325/1/sel%0d%0aINJECT/1609 > log/6/stdout1609 2> log/6/stderr1609 curl returned 132, when expecting 3 1609: exit FAILED == Contents of files in the log/6/ directory after test 1609 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1609 ../src/curl -q --output log/6/curl1609.out --include --trace-ascii log/6/trace1609 --trace-time gopher://127.0.0.1:39325/1/sel%0d%0aINJECT/1609 > log/6/stdout1609 2> log/6/stderr1609 === End of file commands.log === Start of file gopher_server.log 19:28:50.744981 Running GOPHER IPv4 version on port 39325 19:28:50.745086 Wrote pid 169038 to log/6/server/gopher_server.pid 19:28:50.745124 Wrote port 39325 to log/6/server/gopher_server.port === End of file gopher_server.log === Start of file server.cmd Testnum 1609 === End of file server.cmd === Start of file valgrind1609 ==169844== ==169844== Process terminating with default action of signal 4 (SIGILL) ==169844== Illegal opcode at address 0x492B75F ==169844== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169844== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169844== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169844== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169844== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169844== by 0x49908EB: curl_version_info (version.c:600) ==169844== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169844== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169844== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169844== by 0x4003269: main (tool_main.c:195) === End of file valgrind1609 test 1628 [HTTP PUT from file with weird letters over an HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1628 ../src/curl -q --output log/14/curl1628.out --include --trace-ascii log/14/trace1628 --trace-time -x http://127.0.0.1:45467 http://ssss/ -T log/14/1628te[]st.txt > log/14/stdout1628 2> log/14/stderr1628 1628: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1628 === Start of file 1628te[]st.txt a few bytes === End of file 1628te[]st.txt === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1628 ../src/curl -q --output log/14/curl1628.out --include --trace-ascii log/14/trace1628 --trace-time -x http://127.0.0.1:45467 http://ssss/ -T log/14/1628te[]st.txt > log/14/stdout1628 2> log/14/stderr1628 === End of file commands.log === Start of file http_server.log 19:28:50.840821 ====> Client connect 19:28:50.840871 accept_connection 3 returned 4 19:28:50.840899 Read 93 bytes 19:28:50.840910 Process 93 bytes request 19:28:50.840924 Got request: GET /verifiedserver HTTP/1.1 19:28:50.840944 Are-we-friendly question received 19:28:50.840974 Wrote request (93 bytes) input to log/14/server.input 19:28:50.840991 Identifying ourselves as friends 19:28:50.841081 Response sent (56 bytes) and written to log/14/server.response 19:28:50.841094 special request received, no persistency 19:28:50.841103 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 56726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1628 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1628 ==169971== ==169971== Process terminating with default action of signal 4 (SIGILL) ==169971== Illegal opcode at address 0x492B75F ==169971== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169971== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169971== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169971== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169971== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169971== by 0x49908EB: curl_version_info (version.c:600) ==169971== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169971== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169971== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169971== by 0x4003269: main (tool_main.c:195) === End of file valgrind1628 test 1649 [Set referer first then NULL it] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1649 ./libtest/libtests lib1649 http://127.0.0.1:38815 > log/1/stdout1649 2> log/1/stderr1649 1649: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1649 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1649 ./libtest/libtests lib1649 http://127.0.0.1:38815 > log/1/stdout1649 2> log/1/stderr1649 === End of file commands.log === Start of file http_server.log 19:28:53.097674 ====> Client connect 19:28:53.097717 accept_connection 3 returned 4 19:28:53.097741 Read 93 bytes 19:28:53.097751 Process 93 bytes request 19:28:53.097764 Got request: GET /verifiedserver HTTP/1.1 19:28:53.097772 Are-we-friendly question received 19:28:53.097800 Wrote request (93 bytes) input to log/1/server.input 19:28:53.097816 Identifying ourselves as friends 19:28:53.097890 Response sent (56 bytes) and written to log/1/server.response 19:28:53.097899 special request received, no persistency 19:28:53.097907 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 porCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1619 ../src/curl -q --include --trace-ascii log/12/trace1619 --trace-time http://127.0.0.1:40921/1619 -O --output-dir log/12 --etag-save - > log/12/stdout1619 2> log/12/stderr1619 t 38815) from 127.0.0.1 port 51980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1649 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1649 ==170987== ==170987== Process terminating with default action of signal 4 (SIGILL) ==170987== Illegal opcode at address 0x51CC63F ==170987== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==170987== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==170987== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==170987== by 0x40041AF: main (first.c:264) === End of file valgrind1649 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1633 ../src/curl -q --output log/4/curl1633.out --include --trace-ascii log/4/trace1633 --trace-time http://127.0.0.1:32943/1633 -d moo --retry 1 -L > log/4/stdout1633 2> log/4/stderr1633 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1634 ../src/curl -q --output log/3/curl1634.out --include --trace-ascii log/3/trace1634 --trace-time http://127.0.0.1:36161/1634 --retry 1 --fail > log/3/stdout1634 2> log/3/stderr1634 test 1619 [--etag-save to stdout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1619 ../src/curl -q --include --trace-ascii log/12/trace1619 --trace-time http://127.0.0.1:40921/1619 -O --output-dir log/12 --etag-save - > log/12/stdout1619 2> log/12/stderr1619 1619: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:53.806588159 +0000 +++ log/12/check-generated 2026-10-15 19:28:53.804591766 +0000 @@ -1 +0,0 @@ -W/"heyheyhey"[LF] == Contents of files in the log/12/ directory after test 1619 === Start of file check-expected W/"heyheyhey"[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1619 ../src/curl -q --include --trace-ascii log/12/trace1619 --trace-time http://127.0.0.1:40921/1619 -O --output-dir log/12 --etag-save - > log/12/stdout1619 2> log/12/stderr1619 === End of file commands.log === Start of file http_server.log 19:28:50.347356 ====> Client connect 19:28:50.347392 accept_connection 3 returned 4 19:28:50.347747 Read 93 bytes 19:28:50.347763 Process 93 bytes request 19:28:50.347776 Got request: GET /verifiedserver HTTP/1.1 19:28:50.347785 Are-we-friendly question received 19:28:50.347821 Wrote request (93 bytes) input to log/12/server.input 19:28:50.347839 Identifying ourselves as friends 19:28:50.347900 Response sent (56 bytes) and written to log/12/server.response 19:28:50.347910 special request received, no persistency 19:28:50.347918 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 37612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1619 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1619 ==169453== ==169453== Process terminating with default action of signal 4 (SIGILL) ==169453== Illegal opcode at address 0x492B75F ==169453== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==169453== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==169453== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==169453== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==169453== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==169453== by 0x49908EB: curl_version_info (version.c:600) ==169453== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==169453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==169453== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==169453== by 0x4003269: main (tool_main.c:195) === End of file valgrind1619 test 1633 [--retry with a 429 response and Retry-After:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1633 ../src/curl -q --output log/4/curl1633.out --include --trace-ascii log/4/trace1633 --trace-time http://127.0.0.1:32943/1633 -d moo --retry 1 -L > log/4/stdout1633 2> log/4/stderr1633 1633: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1633 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1633 ../src/curl -q --output log/4/curl1633.out --include --trace-ascii log/4/trace1633 --trace-time http://127.0.0.1:32943/1633 -d moo --retry 1 -L > log/4/stdout1633 2> log/4/stderr1633 === End of file commands.log === Start of file http_server.log 19:28:52.124903 ====> Client connect 19:28:52.124943 accept_connection 3 returned 4 19:28:52.124966 Read 93 bytes 19:28:52.124977 Process 93 bytes request 19:28:52.124990 Got request: GET /verifiedserver HTTP/1.1 19:28:52.124999 Are-we-friendly question received 19:28:52.125030 Wrote request (93 bytes) input to log/4/server.input 19:28:52.125048 Identifying ourselves as friends 19:28:52.125120 Response sent (57 bytes) and written to log/4/server.response 19:28:52.125132 special request received, no persistency 19:28:52.125141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 37504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd Testnum 1633 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file valgrind1633 ==170189== ==170189== Process terminating with default action of signal 4 (SIGILL) ==170189== Illegal opcode at address 0x492B75F ==170189== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170189== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170189== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170189== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170189== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170189== by 0x49908EB: curl_version_info (version.c:600) ==170189== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170189== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170189== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170189== by 0x4003269: main (tool_main.c:195) === End of file valgrind1633 test 1634 [--retry with a 429 response and Retry-After: and --fail] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1634 ../src/curl -q --output log/3/curl1634.out --include --trace-ascii log/3/trace1634 --trace-time http://127.0.0.1:36161/1634 --retry 1 --fail > log/3/stdout1634 2> log/3/stderr1634 1634: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 1634 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1634 ../src/curl -q --output log/3/curl1634.out --include --trace-ascii log/3/trace1634 --trace-time http://127.0.0.1:36161/1634 --retry 1 --fail > log/3/stdout1634 2> log/3/stderr1634 === End of file commands.log === Start of file http_server.log 19:28:52.211211 ====> Client connect 19:28:52.211262 accept_connection 3 returned 4 19:28:52.211290 Read 93 bytes 19:28:52.211302 Process 93 bytes request 19:28:52.211315 Got request: GET /verifiedserver HTTP/1.1 19:28:52.211324 Are-we-friendly question received 19:28:52.211355 Wrote request (93 bytes) input to log/3/server.input 19:28:52.211374 Identifying ourselves as friends 19:28:52.211460 Response sent (56 bytes) and written to log/3/server.response 19:28:52.211476 special request received, no CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1650 ./unit/units unit1650 - > log/21/stdout1650 2> log/21/stderr1650 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1652 ./unit/units unit1652 - > log/10/stdout1652 2> log/10/stderr1652 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1639 ../src/curl -q --include --trace-ascii log/22/trace1639 --trace-time http://127.0.0.1:35989///////////////// -O --output-dir log/22 > log/22/stdout1639 2> log/22/stderr1639 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1645 ../src/curl -q --output log/19/curl1645.out --include --trace-ascii log/19/trace1645 --trace-time http://test.curl:37077/we/want/ http://test.curl:37077/WE/WANT/16450002 -c log/19/jar1645.txt --resolve test.curl:37077:127.0.0.1 > log/19/stdout1645 2> log/19/stderr1645 persistency 19:28:52.211485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 39892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1634 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1634 ==170216== ==170216== Process terminating with default action of signal 4 (SIGILL) ==170216== Illegal opcode at address 0x492B75F ==170216== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170216== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170216== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170216== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170216== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170216== by 0x49908EB: curl_version_info (version.c:600) ==170216== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170216== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170216== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170216== by 0x4003269: main (tool_main.c:195) === End of file valgrind1634 test 1650 [DoH parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1650 ./unit/units unit1650 - > log/21/stdout1650 2> log/21/stderr1650 units returned 132, when expecting 0 1650: exit FAILED == Contents of files in the log/21/ directory after test 1650 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1650 ./unit/units unit1650 - > log/21/stdout1650 2> log/21/stderr1650 === End of file commands.log === Start of file server.cmd Testnum 1650 === End of file server.cmd === Start of file valgrind1650 ==170974== ==170974== Process terminating with default action of signal 4 (SIGILL) ==170974== Illegal opcode at address 0x4091F7F ==170974== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==170974== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==170974== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==170974== by 0x400B1A9: main (first.c:264) === End of file valgrind1650 test 1652 [infof] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1652 ./unit/units unit1652 - > log/10/stdout1652 2> log/10/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/10/ directory after test 1652 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1652 ./unit/units unit1652 - > log/10/stdout1652 2> log/10/stderr1652 === End of file commands.log === Start of file server.cmd Testnum 1652 === End of file server.cmd === Start of file valgrind1652 ==171211== ==171211== Process terminating with default action of signal 4 (SIGILL) ==171211== Illegal opcode at address 0x4091F7F ==171211== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171211== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171211== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171211== by 0x400B1A9: main (first.c:264) === End of file valgrind1652 test 1639 [-O with URL without path using many trailing slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1639 ../src/curl -q --include --trace-ascii log/22/trace1639 --trace-time http://127.0.0.1:35989///////////////// -O --output-dir log/22 > log/22/stdout1639 2> log/22/stderr1639 1639: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1639 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1639 ../src/curl -q --include --trace-ascii log/22/trace1639 --trace-time http://127.0.0.1:35989///////////////// -O --output-dir log/22 > log/22/stdout1639 2> log/22/stderr1639 === End of file commands.log === Start of file http_server.log 19:28:51.449381 ====> Client connect 19:28:51.449418 accept_connection 3 returned 4 19:28:51.449442 Read 93 bytes 19:28:51.449453 Process 93 bytes request 19:28:51.449465 Got request: GET /verifiedserver HTTP/1.1 19:28:51.449474 Are-we-friendly question received 19:28:51.449505 Wrote request (93 bytes) input to log/22/server.input 19:28:51.449524 Identifying ourselves as friends 19:28:51.449598 Response sent (56 bytes) and written to log/22/server.response 19:28:51.449610 special request received, no persistency 19:28:51.449618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 47002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1639 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1639 ==170441== ==170441== Process terminating with default action of signal 4 (SIGILL) ==170441== Illegal opcode at address 0x492B75F ==170441== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170441== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170441== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170441== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170441== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170441== by 0x49908EB: curl_version_info (version.c:600) ==170441== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170441== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170441== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170441== by 0x4003269: main (tool_main.c:195) === End of file valgrind1639 test 1645 [cookies for paths using different case] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1645 ../src/curl -q --output log/19/curl1645.out --include --trace-ascii log/19/trace1645 --trace-time http://test.curl:37077/we/want/ http://test.curl:37077/WE/WANT/16450002 -c log/19/jar1645.txt --resolve test.curl:37077:127.0.0.1 > log/19/stdout1645 2> log/19/stderr1645 1645: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 1645 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1638 ../src/curl -q --output log/7/curl1638.out --include --trace-ascii log/7/trace1638 --trace-time -x http://127.0.0.1:40859 http://this.hsts.example/1638 --hsts log/7/hsts1638 > log/7/stdout1638 2> log/7/stderr1638 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1648 ./libtest/libtests lib1648 127.0.0.1 44467 > log/8/stdout1648 2> log/8/stderr1648 log-file=log/19/valgrind1645 ../src/curl -q --output log/19/curl1645.out --include --trace-ascii log/19/trace1645 --trace-time http://test.curl:37077/we/want/ http://test.curl:37077/WE/WANT/16450002 -c log/19/jar1645.txt --resolve test.curl:37077:127.0.0.1 > log/19/stdout1645 2> log/19/stderr1645 === End of file commands.log === Start of file http_server.log 19:28:52.025690 ====> Client connect 19:28:52.025724 accept_connection 3 returned 4 19:28:52.025825 Read 93 bytes 19:28:52.025837 Process 93 bytes request 19:28:52.025850 Got request: GET /verifiedserver HTTP/1.1 19:28:52.025858 Are-we-friendly question received 19:28:52.025885 Wrote request (93 bytes) input to log/19/server.input 19:28:52.025900 Identifying ourselves as friends 19:28:52.025953 Response sent (57 bytes) and written to log/19/server.response 19:28:52.025962 special request received, no persistency 19:28:52.025969 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 39800 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1645 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1645 ==170892== ==170892== Process terminating with default action of signal 4 (SIGILL) ==170892== Illegal opcode at address 0x492B75F ==170892== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170892== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170892== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170892== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170892== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170892== by 0x49908EB: curl_version_info (version.c:600) ==170892== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170892== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170892== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170892== by 0x4003269: main (tool_main.c:195) === End of file valgrind1645 test 1638 [HSTS duplicate domains where the update adds subdomains] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1638 ../src/curl -q --output log/7/curl1638.out --include --trace-ascii log/7/trace1638 --trace-time -x http://127.0.0.1:40859 http://this.hsts.example/1638 --hsts log/7/hsts1638 > log/7/stdout1638 2> log/7/stderr1638 1638: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1638 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1638 ../src/curl -q --output log/7/curl1638.out --include --trace-ascii log/7/trace1638 --trace-time -x http://127.0.0.1:40859 http://this.hsts.example/1638 --hsts log/7/hsts1638 > log/7/stdout1638 2> log/7/stderr1638 === End of file commands.log === Start of file hsts1638 # comment in input file foo.example. "20391001 04:47:41" .foo.example. "20291001 04:47:41" === End of file hsts1638 === Start of file http_server.log 19:28:51.501034 ====> Client connect 19:28:51.501077 accept_connection 3 returned 4 19:28:51.501101 Read 93 bytes 19:28:51.501110 Process 93 bytes request 19:28:51.501123 Got request: GET /verifiedserver HTTP/1.1 19:28:51.501131 Are-we-friendly question received 19:28:51.501155 Wrote request (93 bytes) input to log/7/server.input 19:28:51.501171 Identifying ourselves as friends 19:28:51.501243 Response sent (56 bytes) and written to log/7/server.response 19:28:51.501252 special request received, no persistency 19:28:51.501260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39692 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1638 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1638 ==170479== ==170479== Process terminating with default action of signal 4 (SIGILL) ==170479== Illegal opcode at address 0x492B75F ==170479== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170479== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170479== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170479== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170479== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170479== by 0x49908EB: curl_version_info (version.c:600) ==170479== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170479== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170479== by 0x4003269: main (tool_main.c:195) === End of file valgrind1638 test 1648 [HTTP proxy with auth, change proxy, clear auth] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1648 ./libtest/libtests lib1648 127.0.0.1 44467 > log/8/stdout1648 2> log/8/stderr1648 1648: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 1648 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1648 ./libtest/libtests lib1648 127.0.0.1 44467 > log/8/stdout1648 2> log/8/stderr1648 === End of file commands.log === Start of file http_server.log 19:28:52.080649 ====> Client connect 19:28:52.080675 accept_connection 3 returned 4 19:28:52.080692 Read 93 bytes 19:28:52.080700 Process 93 bytes request 19:28:52.080709 Got request: GET /verifiedserver HTTP/1.1 19:28:52.080716 Are-we-friendly question received 19:28:52.080735 Wrote request (93 bytes) input to log/8/server.input 19:28:52.080747 Identifying ourselves as friends 19:28:52.080802 Response sent (56 bytes) and written to log/8/server.response 19:28:52.080808 special request received, no persistency 19:28:52.080815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 36558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1648 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.rCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1651 ./unit/units unit1651 - > log/15/stdout1651 2> log/15/stderr1651 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1654 ./unit/units unit1654 log/17/1654 > log/17/stdout1654 2> log/17/stderr1654 esponse === Start of file valgrind1648 ==170940== ==170940== Process terminating with default action of signal 4 (SIGILL) ==170940== Illegal opcode at address 0x51CC63F ==170940== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==170940== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==170940== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==170940== by 0x40041AF: main (first.c:264) === End of file valgrind1648 test 1651 [x509 parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1651 ./unit/units unit1651 - > log/15/stdout1651 2> log/15/stderr1651 units returned 132, when expecting 0 1651: exit FAILED == Contents of files in the log/15/ directory after test 1651 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1651 ./unit/units unit1651 - > log/15/stdout1651 2> log/15/stderr1651 === End of file commands.log === Start of file server.cmd Testnum 1651 === End of file server.cmd === Start of file valgrind1651 ==171180== ==171180== Process terminating with default action of signal 4 (SIGILL) ==171180== Illegal opcode at address 0x4091F7F ==171180== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171180== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171180== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171180== by 0x400B1A9: main (first.c:264) === End of file valgrind1651 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1642 ../src/curl -q --trace-ascii log/9/trace1642 --trace-time http://127.0.0.1:43733/1642 -J -L -O --output-dir log/9 > log/9/stdout1642 2> log/9/stderr1642 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1635 ../src/curl -q --trace-ascii log/5/trace1635 --trace-time http://127.0.0.1:37089/1635 --retry 1 --fail-with-body > log/5/stdout1635 2> log/5/stderr1635 setenv CURL_TIME = 1548369261 test 1654 [alt-svc] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1654 ./unit/units unit1654 log/17/1654 > log/17/stdout1654 2> log/17/stderr1654 1654: output (log/17/1654-out) FAILED: --- log/17/check-expected 2026-10-15 19:28:54.558126369 +0000 +++ log/17/check-generated 2026-10-15 19:28:54.552575916 +0000 @@ -1,14 +0,0 @@ -# Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] -h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] -h1 example.com 443 h3 shiny.example.com 8443 "20221231 00:00:01" 0 0[CR][LF] -h3 example.com 443 h3 shiny.example.com 8443 "20231231 00:00:00" 0 0[CR][LF] -h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] -h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] -h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] -h2 test.se 443 h2 test2.se 443 "20190124 22:37:21" 0 0[CR][LF] -h2 test.se 443 h2 test3.se 443 "20190124 22:36:21" 0 0[CR][LF] == Contents of files in the log/17/ directory after test 1654 === Start of file 1654 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 expired.com 443 h3 shiny.example.com 8443 "20190122 00:00:00" 0 0 # a comment h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0 h1 example.com 443 h3 shiny.example.com 8443 "20221231 00:00:01" 0 0 h3 example.com 443 h3 shiny.example.com 8443 "20231231 00:00:00" 0 0 # also a comment bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 rubbish === End of file 1654 === Start of file check-expected # Your alt-svc cache. https://curl.se/docs/alt-svc.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0[CR][LF] h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0[CR][LF] h1 example.com 443 h3 shiny.example.com 8443 "20221231 00:00:01" 0 0[CR][LF] h3 example.com 443 h3 shiny.example.com 8443 "20231231 00:00:00" 0 0[CR][LF] h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0[CR][LF] h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0[CR][LF] h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0[CR][LF] h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0[CR][LF] h2 test.se 443 h2 test2.se 443 "20190124 22:37:21" 0 0[CR][LF] h2 test.se 443 h2 test3.se 443 "20190124 22:36:21" 0 0[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1654 ./unit/units unit1654 log/17/1654 > log/17/stdout1654 2> log/17/stderr1654 === End of file commands.log === Start of file server.cmd Testnum 1654 === End of file server.cmd === Start of file valgrind1654 ==171294== ==171294== Process terminating with default action of signal 4 (SIGILL) ==171294== Illegal opcode at address 0x4091F7F ==171294== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171294== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171294== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171294== by 0x400B1A9: main (first.c:264) === End of file valgrind1654 test 1642 [HTTP GET -J, redirect, no Content-Disposition use the Location: name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1642 ../src/curl -q --trace-ascii log/9/trace1642 --trace-time http://127.0.0.1:43733/1642 -J -L -O --output-dir log/9 > log/9/stdout1642 2> log/9/stderr1642 1642: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1642 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1642 ../src/curl -q --trace-ascii log/9/trace1642 --trace-time http://127.0.0.1:43733/1642 -J -L -O --output-dir log/9 > log/9/stdout1642 2> log/9/stderr1642 === End of file commands.log === Start of file http_server.log 19:28:51.750747 ====> Client connect 19:28:51.750792 accept_connection 3 returned 4 19:28:51.750818 Read 93 bytes 19:28:51.750828 Process 93 bytes request 19:28:51.750840 Got request: GET /verifiedserver HTTP/1.1 19:28:51.750849 Are-we-friendly question received 19:28:51.751026 Wrote request (93 bytes) input to log/9/server.input 19:28:51.751061 Identifying ourselves as friends 19:28:51.751146 Response sent (56 bytes) and written to log/9/server.response 19:28:51.751158 special request received, no persistency 19:28:51.751167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 37092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1642 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1642 ==170696== ==170696== Process terminating with default action of signal 4 (SIGILL) ==170696== Illegal opcode at address 0x492B75F ==170696== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170696== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170696== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170696== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170696== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170696== by 0x49908EB: curl_version_info (version.c:600) ==170696== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170696== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170696== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170696== by 0x4003269: main (tool_main.c:195) === End of file valgrind1642 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1646 ../src/curl -q --output log/11/curl1646.out --include --trace-ascii log/11/trace1646 --trace-time --netrc --netrc-file log/11/netrc1646 http://alice@example.com:40989/1646 --resolve example.com:40989:127.0.0.1 > log/11/stdout1646 2> log/11/stderr1646 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1653 ./unit/units unit1653 - > log/24/stdout1653 2> log/24/stderr1653 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1644 ../src/curl -q --include --trace-ascii log/23/trace1644 --trace-time http://127.0.0.1:44711///foo////////////// -O --output-dir log/23 > log/23/stdout1644 2> log/23/stderr1644 test 1635 [--retry with a 429 response and Retry-After: and --fail-with-body] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1635 ../src/curl -q --trace-ascii log/5/trace1635 --trace-time http://127.0.0.1:37089/1635 --retry 1 --fail-with-body > log/5/stdout1635 2> log/5/stderr1635 1635: stdout FAILED: --- log/5/check-expected 2026-10-15 19:28:54.589358334 +0000 +++ log/5/check-generated 2026-10-15 19:28:54.587144864 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/5/ directory after test 1635 === Start of file check-expected moo[LF] hey[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1635 ../src/curl -q --trace-ascii log/5/trace1635 --trace-time http://127.0.0.1:37089/1635 --retry 1 --fail-with-body > log/5/stdout1635 2> log/5/stderr1635 === End of file commands.log === Start of file http_server.log 19:28:51.252952 ====> Client connect 19:28:51.252990 accept_connection 3 returned 4 19:28:51.253011 Read 93 bytes 19:28:51.253021 Process 93 bytes request 19:28:51.253034 Got request: GET /verifiedserver HTTP/1.1 19:28:51.253043 Are-we-friendly question received 19:28:51.253068 Wrote request (93 bytes) input to log/5/server.input 19:28:51.253085 Identifying ourselves as friends 19:28:51.253149 Response sent (56 bytes) and written to log/5/server.response 19:28:51.253159 special request received, no persistency 19:28:51.253167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 54858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1635 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1635 ==170253== ==170253== Process terminating with default action of signal 4 (SIGILL) ==170253== Illegal opcode at address 0x492B75F ==170253== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170253== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170253== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170253== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170253== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170253== by 0x49908EB: curl_version_info (version.c:600) ==170253== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170253== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170253== by 0x4003269: main (tool_main.c:195) === End of file valgrind1635 test 1646 [netrc parsing without user match but user in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1646 ../src/curl -q --output log/11/curl1646.out --include --trace-ascii log/11/trace1646 --trace-time --netrc --netrc-file log/11/netrc1646 http://alice@example.com:40989/1646 --resolve example.com:40989:127.0.0.1 > log/11/stdout1646 2> log/11/stderr1646 1646: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1646 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1646 ../src/curl -q --output log/11/curl1646.out --include --trace-ascii log/11/trace1646 --trace-time --netrc --netrc-file log/11/netrc1646 http://alice@example.com:40989/1646 --resolve example.com:40989:127.0.0.1 > log/11/stdout1646 2> log/11/stderr1646 === End of file commands.log === Start of file http_server.log 19:28:52.063999 ====> Client connect 19:28:52.064036 accept_connection 3 returned 4 19:28:52.064058 Read 93 bytes 19:28:52.064068 Process 93 bytes request 19:28:52.064081 Got request: GET /verifiedserver HTTP/1.1 19:28:52.064090 Are-we-friendly question received 19:28:52.064119 Wrote request (93 bytes) input to log/11/server.input 19:28:52.064136 Identifying ourselves as friends 19:28:52.064199 Response sent (56 bytes) and written to log/11/server.response 19:28:52.064208 special request received, no persistency 19:28:52.064217 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 49406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file netrc1646 machine example.com login bob password sekret === End of file netrc1646 === Start of file server.cmd Testnum 1646 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1646 ==170917== ==170917== Process terminating with default action of signal 4 (SIGILL) ==170917== Illegal opcode at address 0x492B75F ==170917== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170917== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170917== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170917== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170917== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170917== by 0x49908EB: curl_version_info (version.c:600) ==170917== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170917== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170917== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170917== by 0x4003269: main (tool_main.c:195) === End of file valgrind1646 test 1653 [urlapi port number parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1653 ./unit/units unit1653 - > log/24/stdout1653 2> log/24/stderr1653 units returned 132, when expecting 0 1653: exit FAILED == Contents of files in the log/24/ directory after test 1653 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1653 ./unit/units unit1653 - > log/24/stdout1653 2> log/24/stderr1653 === End of file commands.log === Start of file server.cmd Testnum 1653 === End of file server.cmd === Start of file valgrind1653 ==171256== ==171256== Process terminating with default action of signal 4 (SIGILL) ==171256== Illegal opcode at address 0x4091F7F ==171256== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171256== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171256== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171256== by 0x400B1A9: main (first.c:264) === End of file valgrind1653 test 1644 [-O with URL with path but using many trailing slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-checkCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1655 ./unit/units unit1655 - > log/16/stdout1655 2> log/16/stderr1655 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1637 ../src/curl -q --output log/2/curl1637.out --include --trace-ascii log/2/trace1637 --trace-time http://127.0.0.1:34531/1637 --fail --retry 2 --retry-delay 0.1 > log/2/stdout1637 2> log/2/stderr1637 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1656 ./unit/units unit1656 - > log/18/stdout1656 2> log/18/stderr1656 =yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1644 ../src/curl -q --include --trace-ascii log/23/trace1644 --trace-time http://127.0.0.1:44711///foo////////////// -O --output-dir log/23 > log/23/stdout1644 2> log/23/stderr1644 1644: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 1644 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1644 ../src/curl -q --include --trace-ascii log/23/trace1644 --trace-time http://127.0.0.1:44711///foo////////////// -O --output-dir log/23 > log/23/stdout1644 2> log/23/stderr1644 === End of file commands.log === Start of file http_server.log 19:28:51.952177 ====> Client connect 19:28:51.952217 accept_connection 3 returned 4 19:28:51.952241 Read 93 bytes 19:28:51.952252 Process 93 bytes request 19:28:51.952266 Got request: GET /verifiedserver HTTP/1.1 19:28:51.952275 Are-we-friendly question received 19:28:51.952305 Wrote request (93 bytes) input to log/23/server.input 19:28:51.952324 Identifying ourselves as friends 19:28:51.952398 Response sent (56 bytes) and written to log/23/server.response 19:28:51.952411 special request received, no persistency 19:28:51.952421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 53554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1644 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1644 ==170782== ==170782== Process terminating with default action of signal 4 (SIGILL) ==170782== Illegal opcode at address 0x492B75F ==170782== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170782== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170782== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170782== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170782== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170782== by 0x49908EB: curl_version_info (version.c:600) ==170782== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170782== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170782== by 0x4003269: main (tool_main.c:195) === End of file valgrind1644 test 1655 [unit test for doh_req_encode] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1655 ./unit/units unit1655 - > log/16/stdout1655 2> log/16/stderr1655 units returned 132, when expecting 0 1655: exit FAILED == Contents of files in the log/16/ directory after test 1655 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1655 ./unit/units unit1655 - > log/16/stdout1655 2> log/16/stderr1655 === End of file commands.log === Start of file server.cmd Testnum 1655 === End of file server.cmd === Start of file valgrind1655 ==171344== ==171344== Process terminating with default action of signal 4 (SIGILL) ==171344== Illegal opcode at address 0x4091F7F ==171344== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171344== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171344== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171344== by 0x400B1A9: main (first.c:264) === End of file valgrind1655 test 1637 [HTTP 502 with --fail and --retry 2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1637 ../src/curl -q --output log/2/curl1637.out --include --trace-ascii log/2/trace1637 --trace-time http://127.0.0.1:34531/1637 --fail --retry 2 --retry-delay 0.1 > log/2/stdout1637 2> log/2/stderr1637 1637: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1637 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1637 ../src/curl -q --output log/2/curl1637.out --include --trace-ascii log/2/trace1637 --trace-time http://127.0.0.1:34531/1637 --fail --retry 2 --retry-delay 0.1 > log/2/stdout1637 2> log/2/stderr1637 === End of file commands.log === Start of file http_server.log 19:28:52.427677 ====> Client connect 19:28:52.427720 accept_connection 3 returned 4 19:28:52.427742 Read 93 bytes 19:28:52.427752 Process 93 bytes request 19:28:52.427763 Got request: GET /verifiedserver HTTP/1.1 19:28:52.427771 Are-we-friendly question received 19:28:52.427796 Wrote request (93 bytes) input to log/2/server.input 19:28:52.427817 Identifying ourselves as friends 19:28:52.427894 Response sent (56 bytes) and written to log/2/server.response 19:28:52.427903 special request received, no persistency 19:28:52.427911 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1637 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1637 ==170406== ==170406== Process terminating with default action of signal 4 (SIGILL) ==170406== Illegal opcode at address 0x492B75F ==170406== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170406== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170406== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170406== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170406== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170406== by 0x49908EB: curl_version_info (version.c:600) ==170406== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170406== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170406== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170406== by 0x4003269: main (tool_main.c:195) === End of file valgrind1637 test 1656 [GTime2str unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1656 ./unit/units unit1656 - > log/18/stdout1656 2> log/18/stderr1656 units returned 132, when expecting 0 1656: exit FAILED == Contents of files in the log/18/ directory after test 1656 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1641 ../src/curl -q --trace-ascii log/20/trace1641 --trace-time http://127.0.0.1:41689/1641 -J -L -O --output-dir log/20 > log/20/stdout1641 2> log/20/stderr1641 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1660 ./unit/units unit1660 log/12/hsts1660 > log/12/stdout1660 2> log/12/stderr1660 e=log/18/valgrind1656 ./unit/units unit1656 - > log/18/stdout1656 2> log/18/stderr1656 === End of file commands.log === Start of file server.cmd Testnum 1656 === End of file server.cmd === Start of file valgrind1656 ==171380== ==171380== Process terminating with default action of signal 4 (SIGILL) ==171380== Illegal opcode at address 0x4091F7F ==171380== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171380== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171380== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171380== by 0x400B1A9: main (first.c:264) === End of file valgrind1656 test 1641 [HTTP GET -J, a redirect and Content-Disposition in the second response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1641 ../src/curl -q --trace-ascii log/20/trace1641 --trace-time http://127.0.0.1:41689/1641 -J -L -O --output-dir log/20 > log/20/stdout1641 2> log/20/stderr1641 1641: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1641 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1641 ../src/curl -q --trace-ascii log/20/trace1641 --trace-time http://127.0.0.1:41689/1641 -J -L -O --output-dir log/20 > log/20/stdout1641 2> log/20/stderr1641 === End of file commands.log === Start of file http_server.log 19:28:51.604524 ====> Client connect 19:28:51.604556 accept_connection 3 returned 4 19:28:51.604703 Read 93 bytes 19:28:51.604715 Process 93 bytes request 19:28:51.604728 Got request: GET /verifiedserver HTTP/1.1 19:28:51.604737 Are-we-friendly question received 19:28:51.604771 Wrote request (93 bytes) input to log/20/server.input 19:28:51.604788 Identifying ourselves as friends 19:28:51.604846 Response sent (57 bytes) and written to log/20/server.response 19:28:51.604855 special request received, no persistency 19:28:51.604863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 53812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 1641 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind1641 ==170586== ==170586== Process terminating with default action of signal 4 (SIGILL) ==170586== Illegal opcode at address 0x492B75F ==170586== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170586== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170586== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170586== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170586== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170586== by 0x49908EB: curl_version_info (version.c:600) ==170586== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170586== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170586== by 0x4003269: main (tool_main.c:195) === End of file valgrind1641 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1657 ./unit/units unit1657 - > log/6/stdout1657 2> log/6/stderr1657 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1643 ../src/curl -q --trace-ascii log/13/trace1643 --trace-time http://127.0.0.1:38821/1643 -J -L -O --output-dir log/13 > log/13/stdout1643 2> log/13/stderr1643 setenv CURL_TIME = 1548369261 test 1660 [HSTS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1660 ./unit/units unit1660 log/12/hsts1660 > log/12/stdout1660 2> log/12/stderr1660 1660: stdout FAILED: --- log/12/check-expected 2026-10-15 19:28:55.173148475 +0000 +++ log/12/check-generated 2026-10-15 19:28:55.169247462 +0000 @@ -1,34 +0,0 @@ -readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] -'old.example' is not HSTS[LF] -'readfrom.example' is not HSTS[LF] -example.com [example.com]: 1579905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261[LF] -example.com [example.com]: 1569905261 includeSubDomains[LF] -example.org [example.org]: 1579905261[LF] -Input 8: error 43[LF] -Input 9: error 43[LF] -this.example [this.example]: 1548400797[LF] -'this.example' is not HSTS[LF] -Input 12: error 43[LF] -Input 13: error 43[LF] -Input 14: error 43[LF] -3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] -3.example.com [example.com]: 1569905261 includeSubDomains[LF] -foo.example.com [example.com]: 1569905261 includeSubDomains[LF] -'foo.xample.com' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'forexample.net' is not HSTS[LF] -'example.net' is not HSTS[LF] -expire.example [expire.example]: 1548369268[LF] -Number of entries: 4[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -expire.example [expire.example]: 1548369268[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] -'expire.example' is not HSTS[LF] == Contents of files in the log/12/ directory after test 1660 === Start of file check-expected readfrom.example [readfrom.example]: 1633063661 includeSubDomains[LF] 'old.example' is not HSTS[LF] 'readfrom.example' is not HSTS[LF] example.com [example.com]: 1579905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261[LF] example.com [example.com]: 1569905261 includeSubDomains[LF] example.org [example.org]: 1579905261[LF] Input 8: error 43[LF] Input 9: error 43[LF] this.example [this.example]: 1548400797[LF] 'this.example' is not HSTS[LF] Input 12: error 43[LF] Input 13: error 43[LF] Input 14: error 43[LF] 3.example.com [3.example.com]: 1569905261 includeSubDomains[LF] 3.example.com [example.com]: 1569905261 includeSubDomains[LF] foo.example.com [example.com]: 1569905261 includeSubDomains[LF] 'foo.xample.com' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'forexample.net' is not HSTS[LF] 'example.net' is not HSTS[LF] expire.example [expire.example]: 1548369268[LF] Number of entries: 4[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] expire.example [expire.example]: 1548369268[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] 'expire.example' is not HSTS[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1660 ./unit/units unit1660 log/12/hsts1660 > log/12/stdout1660 2> log/12/stderr1660 === End of file commands.log === Start of file hsts1660 # Your HSTS cache. https://curl.se/docs/hsts.html # This file was generated by libcurl! Edit at your own risk. .readfrom.example "20211001 04:47:41" .old.example "20161001 04:47:41" .new.example "unlimited" === End of file hsts1660 === Start of file server.cmd Testnum 1660 === End of file server.cmd === Start of file valgrind1660 ==171492== ==171492== Process terminating with default action of signal 4 (SIGILL) ==171492== Illegal opcode at address 0x4091F7F ==171492== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171492== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171492== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171492== by 0x400B1A9: main (first.c:264) === End of file valgrind1660 test 1661 [bufref unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 units returned 132, when expecting 0 1661: exit FAILED == Contents of files in the log/4/ directory after test 1661 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1661 ./unit/units unit1661 - > log/4/stdout1661 2> log/4/stderr1661 === End of file commands.log === Start of file server.cmd Testnum 1661 === End of file server.cmd === Start of file valgrind1661 ==171519== ==171519== Process terminating with default action of signal 4 (SIGILL) ==171519== Illegal opcode at address 0x4091F7F ==171519== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171519== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171519== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171519== by 0x400B1A9: main (first.c:264) === End of file valgrind1661 test 1657 [getASN1Element unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1657 ./unit/units unit1657 - > log/6/stdout1657 2> log/6/stderr1657 units returned 132, when expecting 0 1657: exit FAILED == Contents of files in the log/6/ directory after test 1657 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1657 ./unit/units unit1657 - > log/6/stdout1657 2> log/6/stderr1657 === End of file commands.log === Start of file server.cmd Testnum 1657 === End of file server.cmd === Start of file valgrind1657 ==171403== ==171403== Process terminating with default action of signal 4 (SIGILL) ==171403== Illegal opcode at address 0x4091F7F ==171403== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171403== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171403== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171403== by 0x400B1A9: main (first.c:264) === End of file valgrind1657 test 1643 [HTTP -J, two redirects, use the last Location: name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1643 ../src/curl -q --trace-ascii log/13/trace1643 --trace-time http://127.0.0.1:38821/1643 -J -L -O --output-dir log/13 > log/13/stdout1643 2> log/13/stderr1643 1643: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1643 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1643 ../src/curl -q --trace-ascii log/13/trace1643 --trace-time http://127.0.0.1:38821/1643 -J -L -O --output-dir log/13 > log/13/stdout1643 2> log/13/stderr1643 === End of file commands.log === Start of file http_server.log 19:28:51.777677 ====> Client connect 19:28:51.777720 accept_connection 3 returned 4 19:28:51.777745 Read 93 bytes 19:28:51.777755 Process 93 bytes request 19:28:51.777769 Got request: GET /veCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1658 ./unit/units unit1658 - > log/14/stdout1658 2> log/14/stderr1658 rifiedserver HTTP/1.1 19:28:51.777778 Are-we-friendly question received 19:28:51.777806 Wrote request (93 bytes) input to log/13/server.input 19:28:51.777823 Identifying ourselves as friends 19:28:51.777915 Response sent (56 bytes) and written to log/13/server.response 19:28:51.777926 special request received, no persistency 19:28:51.777934 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 57558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1643 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1643 ==170697== ==170697== Process terminating with default action of signal 4 (SIGILL) ==170697== Illegal opcode at address 0x492B75F ==170697== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==170697== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==170697== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==170697== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==170697== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==170697== by 0x49908EB: curl_version_info (version.c:600) ==170697== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==170697== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==170697== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==170697== by 0x4003269: main (tool_main.c:195) === End of file valgrind1643 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1663 ./unit/units unit1663 - > log/3/stdout1663 2> log/3/stderr1663 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1664 ./unit/units unit1664 - > log/21/stdout1664 2> log/21/stderr1664 test 1658 [unit test for doh_resp_decode_httpsrr] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1658 ./unit/units unit1658 - > log/14/stdout1658 2> log/14/stderr1658 1658: stderr FAILED: --- log/14/check-expected 2026-10-15 19:28:55.709027605 +0000 +++ log/14/check-generated 2026-10-15 19:28:55.705917966 +0000 @@ -1,2 +0,0 @@ -URL: -[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/14/ directory after test 1658 === Start of file check-expected URL: -[CR][LF] Test ended with result 0[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1658 ./unit/units unit1658 - > log/14/stdout1658 2> log/14/stderr1658 === End of file commands.log === Start of file server.cmd Testnum 1658 === End of file server.cmd === Start of file valgrind1658 ==171427== ==171427== Process terminating with default action of signal 4 (SIGILL) ==171427== Illegal opcode at address 0x4091F7F ==171427== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171427== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171427== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171427== by 0x400B1A9: main (first.c:264) === End of file valgrind1658 test 1663 [unit tests for interface option parsing] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1663 ./unit/units unit1663 - > log/3/stdout1663 2> log/3/stderr1663 units returned 132, when expecting 0 1663: exit FAILED == Contents of files in the log/3/ directory after test 1663 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1663 ./unit/units unit1663 - > log/3/stdout1663 2> log/3/stderr1663 === End of file commands.log === Start of file server.cmd Testnum 1663 === End of file server.cmd === Start of file valgrind1663 ==171544== ==171544== Process terminating with default action of signal 4 (SIGILL) ==171544== Illegal opcode at address 0x4091F7F ==171544== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171544== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171544== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171544== by 0x400B1A9: main (first.c:264) === End of file valgrind1663 test 1664 [unit tests for strparse.c string parsing functions] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1664 ./unit/units unit1664 - > log/21/stdout1664 2> log/21/stderr1664 1664: stdout FAILED: --- log/21/check-expected 2026-10-15 19:28:55.731727309 +0000 +++ log/21/check-generated 2026-10-15 19:28:55.725918108 +0000 @@ -1,209 +0,0 @@ -curlx_str_word[LF] -0: ("word") 0, "word" [4], line 4[LF] -1: ("word ") 0, "word" [4], line 4[LF] -2: (" word ") 2, "" [0], line 0[LF] -3: ("wo rd") 0, "wo" [2], line 2[LF] -4: ("word(") 0, "word(" [5], line 5[LF] -5: ("wor(d") 0, "wor(d" [5], line 5[LF] -6: ("perfect") 0, "perfect" [7], line 7[LF] -7: ("") 2, "" [0], line 0[LF] -8: ("longerth") 1, "" [0], line 0[LF] -curlx_str_until[LF] -0: ("word") 0, "wor" [3], line 3[LF] -1: ("word ") 0, "wor" [3], line 3[LF] -2: (" word ") 0, " wor" [4], line 4[LF] -3: ("wo rd") 0, "wo r" [4], line 4[LF] -4: ("word(") 0, "wor" [3], line 3[LF] -5: ("wor(d") 0, "wor(" [4], line 4[LF] -6: ("perfect") 0, "perfect" [7], line 7[LF] -7: ("") 2, "" [0], line 0[LF] -8: ("longerth") 1, "" [0], line 0[LF] -curlx_str_quotedword[LF] -0: (""word"") 0, "word" [4], line 6[LF] -1: (""word") 4, "" [0], line 0[LF] -2: ("word"") 3, "" [0], line 0[LF] -3: (""word""") 0, "word" [4], line 6[LF] -4: (""word" ") 0, "word" [4], line 6[LF] -5: (" "word"") 3, "" [0], line 0[LF] -6: (""perfect"") 0, "perfect" [7], line 9[LF] -7: (""p r e t"") 0, "p r e t" [7], line 9[LF] -8: (""perfec\"") 1, "" [0], line 0[LF] -9: (""trail\""") 0, "trail\"" [7], line 9[LF] -10: (""trail2\""") 1, "" [0], line 0[LF] -11: (""trail33\""") 1, "" [0], line 0[LF] -12: (""0\\\\\\"") 0, "0\\\\\\" [7], line 9[LF] -13: (""1\\\\\\\"") 1, "" [0], line 0[LF] -14: ("""") 0, "" [0], line 2[LF] -15: ("") 3, "" [0], line 0[LF] -16: (""longerth"") 1, "" [0], line 0[LF] -curlx_str_single[LF] -0: ("a") 0, line 1[LF] -1: ("aa") 0, line 1[LF] -2: ("A") 5, line 0[LF] -3: ("b") 5, line 0[LF] -4: ("\") 5, line 0[LF] -5: (" ") 5, line 0[LF] -6: ("") 5, line 0[LF] -curlx_str_singlespace[LF] -0: ("a") 5, line 0[LF] -1: ("aa") 5, line 0[LF] -2: ("A") 5, line 0[LF] -3: ("b") 5, line 0[LF] -4: ("\") 5, line 0[LF] -5: (" ") 0, line 1[LF] -6: ("%09") 5, line 0[LF] -7: ("[LF] -") 5, line 0[LF] -8: ("") 5, line 0[LF] -curlx_str_number[LF] -0: ("1") 0, [1] line 1[LF] -1: ("10000") 7, [0] line 0[LF] -2: ("1234") 0, [1234] line 4[LF] -3: ("1235") 0, [1235] line 4[LF] -4: ("1236") 7, [0] line 0[LF] -5: ("01234") 0, [1234] line 5[LF] -6: ("00000000000000000000000000001234") 0, [1234] line 32[LF] -7: ("0123 345") 0, [123] line 4[LF] -8: ("0123O345") 0, [123] line 4[LF] -9: ("-12") 8, [0] line 0[LF] -10: (" 123") 8, [0] line 0[LF] -11: ("") 8, [0] line 0[LF] -curlx_str_number varying max[LF] -0: ("00") max 8 == 0, [0][LF] -1: ("1") max 8 == 0, [1][LF] -2: ("1") max 1 == 0, [1][LF] -3: ("2") max 1 == 7, [0][LF] -4: ("2") max 2 == 0, [2][LF] -5: ("5") max 6 == 0, [5][LF] -6: ("000000000000000000000006") max 6 == 0, [6][LF] -7: ("7") max 6 == 7, [0][LF] -8: ("8") max 6 == 7, [0][LF] -9: ("9") max 8 == 7, [0][LF] -10: ("10") max 10 == 0, [10][LF] -11: ("11") max 10 == 7, [0][LF] -12: ("12") max 10 == 7, [0][LF] -curlx_str_hex varying max[LF] -0: ("00") max 8 == 0, [0][LF] -1: ("1") max 8 == 0, [1][LF] -2: ("1") max 1 == 0, [1][LF] -3: ("2") max 1 == 7, [0][LF] -4: ("2") max 2 == 0, [2][LF] -5: ("5") max 6 == 0, [5][LF] -6: ("000000000000000000000006") max 6 == 0, [6][LF] -7: ("7") max 6 == 7, [0][LF] -8: ("8") max 6 == 7, [0][LF] -9: ("9") max 8 == 7, [0][LF] -10: ("a") max 14 == 0, [10][LF] -11: ("b") max 14 == 0, [11][LF] -12: ("c") max 14 == 0, [12][LF] -13: ("d") max 14 == 0, [13][LF] -14: ("e") max 14 == 0, [14][LF] -15: ("f") max 14 == 7, [0][LF] -16: ("f") max 15 == 0, [15][LF] -17: ("10") max 16 == 0, [16][LF] -18: ("11") max 16 == 7, [0][LF] -19: ("12") max 16 == 7, [0][LF] -curlx_str_octal varying max[LF] -0: ("00") max 4 == 0, [0][LF] -1: ("1") max 4 == 0, [1][LF] -2: ("1") max 4 == 0, [1][LF] -3: ("2") max 4 == 0, [2][LF] -4: ("3") max 4 == 0, [3][LF] -5: ("4") max 4 == 0, [4][LF] -6: ("5") max 4 == 7, [0][LF] -7: ("000000000000000000000006") max 6 == 0, [6][LF] -8: ("7") max 7 == 0, [7][LF] -9: ("10") max 8 == 0, [8][LF] -10: ("11") max 8 == 7, [0][LF] -11: ("11") max 9 == 0, [9][LF] -12: ("12") max 9 == 7, [0][LF] -13: ("13") max 9 == 7, [0][LF] -14: ("8") max 10 == 8, [0][LF] -curlx_str_number / max[LF] -0: ("9223372036854775807") 0, [9223372036854775807] line 19[LF] -1: ("9223372036854775808") 7, [0] line 0[LF] -2: ("18446744073709551615") 7, [0] line 0[LF] -3: ("18446744073709551616") 7, [0] line 0[LF] -4: ("18446744073709551617") 7, [0] line 0[LF] -5: ("0123456799a") 0, [123456799] line 10[LF] -6: ("0123456789") 0, [123456789] line 10[LF] -7: ("123498760b") 0, [123498760] line 9[LF] -8: ("1234987607611298232") 0, [1234987607611298232] line 19[LF] -9: ("1111111111111111111") 0, [1111111111111111111] line 19[LF] -10: ("2222222222222222222") 0, [2222222222222222222] line 19[LF] -11: ("00000000000000000000000000000009223372036854775807") 0, [9223372036854775807] line 50[LF] -12: ("3333333333333333333") 0, [3333333333333333333] line 19[LF] -13: ("4444444444444444444") 0, [4444444444444444444] line 19[LF] -14: ("5555555555555555555") 0, [5555555555555555555] line 19[LF] -15: ("6666666666666666666") 0, [6666666666666666666] line 19[LF] -16: ("7777777777777777777") 0, [7777777777777777777] line 19[LF] -17: ("8888888888888888888") 0, [8888888888888888888] line 19[LF] -18: ("999999999999999999") 0, [999999999999999999] line 18[LF] -curlx_str_newline[LF] -0: (%61) 6, line 0[LF] -1: (%61) 6, line 0[LF] -2: (%41) 6, line 0[LF] -3: (%62) 6, line 0[LF] -4: (%5c) 6, line 0[LF] -5: (%20) 6, line 0[LF] -6: (%0a) 0, line 1[LF] -7: (%0d) 0, line 1[LF] -8: (%0d) 0, line 1[LF] -9: (%0c) 6, line 0[LF] -10: (%00) 6, line 0[LF] -curlx_str_hex[LF] -0: ("1") 0, [1] line 1[LF] -1: ("1000") 0, [4096] line 4[LF] -2: ("1234") 0, [4660] line 4[LF] -3: ("1235") 0, [4661] line 4[LF] -4: ("1236") 7, [0] line 0[LF] -5: ("01234") 0, [4660] line 5[LF] -6: ("00000000000000000000000000001234") 0, [4660] line 32[LF] -7: ("0123 345") 0, [291] line 4[LF] -8: ("0123O345") 0, [291] line 4[LF] -9: ("-12") 8, [0] line 0[LF] -10: (" 123") 8, [0] line 0[LF] -11: ("") 8, [0] line 0[LF] -curlx_str_octal[LF] -0: ("1") 0, [1] line 1[LF] -1: ("1000") 0, [512] line 4[LF] -2: ("1234") 0, [668] line 4[LF] -3: ("1235") 0, [669] line 4[LF] -4: ("1236") 7, [0] line 0[LF] -5: ("01234") 0, [668] line 5[LF] -6: ("00000000000000000000000000001234") 0, [668] line 32[LF] -7: ("0123 345") 0, [83] line 4[LF] -8: ("0123O345") 0, [83] line 4[LF] -9: ("-12") 8, [0] line 0[LF] -10: (" 123") 8, [0] line 0[LF] -11: ("") 8, [0] line 0[LF] -curlx_str_octal / max[LF] -0: ("777777777777777777777") 0, [9223372036854775807] line 21[LF] -1: ("1000000000000000000000") 7, [0] line 0[LF] -2: ("111111111111111111111") 0, [1317624576693539401] line 21[LF] -3: ("222222222222222222222") 0, [2635249153387078802] line 21[LF] -4: ("333333333333333333333") 0, [3952873730080618203] line 21[LF] -5: ("444444444444444444444") 0, [5270498306774157604] line 21[LF] -6: ("555555555555555555555") 0, [6588122883467697005] line 21[LF] -7: ("666666666666666666666") 0, [7905747460161236406] line 21[LF] -curlx_str_hex / max[LF] -0: ("7FFFFFFFFFFFFFFF") 0, [9223372036854775807] line 16[LF] -1: ("8000000000000000") 7, [0] line 0[LF] -2: ("1111111111111111") 0, [1229782938247303441] line 16[LF] -3: ("2222222222222222") 0, [2459565876494606882] line 16[LF] -4: ("3333333333333333") 0, [3689348814741910323] line 16[LF] -5: ("4444444444444444") 0, [4919131752989213764] line 16[LF] -6: ("5555555555555555") 0, [6148914691236517205] line 16[LF] -7: ("6666666666666666") 0, [7378697629483820646] line 16[LF] -8: ("7777777777777777") 0, [8608480567731124087] line 16[LF] -9: ("888888888888888") 0, [614891469123651720] line 15[LF] -10: ("999999999999999") 0, [691752902764108185] line 15[LF] -11: ("aaaaaaaaAAAAAAA") 0, [768614336404564650] line 15[LF] -12: ("bbbbbbbbBBBBBBB") 0, [845475770045021115] line 15[LF] -13: ("BBBBBBBBbbbbbbb") 0, [845475770045021115] line 15[LF] -14: ("ccccccccCCCCCCC") 0, [922337203685477580] line 15[LF] -15: ("ddddddddDDDDDDD") 0, [999198637325934045] line 15[LF] -16: ("eeeeeeeeEEEEEEE") 0, [1076060070966390510] line 15[LF] -17: ("ffffffffFFFFFFF") 0, [1152921504606846975] line 15[LF] -18: ("abcdef") 0, [11259375] line 6[LF] -19: ("ABCDEF") 0, [11259375] line 6[LF] == Contents of files in the log/21/ directory after test 1664 === Start of file check-expected curlx_str_word[LF] 0: ("word") 0, "word" [4], line 4[LF] 1: ("word ") 0, "word" [4], line 4[LF] 2: (" word ") 2, "" [0], line 0[LF] 3: ("wo rd") 0, "wo" [2], line 2[LF] 4: ("word(") 0, "word(" [5], line 5[LF] 5: ("wor(d") 0, "wor(d" [5], line 5[LF] 6: ("perfect") 0, "perfect" [7], line 7[LF] 7: ("") 2, "" [0], line 0[LF] 8: ("longerth") 1, "" [0], line 0[LF] curlx_str_until[LF] 0: ("word") 0, "wor" [3], line 3[LF] 1: ("word ") 0, "wor" [3], line 3[LF] 2: (" word ") 0, " wor" [4], line 4[LF] 3: ("wo rd") 0, "wo r" [4], line 4[LF] 4: ("word(") 0, "wor" [3], line 3[LF] 5: ("wor(d") 0, "wor(" [4], line 4[LF] 6: ("perfect") 0, "perfect" [7], line 7[LF] 7: ("") 2, "" [0], line 0[LF] 8: ("longerth") 1, "" [0], line 0[LF] curlx_str_quotedword[LF] 0: (""word"") 0, "word" [4], line 6[LF] 1: (""word") 4, "" [0], line 0[LF] 2: ("word"") 3, "" [0], line 0[LF] 3: (""word""") 0, "word" [4], line 6[LF] 4: (""word" ") 0, "word" [4], line 6[LF] 5: (" "word"") 3, "" [0], line 0[LF] 6: (""perfect"") 0, "perfect" [7], line 9[LF] 7: (""p r e t"") 0, "p r e t" [7], line 9[LF] 8: (""perfec\"") 1, "" [0], line 0[LF] 9: (""trail\""") 0, "trail\"" [7], line 9[LF] 10: (""trail2\""") 1, "" [0], line 0[LF] 11: (""trail33\""") 1, "" [0], line 0[LF] 12: (""0\\\\\\"") 0, "0\\\\\\" [7], line 9[LF] 13: (""1\\\\\\\"") 1, "" [0], line 0[LF] 14: ("""") 0, "" [0], line 2[LF] 15: ("") 3, "" [0], line 0[LF] 16: (""longerth"") 1, "" [0], line 0[LF] curlx_str_single[LF] 0: ("a") 0, line 1[LF] 1: ("aa") 0, line 1[LF] 2: ("A") 5, line 0[LF] 3: ("b") 5, line 0[LF] 4: ("\") 5, line 0[LF] 5: (" ") 5, line 0[LF] 6: ("") 5, line 0[LF] curlx_str_singlespace[LF] 0: ("a") 5, line 0[LF] 1: ("aa") 5, line 0[LF] 2: ("A") 5, line 0[LF] 3: ("b") 5, line 0[LF] 4: ("\") 5, line 0[LF] 5: (" ") 0, line 1[LF] 6: ("%09") 5, line 0[LF] 7: ("[LF] ") 5, line 0[LF] 8: ("") 5, line 0[LF] curlx_str_number[LF] 0: ("1") 0, [1] line 1[LF] 1: ("10000") 7, [0] line 0[LF] 2: ("1234") 0, [1234] line 4[LF] 3: ("1235") 0, [1235] line 4[LF] 4: ("1236") 7, [0] line 0[LF] 5: ("01234") 0, [1234] line 5[LF] 6: ("00000000000000000000000000001234") 0, [1234] line 32[LF] 7: ("0123 345") 0, [123] line 4[LF] 8: ("0123O345") 0, [123] line 4[LF] 9: ("-12") 8, [0] line 0[LF] 10: (" 123") 8, [0] line 0[LF] 11: ("") 8, [0] line 0[LF] curlx_str_number varying max[LF] 0: ("00") max 8 == 0, [0][LF] 1: ("1") max 8 == 0, [1][LF] 2: ("1") max 1 == 0, [1][LF] 3: ("2") max 1 == 7, [0][LF] 4: ("2") max 2 == 0, [2][LF] 5: ("5") max 6 == 0, [5][LF] 6: ("000000000000000000000006") max 6 == 0, [6][LF] 7: ("7") max 6 == 7, [0][LF] 8: ("8") max 6 == 7, [0][LF] 9: ("9") max 8 == 7, [0][LF] 10: ("10") max 10 == 0, [10][LF] 11: ("11") max 10 == 7, [0][LF] 12: ("12") max 10 == 7, [0][LF] curlx_str_hex varying max[LF] 0: ("00") max 8 == 0, [0][LF] 1: ("1") max 8 == 0, [1][LF] 2: ("1") max 1 == 0, [1][LF] 3: ("2") max 1 == 7, [0][LF] 4: ("2") max 2 == 0, [2][LF] 5: ("5") max 6 == 0, [5][LF] 6: ("000000000000000000000006") max 6 == 0, [6][LF] 7: ("7") max 6 == 7, [0][LF] 8: ("8") max 6 == 7, [0][LF] 9: ("9") max 8 == 7, [0][LF] 10: ("a") max 14 == 0, [10][LF] 11: ("b") max 14 == 0, [11][LF] 12: ("c") max 14 == 0, [12][LF] 13: ("d") max 14 == 0, [13][LF] 14: ("e") max 14 == 0, [14][LF] 15: ("f") max 14 == 7, [0][LF] 16: ("f") max 15 == 0, [15][LF] 17: ("10") max 16 == 0, [16][LF] 18: ("11") max 16 == 7, [0][LF] 19: ("12") max 16 == 7, [0][LF] curlx_str_octal varying max[LF] 0: ("00") max 4 == 0, [0][LF] 1: ("1") max 4 == 0, [1][LF] 2: ("1") max 4 == 0, [1][LF] 3: ("2") max 4 == 0, [2][LF] 4: ("3") max 4 == 0, [3][LF] 5: ("4") max 4 == 0, [4][LF] 6: ("5") max 4 == 7, [0][LF] 7: ("000000000000000000000006") max 6 == 0, [6][LF] 8: ("7") max 7 == 0, [7][LF] 9: ("10") max 8 == 0, [8][LF] 10: ("11") max 8 == 7, [0][LF] 11: ("11") max 9 == 0, [9][LF] 12: ("12") max 9 == 7, [0][LF] 13: ("13") max 9 == 7, [0][LF] 14: ("8") max 10 == 8, [0][LF] curlx_str_number / max[LF] 0: ("9223372036854775807") 0, [9223372036854775807] line 19[LF] 1: ("9223372036854775808") 7, [0] line 0[LF] 2: ("18446744073709551615") 7, [0] line 0[LF] 3: ("18446744073709551616") 7, [0] line 0[LF] 4: ("18446744073709551617") 7, [0] line 0[LF] 5: ("0123456799a") 0, [123456799] line 10[LF] 6: ("0123456789") 0, [123456789] line 10[LF] 7: ("123498760b") 0, [123498760] line 9[LF] 8: ("1234987607611298232") 0, [1234987607611298232] line 19[LF] 9: ("1111111111111111111") 0, [1111111111111111111] line 19[LF] 10: ("2222222222222222222") 0, [2222222222222222222] line 19[LF] 11: ("00000000000000000000000000000009223372036854775807") 0, [9223372036854775807] line 50[LF] 12: ("3333333333333333333") 0, [3333333333333333333] line 19[LF] 13: ("4444444444444444444") 0, [4444444444444444444] line 19[LF] 14: ("5555555555555555555") 0, [5555555555555555555] line 19[LF] 15: ("6666666666666666666") 0, [6666666666666666666] line 19[LF] 16: ("7777777777777777777") 0, [7777777777777777777] line 19[LF] 17: ("8888888888888888888") 0, [8888888888888888888] line 19[LF] 18: ("999999999999999999") 0, [999999999999999999] line 18[LF] curlx_str_newline[LF] 0: (%61) 6, line 0[LF] 1: (%61) 6, line 0[LF] 2: (%41) 6, line 0[LF] 3: (%62) 6, line 0[LF] 4: (%5c) 6, line 0[LF] 5: (%20) 6, line 0[LF] 6: (%0a) 0, line 1[LF] 7: (%0d) 0, line 1[LF] 8: (%0d) 0, line 1[LF] 9: (%0c) 6, line 0[LF] 10: (%00) 6, line 0[LF] curlx_str_hex[LF] 0: ("1") 0, [1] line 1[LF] 1: ("1000") 0, [4096] line 4[LF] 2: ("1234") 0, [4660] line 4[LF] 3: ("1235") 0, [4661] line 4[LF] 4: ("1236") 7, [0] line 0[LF] 5: ("01234") 0, [4660] line 5[LF] 6: ("00000000000000000000000000001234") 0, [4660] line 32[LF] 7: ("0123 345") 0, [291] line 4[LF] 8: ("0123O345") 0, [291] line 4[LF] 9: ("-12") 8, [0] line 0[LF] 10: (" 123") 8, [0] line 0[LF] 11: ("") 8, [0] line 0[LF] curlx_str_octal[LF] 0: ("1") 0, [1] line 1[LF] 1: ("1000") 0, [512] line 4[LF] 2: ("1234") 0, [668] line 4[LF] 3: ("1235") 0, [669] line 4[LF] 4: ("1236") 7, [0] line 0[LF] 5: ("01234") 0, [668] line 5[LF] 6: ("00000000000000000000000000001234") 0, [668] line 32[LF] 7: ("0123 345") 0, [83] line 4[LF] 8: ("0123O345") 0, [83] line 4[LF] 9: ("-12") 8, [0] line 0[LF] 10: (" 123") 8, [0] line 0[LF] 11: ("") 8, [0] line 0[LF] curlx_str_octal / max[LF] 0: ("777777777777777777777") 0, [9223372036854775807] line 21[LF] 1: ("1000000000000000000000") 7, [0] line 0[LF] 2: ("111111111111111111111") 0, [1317624576693539401] line 21[LF] 3: ("222222222222222222222") 0, [2635249153387078802] line 21[LF] 4: ("333333333333333333333") 0, [3952873730080618203] line 21[LF] 5: ("444444444444444444444") 0, [5270498306774157604] line 21[LF] 6: ("555555555555555555555") 0, [6588122883467697005] line 21[LF] 7: ("666666666666666666666") 0, [7905747460161236406] line 21[LF] curlx_str_hex / max[LF] 0: ("7FFFFFFFFFFFFFFF") 0, [9223372036854775807] line 16[LF] 1: ("8000000000000000") 7, [0] line 0[LF] 2: ("1111111111111111") 0, [1229782938247303441] line 16[LF] 3: ("2222222222222222") 0, [2459565876494606882] line 16[LF] 4: ("3333333333333333") 0, [3689348814741910323] line 16[LF] 5: ("4444444444444444") 0, [4919131752989213764] line 16[LF] 6: ("5555555555555555") 0, [6148914691236517205] line 16[LF] 7: ("6666666666666666") 0, [7378697629483820646] line 16[LF] 8: ("7777777777777777") 0, [8608480567731124087] line 16[LF] 9: ("888888888888888") 0, [614891469123651720] line 15[LF] 10: ("999999999999999") 0, [691752902764108185] line 15[LF] 11: ("aaaaaaaaAAAAAAA") 0, [768614336404564650] line 15[LF] 12: ("bbbbbbbbBBBBBBB") 0, [845475770045021115] line 15[LF] 13: ("BBBBBBCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1674 ./unit/units unit1674 log/11/hsts1674 > log/11/stdout1674 2> log/11/stderr1674 BBbbbbbbb") 0, [845475770045021115] line 15[LF] 14: ("ccccccccCCCCCCC") 0, [922337203685477580] line 15[LF] 15: ("ddddddddDDDDDDD") 0, [999198637325934045] line 15[LF] 16: ("eeeeeeeeEEEEEEE") 0, [1076060070966390510] line 15[LF] 17: ("ffffffffFFFFFFF") 0, [1152921504606846975] line 15[LF] 18: ("abcdef") 0, [11259375] line 6[LF] 19: ("ABCDEF") 0, [11259375] line 6[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1664 ./unit/units unit1664 - > log/21/stdout1664 2> log/21/stderr1664 === End of file commands.log === Start of file server.cmd Testnum 1664 === End of file server.cmd === Start of file valgrind1664 ==171670== ==171670== Process terminating with default action of signal 4 (SIGILL) ==171670== Illegal opcode at address 0x4091F7F ==171670== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171670== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171670== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171670== by 0x400B1A9: main (first.c:264) === End of file valgrind1664 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1666 ./unit/units unit1666 - > log/22/stdout1666 2> log/22/stderr1666 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1676 ./unit/units unit1676 - > log/23/stdout1676 2> log/23/stderr1676 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1667 ./unit/units unit1667 - > log/19/stdout1667 2> log/19/stderr1667 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1668 ./unit/units unit1668 - > log/7/stdout1668 2> log/7/stderr1668 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1675 ./unit/units unit1675 - > log/24/stdout1675 2> log/24/stderr1675 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1669 ./unit/units unit1669 log/8/1669 > log/8/stdout1669 2> log/8/stderr1669 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/24 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/24/stdout1705 2> log/24/stderr1705 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1659 ../src/curl -q --output log/1/curl1659.out --include --trace-ascii log/1/trace1659 --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test1659.txt --connect-to localhost:8080:localhost:8080 > log/1/stdout1659 2> log/1/stderr1659 setenv CURL_TIME = 1548369261 test 1674 [HSTS load more than 10k entries from file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1674 ./unit/units unit1674 log/11/hsts1674 > log/11/stdout1674 2> log/11/stderr1674 1674: stdout FAILED: --- log/11/check-expected 2026-10-15 19:28:55.749353531 +0000 +++ log/11/check-generated 2026-10-15 19:28:55.745918251 +0000 @@ -1 +0,0 @@ -OK[LF] == Contents of files in the log/11/ directory after test 1674 === Start of file check-expected OK[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1674 ./unit/units unit1674 log/11/hsts1674 > log/11/stdout1674 2> log/11/stderr1674 === End of file commands.log === Start of file server.cmd Testnum 1674 === End of file server.cmd === Start of file valgrind1674 ==171927== ==171927== Process terminating with default action of signal 4 (SIGILL) ==171927== Illegal opcode at address 0x4091F7F ==171927== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171927== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171927== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171927== by 0x400B1A9: main (first.c:264) === End of file valgrind1674 test 1666 [encodeOID unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1666 ./unit/units unit1666 - > log/22/stdout1666 2> log/22/stderr1666 units returned 132, when expecting 0 1666: exit FAILED == Contents of files in the log/22/ directory after test 1666 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1666 ./unit/units unit1666 - > log/22/stdout1666 2> log/22/stderr1666 === End of file commands.log === Start of file server.cmd Testnum 1666 === End of file server.cmd === Start of file valgrind1666 ==171693== ==171693== Process terminating with default action of signal 4 (SIGILL) ==171693== Illegal opcode at address 0x4091F7F ==171693== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171693== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171693== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171693== by 0x400B1A9: main (first.c:264) === End of file valgrind1666 test 1676 [x509 DH public key parameter extraction] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1676 ./unit/units unit1676 - > log/23/stdout1676 2> log/23/stderr1676 units returned 132, when expecting 0 1676: exit FAILED == Contents of files in the log/23/ directory after test 1676 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1676 ./unit/units unit1676 - > log/23/stdout1676 2> log/23/stderr1676 === End of file commands.log === Start of file server.cmd Testnum 1676 === End of file server.cmd === Start of file valgrind1676 ==172149== ==172149== Process terminating with default action of signal 4 (SIGILL) ==172149== Illegal opcode at address 0x4091F7F ==172149== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==172149== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==172149== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==172149== by 0x400B1A9: main (first.c:264) === End of file valgrind1676 test 1667 [ASN1tostr unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1667 ./unit/units unit1667 - > log/19/stdout1667 2> log/19/stderr1667 units returned 132, when expecting 0 1667: exit FAILED == Contents of files in the log/19/ directory after test 1667 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1667 ./unit/units unit1667 - > log/19/stdout1667 2> log/19/stderr1667 === End of file commands.log === Start of file server.cmd Testnum 1667 === End of file server.cmd === Start of file valgrind1667 ==171775== ==171775== Process terminating with default action of signal 4 (SIGILL) ==171775== Illegal opcode at address 0x4091F7F ==171775== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171775== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171775== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171775== by 0x400B1A9: main (first.c:264) === End of file valgrind1667 test 1668 [ftp_213_date unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1668 ./unit/units unit1668 - > log/7/stdout1668 2> log/7/stderr1668 units returned 132, when expecting 0 1668: exit FAILED == Contents of files in the log/7/ directory after test 1668 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1668 ./unit/units unit1668 - > log/7/stdout1668 2> log/7/stderr1668 === End of file commands.log === Start of file server.cmd Testnum 1668 === End of file server.cmd === Start of file valgrind1668 ==171790== ==171790== Process terminating with default action of signal 4 (SIGILL) ==171790== Illegal opcode at address 0x4091F7F ==171790== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171790== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171790== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171790== by 0x400B1A9: main (first.c:264) === End of file valgrind1668 test 1675 [URL API unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1675 ./unit/units unit1675 - > log/24/stdout1675 2> log/24/stderr1675 units returned 132, when expecting 0 1675: exit FAILED == Contents of files in the log/24/ directory after test 1675 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1675 ./unit/units unit1675 - > log/24/stdout1675 2> log/24/stderr1675 === End of file commands.log === Start of file server.cmd Testnum 1675 === End of file server.cmd === Start of file valgrind1675 ==172067== ==172067== Process terminating with default action of signal 4 (SIGILL) ==172067== Illegal opcode at address 0x4091F7F ==172067== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==172067== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==172067== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==172067== by 0x400B1A9: main (first.c:264) === End of file valgrind1675 setenv CURL_TIME = 1548369261 test 1669 [alt-svc load cache with >5000 entries] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1669 ./unit/units unit1669 log/8/1669 > log/8/stdout1669 2> log/8/stderr1669 units returned 132, when expecting 0 1669: exit FAILED == Contents of files in the log/8/ directory after test 1669 === Start of file 1669 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 === File too long: 3609 lines omitted here h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 === End of file 1669 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1669 ./unit/units unit1669 log/8/1669 > log/8/stdout1669 2> log/8/stderr1CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/8 ascii option1.md option2.md > log/8/stdout1706 2> log/8/stderr1706 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1665 ../src/curl -q --output log/10/curl1665.out --include --trace-ascii log/10/trace1665 --trace-time http://127.0.0.1:40913/1665 > log/10/stdout1665 2> log/10/stderr1665 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1670 ../src/curl -q --include --trace-ascii log/15/trace1670 --trace-time http://127.0.0.1:40321/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/15/1670.out > log/15/stdout1670 2> log/15/stderr1670 669 === End of file commands.log === Start of file server.cmd Testnum 1669 === End of file server.cmd === Start of file valgrind1669 ==171917== ==171917== Process terminating with default action of signal 4 (SIGILL) ==171917== Illegal opcode at address 0x4091F7F ==171917== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==171917== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==171917== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==171917== by 0x400B1A9: main (first.c:264) === End of file valgrind1669 test 1659 [--connect-to when using file:// URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1659 ../src/curl -q --output log/1/curl1659.out --include --trace-ascii log/1/trace1659 --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test1659.txt --connect-to localhost:8080:localhost:8080 > log/1/stdout1659 2> log/1/stderr1659 curl returned 132, when expecting 0 1659: exit FAILED == Contents of files in the log/1/ directory after test 1659 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1659 ../src/curl -q --output log/1/curl1659.out --include --trace-ascii log/1/trace1659 --trace-time file://localhost/startdir/src/build-curl/tests/log/1/test1659.txt --connect-to localhost:8080:localhost:8080 > log/1/stdout1659 2> log/1/stderr1659 === End of file commands.log === Start of file server.cmd Testnum 1659 === End of file server.cmd === Start of file test1659.txt 1234567890 === End of file test1659.txt === Start of file valgrind1659 ==171434== ==171434== Process terminating with default action of signal 4 (SIGILL) ==171434== Illegal opcode at address 0x492B75F ==171434== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171434== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171434== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171434== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171434== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171434== by 0x49908EB: curl_version_info (version.c:600) ==171434== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171434== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171434== by 0x4003269: main (tool_main.c:195) === End of file valgrind1659 test 1705 [managen makes man page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/24 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/24/stdout1705 2> log/24/stderr1705 valgrind SKIPPED sr-----e--- OK (1574 out of 1890, remaining: 00:36, took 0.219s, duration: 02:59) test 1706 [managen makes ASCII page] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -I /startdir/src/curl/tests/../include -d log/8 ascii option1.md option2.md > log/8/stdout1706 2> log/8/stderr1706 valgrind SKIPPED sr-----e--- OK (1575 out of 1890, remaining: 00:35, took 0.086s, duration: 02:59) test 1665 [HTTP with only headers and no final CRLF separator] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1665 ../src/curl -q --output log/10/curl1665.out --include --trace-ascii log/10/trace1665 --trace-time http://127.0.0.1:40913/1665 > log/10/stdout1665 2> log/10/stderr1665 1665: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1665 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1665 ../src/curl -q --output log/10/curl1665.out --include --trace-ascii log/10/trace1665 --trace-time http://127.0.0.1:40913/1665 > log/10/stdout1665 2> log/10/stderr1665 === End of file commands.log === Start of file http_server.log 19:28:53.869865 ====> Client connect 19:28:53.869904 accept_connection 3 returned 4 19:28:53.870057 Read 93 bytes 19:28:53.870071 Process 93 bytes request 19:28:53.870084 Got request: GET /verifiedserver HTTP/1.1 19:28:53.870093 Are-we-friendly question received 19:28:53.870125 Wrote request (93 bytes) input to log/10/server.input 19:28:53.870143 Identifying ourselves as friends 19:28:53.870217 Response sent (56 bytes) and written to log/10/server.response 19:28:53.870228 special request received, no persistency 19:28:53.870236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 59132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1665 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind1665 ==171696== ==171696== Process terminating with default action of signal 4 (SIGILL) ==171696== Illegal opcode at address 0x492B75F ==171696== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171696== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171696== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171696== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171696== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171696== by 0x49908EB: curl_version_info (version.c:600) ==171696== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171696== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171696== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171696== by 0x4003269: main (tool_main.c:195) === End of file valgrind1665 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1672 ../src/curl -q --output log/9/curl1672.out --include --trace-ascii log/9/trace1672 --trace-time --netrc --netrc-file log/9/netrc1672 http://127.0.0.1:43733/1672 > log/9/stdout1672 2> log/9/stderr1672 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1680 ../src/curl -q --include --trace-ascii log/18/trace1680 --trace-time http://127.0.0.1:43739/1680 -o log/18/exist1680 --clobber > log/18/stdout1680 2> log/18/stderr1680 test 1670 [-w individual header output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1670 ../src/curl -q --include --trace-ascii log/15/trace1670 --trace-time http://127.0.0.1:40321/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/15/1670.out > log/15/stdout1670 2> log/15/stderr1670 1670: stdout FAILED: --- log/15/check-expected 2026-10-15 19:28:56.906981849 +0000 +++ log/15/check-generated 2026-10-15 19:28:56.902763630 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/15/ directory after test 1670 === Start of file check-expected "21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1670 ../src/curl -q --include --trace-ascii log/15/trace1670 --trace-time http://127.0.0.1:40321/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/15/1670.out > log/15/stdout1670 2> log/15/stderr1670 === End of file commands.log === Start of file http_server.log 19:28:55.199878 ====> Client connect 19:28:55.199911 accept_connection 3 returned 4 19:28:55.199930 Read 93 bytes 19:28:55.199940 Process 93 bytes request 19:28:55.199952 Got request: GET /verifiedserver HTTP/1.1 19:28:55.199960 Are-we-friendly question received 19:28:55.199985 Wrote request (93 bytes) input to log/15/server.input 19:28:55.200004 Identifying ourselves as friends 19:28:55.200061 Response sent (56 bytes) and written to log/15/server.response 19:28:55.200070 special request received, no persistency 19:28:55.200078 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 49506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1670 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1670 ==171906== ==171906== Process terminating with default action of signal 4 (SIGILL) ==171906== Illegal opcode at address 0x492B75F ==171906== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171906== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171906== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171906== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171906== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171906== by 0x49908EB: curl_version_info (version.c:600) ==171906== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171906== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171906== by 0x4003269: main (tool_main.c:195) === End of file valgrind1670 test 1672 [netrc parser skips macdef even with broken quote] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1672 ../src/curl -q --output log/9/curl1672.out --include --trace-ascii log/9/trace1672 --trace-time --netrc --netrc-file log/9/netrc1672 http://127.0.0.1:43733/1672 > log/9/stdout1672 2> log/9/stderr1672 1672: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1672 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1672 ../src/curl -q --output log/9/curl1672.out --include --trace-ascii log/9/trace1672 --trace-time --netrc --netrc-file log/9/netrc1672 http://127.0.0.1:43733/1672 > log/9/stdout1672 2> log/9/stderr1672 === End of file commands.log === Start of file http_server.log 19:28:54.270986 ====> Client connect 19:28:54.271048 accept_connection 3 returned 4 19:28:54.271073 Read 93 bytes 19:28:54.271083 Process 93 bytes request 19:28:54.271095 Got request: GET /verifiedserver HTTP/1.1 19:28:54.271103 Are-we-friendly question received 19:28:54.271132 Wrote request (93 bytes) input to log/9/server.input 19:28:54.271148 Identifying ourselves as friends 19:28:54.271220 Response sent (56 bytes) and written to log/9/server.response 19:28:54.271228 special request received, no persistency 19:28:54.271236 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 37100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file netrc1672 macdef testmacro bin cd "broken quote put password.bin quit machine 127.0.0.1 login user1 password passwd1 === End of file netrc1672 === Start of file server.cmd Testnum 1672 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1672 ==171969== ==171969== Process terminating with default action of signal 4 (SIGILL) ==171969== Illegal opcode at address 0x492B75F ==171969== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171969== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171969== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171969== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171969== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171969== by 0x49908EB: curl_version_info (version.c:600) ==171969== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171969== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171969== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171969== by 0x4003269: main (tool_main.c:195) === End of file valgrind1672 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1693 ./unit/units unit1693 - > log/22/stdout1693 2> log/22/stderr1693 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1673 ../src/curl -q --output log/5/curl1673.out --include --trace-ascii log/5/trace1673 --trace-time http://127.0.0.1:47/1673 --retry 5 --retry-all-errors --upload-file AAAAAAAAAAA > log/5/stdout1673 2> log/5/stderr1673 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1681 ../src/curl -q --include --trace-ascii log/20/trace1681 --trace-time http://127.0.0.1:41689/1681 -o log/20/exist1681 --no-clobber -w '%{filename_effective}\n' > log/20/stdout1681 2> log/20/stderr1681 test 1680 [HTTP GET with explicit clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1680 ../src/curl -q --include --trace-ascii log/18/trace1680 --trace-time http://127.0.0.1:43739/1680 -o log/18/exist1680 --clobber > log/18/stdout1680 2> log/18/stderr1680 1680: output (log/18/exist1680) FAILED: --- log/18/check-expected 2026-10-15 19:28:56.935946713 +0000 +++ log/18/check-generated 2026-10-15 19:28:56.935910034 +0000 @@ -1,6 +1 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] +to be overwritten[LF] == Contents of files in the log/18/ directory after test 1680 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file check-generated to be overwritten[LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1680 ../src/curl -q --include --trace-ascii log/18/trace1680 --trace-time http://127.0.0.1:43739/1680 -o log/18/exist1680 --clobber > log/18/stdout1680 2> log/18/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 19:28:55.647642 ====> Client connect 19:28:55.647680 accept_connection 3 returned 4 19:28:55.647701 Read 93 bytes 19:28:55.647711 Process 93 bytes request 19:28:55.647723 Got request: GET /verifiedserver HTTP/1.1 19:28:55.647732 Are-we-friendly question received 19:28:55.647757 Wrote request (93 bytes) input to log/18/server.input 19:28:55.647775 Identifying ourselves as friends 19:28:55.647840 Response sent (56 bytes) and written to log/18/server.response 19:28:55.647849 special request received, no persistency 19:28:55.647856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1680 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1680 ==172372== ==172372== Process terminating with default action of signal 4 (SIGILL) ==172372== Illegal opcode at address 0x492B75F ==172372== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172372== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172372== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172372== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172372== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172372== by 0x49908EB: curl_version_info (version.c:600) ==172372== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172372== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172372== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172372== by 0x4003269: main (tool_main.c:195) === End of file valgrind1680 test 1693 [MQTT partial sends, would-block, polling and packet ordering] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1693 ./unit/units unit1693 - > log/22/stdout1693 2> log/22/stderr1693 units returned 132, when expecting 0 1693: exit FAILED == Contents of files in the log/22/ directory after test 1693 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1693 ./unit/units unit1693 - > log/22/stdout1693 2> log/22/stderr1693 === End of file commands.log === Start of file server.cmd Testnum 1693 === End of file server.cmd === Start of file valgrind1693 ==172866== ==172866== Process terminating with default action of signal 4 (SIGILL) ==172866== Illegal opcode at address 0x4091F7F ==172866== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==172866== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==172866== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==172866== by 0x400B1A9: main (first.c:264) === End of file valgrind1693 test 1673 [HTTP retry upload with missing upload file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1673 ../src/curl -q --output log/5/curl1673.out --include --trace-ascii log/5/trace1673 --trace-time http://127.0.0.1:47/1673 --retry 5 --retry-all-errors --upload-file AAAAAAAAAAA > log/5/stdout1673 2> log/5/stderr1673 curl returned 132, when expecting 26 1673: exit FAILED == Contents of files in the log/5/ directory after test 1673 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1673 ../src/curl -q --output log/5/curl1673.out --include --trace-ascii log/5/trace1673 --trace-time http://127.0.0.1:47/1673 --retry 5 --retry-all-errors --upload-file AAAAAAAAAAA > log/5/stdout1673 2> log/5/stderr1673 === End of file commands.log === Start of file server.cmd Testnum 1673 === End of file server.cmd === Start of file valgrind1673 ==171914== ==171914== Process terminating with default action of signal 4 (SIGILL) ==171914== Illegal opcode at address 0x492B75F ==171914== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171914== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171914== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171914== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171914== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171914== by 0x49908EB: curl_version_info (version.c:600) ==171914== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171914== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171914== by 0x4003269: main (tool_main.c:195) === End of file valgrind1673 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1688 ./libtest/libtests lib567 rtsp://127.0.0.1:33101/1688 > log/3/stdout1688 2> log/3/stderr1688 test 1681 [HTTP GET without clobber] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1681 ../src/curl -q --include --trace-ascii log/20/trace1681 --trace-time http://127.0.0.1:41689/1681 -o log/20/exist1681 --no-clobber -w '%{filename_effective}\n' > log/20/stdout1681 2> log/20/stderr1681 1681: stdout FAILED: --- log/20/check-expected 2026-10-15 19:28:57.319921416 +0000 +++ log/20/check-generated 2026-10-15 19:28:57.315927803 +0000 @@ -1 +0,0 @@ -log/20/exist1681.1[CR][LF] == Contents of files in the log/20/ directory after test 1681 === Start of file check-expected log/20/exist1681.1[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1681 ../src/curl -q --include --trace-ascii log/20/trace1681 --trace-time http://127.0.0.1:41689/1681 -o log/20/exist1681 --no-clobber -w '%{filename_effective}\n' > log/20/stdout1681 2> log/20/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 19:28:54.657638 ====> Client connect 19:28:54.657872 accept_connection 3 returned 4 19:28:54.657900 Read 93 bytes 19:28:54.657911 Process 93 bytes request 19:28:54.657925 Got request: GET /verifiedserver HTTP/1.1 19:28:54.657934 Are-we-friendly question received 19:28:54.657969 Wrote request (93 bytes) input to log/20/server.input 19:28:54.657989 Identifying ourselves as friends 19:28:54.658067 Response sent (57 bytes) and written to log/20/server.response 19:28:54.658085 special request received, no persistency 19:28:54.658094 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 53828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 1681 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind1681 ==172377== ==172377== Process terminating with default action of signal 4 (SIGILL) ==172377== Illegal opcode at address 0x492B75F ==172377== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172377== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172377== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172377== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172377== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172377== by 0x49908EB: curl_version_info (version.c:600) ==172377== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172377== by 0x4003269: main (tool_main.c:195) === End of file valgrind1681 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1671 ../src/curl -q --include --trace-ascii log/17/trace1671 --trace-time http://127.0.0.1:35993/1671 -w '%{header_json}\n' -o log/17/1671.out > log/17/stdout1671 2> log/17/stderr1671 test 1688 [RTSP OPTIONS response with a body, CURLOPT_NOBODY set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1688 ./libtest/libtests lib567 rtsp://127.0.0.1:33101/1688 > log/3/stdout1688 2> log/3/stderr1688 1688: stdout FAILED: --- log/3/check-expected 2026-10-15 19:28:57.356719474 +0000 +++ log/3/check-generated 2026-10-15 19:28:57.352594658 +0000 @@ -1,6 +0,0 @@ -RTSP/1.0 200 OK[LF] -Server: RTSPD/libcurl-test[LF] -CSeq: 1[LF] -Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE[LF] -Content-Length: 18[LF] -[LF] == Contents of files in the log/3/ directory after test 1688 === Start of file check-expected RTSP/1.0 200 OK[LF] Server: RTSPD/libcurl-test[LF] CSeq: 1[LF] Public: DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE[LF] Content-Length: 18[LF] [LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1688 ./libtest/libtests lib567 rtsp://127.0.0.1:33101/1688 > log/3/stdout1688 2> log/3/stderr1688 === End of file commands.log === Start of file rtsp_server.log 19:28:55.410989 ====> Client connect 19:28:55.411036 Read 93 bytes 19:28:55.411049 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:33101 User-Agent: curl/8.23.0 Accept: */* ] 19:28:55.411080 Got request: GET /verifiedserver HTTP/1.1 19:28:55.411090 Are-we-friendly question received 19:28:55.411131 Wrote request (93 bytes) input to log/3/server.input 19:28:55.411150 Send response number -2 part 0 19:28:55.411159 Identifying ourselves as friends 19:28:55.411218 Sent off 69 bytes 19:28:55.411234 Response sent (69 bytes) and written to log/3/server.response 19:28:55.411243 special request received, no persistency 19:28:55.411251 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:33101... * Established connection to 127.0.0.1 (127.0.0.1 port 33101) from 127.0.0.1 port 41214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33101 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1:33101 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 111152 === End of file rtsp_verify.out === Start of file server.cmd Testnum 1688 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 111152 === End of file server.response === Start of file valgrind1688 ==172831== ==172831== Process terminating with default action of signal 4 (SIGILL) ==172831== Illegal opcode at address 0x51CC63F ==172831== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==172831== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==172831== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==172831== by 0x40041AF: main (first.c:264) === End of file valgrind1688 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1686 ./libtest/libtests lib1686 127.0.0.1 38821 > log/13/stdout1686 2> log/13/stderr1686 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1684 ../src/curl -q --output log/4/curl1684.out --include --trace-ascii log/4/trace1684 --trace-time ftp://127.0.0.1:39739/1684 -z "apr 1 2025 08:00:00" > log/4/stdout1684 2> log/4/stderr1684 test 1671 [-w header JSON output] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1671 ../src/curl -q --include --trace-ascii log/17/trace1671 --trace-time http://127.0.0.1:35993/1671 -w '%{header_json}\n' -o log/17/1671.out > log/17/stdout1671 2> log/17/stderr1671 1671: stdout FAILED: --- log/17/check-expected 2026-10-15 19:28:57.487080575 +0000 +++ log/17/check-generated 2026-10-15 19:28:57.482595319 +0000 @@ -1,11 +0,0 @@ -{"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] -"server":["test-server/fake"],[CR][LF] -"last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] -"etag":["\"21025-dc7-39462498\""],[CR][LF] -"accept-ranges":["bytes"],[CR][LF] -"set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] -"funny-head":["yesyes"],[CR][LF] -"content-type":["text/html"],[CR][LF] -"content-length":["6"],[CR][LF] -"connection":["close"][CR][LF] -}[CR][LF] == Contents of files in the log/17/ directory after test 1671 === Start of file check-expected {"date":["Tue, 09 Nov 2010 14:49:00 GMT"],[CR][LF] "server":["test-server/fake"],[CR][LF] "last-modified":["Tue, 13 Jun 2000 12:10:00 GMT"],[CR][LF] "etag":["\"21025-dc7-39462498\""],[CR][LF] "accept-ranges":["bytes"],[CR][LF] "set-cookie":["firstcookie=want1; path=/","2cookie=want2; path=/","cookie3=want3; path=/"],[CR][LF] "funny-head":["yesyes"],[CR][LF] "content-type":["text/html"],[CR][LF] "content-length":["6"],[CR][LF] "connection":["close"][CR][LF] }[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1671 ../src/curl -q --include --trace-ascii log/17/trace1671 --trace-time http://127.0.0.1:35993/1671 -w '%{header_json}\n' -o log/17/1671.out > log/17/stdout1671 2> log/17/stderr1671 === End of file commands.log === Start of file http_server.log 19:28:55.269157 ====> Client connect 19:28:55.269654 accept_connection 3 returned 4 19:28:55.269681 Read 93 bytes 19:28:55.269692 Process 93 bytes request 19:28:55.269703 Got request: GET /verifiedserver HTTP/1.1 19:28:55.269711 Are-we-friendly question received 19:28:55.269743 Wrote request (93 bytes) input to log/17/server.input 19:28:55.269759 Identifying ourselves as friends 19:28:55.269827 Response sent (56 bytes) and written to log/17/server.response 19:28:55.269836 special request received, no persistency 19:28:55.269845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 38378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1671 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1671 ==171980== ==171980== Process terminating with default action of signal 4 (SIGILL) ==171980== Illegal opcode at address 0x492B75F ==171980== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==171980== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==171980== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==171980== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==171980== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==171980== by 0x49908EB: curl_version_info (version.c:600) ==171980== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==171980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==171980== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==171980== by 0x4003269: main (tool_main.c:195) === End of file valgrind1671 test 1686 [HTTP Digest to different origins and switching credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1686 ./libtest/libtests lib1686 127.0.0.1 38821 > log/13/stdout1686 2> log/13/stderr1686 1686: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1686 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1686 ./libtest/libtests lib1686 127.0.0.1 38821 > log/13/stdout1686 2> log/13/stderr1686 === End of file commands.log === Start of file http_server.log 19:28:55.370358 ====> Client connect 19:28:55.370391 accept_connection 3 returned 4 19:28:55.370414 Read 93 bytes 19:28:55.370426 Process 93 bytes request 19:28:55.370439 Got request: GET /verifiedserver HTTP/1.1 19:28:55.370448 Are-we-friendly question received 19:28:55.370474 Wrote request (93 bytes) input to log/13/server.input 19:28:55.370491 Identifying ourselves as friends 19:28:55.370553 Response sent (56 bytes) and written to log/13/server.response 19:28:55.370562 special request received, no persistency 19:28:55.370571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 57566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1686 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1686 ==172807== ==172807== Process terminating with default action of signal 4 (SIGILL) ==172807== Illegal opcode at address 0x51CC63F ==172807== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==172807== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==172807== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==172807== by 0x40041AF: main (first.c:264) === End of file valgrind1686 test 1684 [FTP with malformed MDTM response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1684 ../src/curl -q --output log/4/curl1684.out --include --trace-ascii log/4/trace1684 --trace-time ftp://127.0.0.1:39739/1684 -z "apr 1 2025 08:00:00" > log/4/stdout1684 2> log/4/stderr1684 1684: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 1684 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1684 ../src/curl -q --output log/4/curl1684.out --include --trace-ascii log/4/trace1684 --trace-time ftp://127.0.0.1:39739/1684 -z "apr 1 2025 08:00:00" > log/4/stdout1684 2> log/4/stderr1684 === End of file commands.log === Start of file ftp_server.log 19:28:55.322120 ====> Client connect 19:28:55.322325 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- |CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1685 ../src/curl -q --output log/6/curl1685.out --include --trace-ascii log/6/trace1685 --trace-time http://127.0.0.1:33935/ -c log/6/jar1685.txt > log/6/stdout1685 2> log/6/stderr1685 (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:55.322627 < "USER anonymous" 19:28:55.322657 > "331 We are happy you popped in![CR][LF]" 19:28:55.322800 < "PASS ftp@example.com" 19:28:55.322822 > "230 Welcome you silly person[CR][LF]" 19:28:55.322952 < "PWD" 19:28:55.322978 > "257 "/" is current directory[CR][LF]" 19:28:55.323115 < "EPSV" 19:28:55.323138 ====> Passive DATA channel requested by client 19:28:55.323150 DATA sockfilt for passive data channel starting... 19:28:55.329925 DATA sockfilt for passive data channel started (pid 172576) 19:28:55.330083 DATA sockfilt for passive data channel listens on port 41933 19:28:55.330139 > "229 Entering Passive Mode (|||41933|)[CR][LF]" 19:28:55.330164 Client has been notified that upcoming DATA connection is awaited on port 41933 19:28:55.330497 Client connects to port 41933 19:28:55.330553 ====> Client established passive DATA connection on port 41933 19:28:55.330664 < "TYPE I" 19:28:55.330705 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:55.332848 < "SIZE verifiedserver" 19:28:55.333548 > "213 17[CR][LF]" 19:28:55.333606 < "RETR verifiedserver" 19:28:55.333724 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:55.333820 =====> Closing passive DATA connection... 19:28:55.333837 Server disconnects passive DATA connection 19:28:55.333999 Server disconnected passive DATA connection 19:28:55.334023 DATA sockfilt for passive data channel quits (pid 172576) 19:28:55.334254 DATA sockfilt for passive data channel quit (pid 172576) 19:28:55.334277 =====> Closed passive DATA connection 19:28:55.334354 > "226 File transfer complete[CR][LF]" 19:28:55.376454 < "QUIT" 19:28:55.377734 > "221 bye bye baby[CR][LF]" 19:28:55.377779 MAIN sockfilt said DISC 19:28:55.377845 ====> Client disconnected 19:28:55.377932 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:54.924254 ====> Client connect 19:28:54.924602 Received DATA (on stdin) 19:28:54.924614 > 146 bytes data, server => client 19:28:54.924624 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:54.924633 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:54.924641 '220 \___|\___/|_| \_\_____|\r\n' 19:28:54.924755 < 16 bytes data, client => server 19:28:54.924766 'USER anonymous\r\n' 19:28:54.924924 Received DATA (on stdin) 19:28:54.924934 > 33 bytes data, server => client 19:28:54.924943 '331 We are happy you popped in!\r\n' 19:28:54.924991 < 22 bytes data, client => server 19:28:54.925000 'PASS ftp@example.com\r\n' 19:28:54.925086 Received DATA (on stdin) 19:28:54.925095 > 30 bytes data, server => client 19:28:54.925104 '230 Welcome you silly person\r\n' 19:28:54.925147 < 5 bytes data, client => server 19:28:54.925155 'PWD\r\n' 19:28:54.925241 Received DATA (on stdin) 19:28:54.925250 > 30 bytes data, server => client 19:28:54.925259 '257 "/" is current directory\r\n' 19:28:54.925311 < 6 bytes data, client => server 19:28:54.925320 'EPSV\r\n' 19:28:54.932446 Received DATA (on stdin) 19:28:54.932463 > 39 bytes data, server => client 19:28:54.932474 '229 Entering Passive Mode (|||41933|)\r\n' 19:28:54.932673 < 8 bytes data, client => server 19:28:54.932690 'TYPE I\r\n' 19:28:54.932981 Received DATA (on stdin) 19:28:54.932994 > 33 bytes data, server => client 19:28:54.933005 '200 I modify TYPE as you wanted\r\n' 19:28:54.933066 < 21 bytes data, client => server 19:28:54.933081 'SIZE verifiedserver\r\n' 19:28:54.935138 Received DATA (on stdin) 19:28:54.935150 > 8 bytes data, server => client 19:28:54.935698 '213 17\r\n' 19:28:54.935757 < 21 bytes data, client => server 19:28:54.935768 'RETR verifiedserver\r\n' 19:28:54.935887 Received DATA (on stdin) 19:28:54.935898 > 29 bytes data, server => client 19:28:54.935914 '150 Binary junk (17 bytes).\r\n' 19:28:54.936548 Received DATA (on stdin) 19:28:54.936560 > 28 bytes data, server => client 19:28:54.936577 '226 File transfer complete\r\n' 19:28:54.978519 < 6 bytes data, client => server 19:28:54.978551 'QUIT\r\n' 19:28:54.978754 Received DATA (on stdin) 19:28:54.978767 > 18 bytes data, server => client 19:28:54.978784 '221 bye bye baby\r\n' 19:28:54.979938 ====> Client disconnect 19:28:54.980045 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:55.931762 Running IPv4 version 19:28:55.931868 Listening on port 41933 19:28:55.931917 Wrote pid 172576 to log/4/server/ftp_sockdata.pid 19:28:55.932120 Received PING (on stdin) 19:28:55.932245 Received PORT (on stdin) 19:28:55.932714 ====> Client connect 19:28:55.936106 Received DATA (on stdin) 19:28:55.936117 > 17 bytes data, server => client 19:28:55.936127 'WE ROOLZ: 85249\r\n' 19:28:55.936194 Received DISC (on stdin) 19:28:55.936208 ====> Client forcibly disconnected 19:28:55.936296 Received QUIT (on stdin) 19:28:55.936306 quits 19:28:55.936367 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1684 === End of file server.cmd === Start of file valgrind1684 ==172613== ==172613== Process terminating with default action of signal 4 (SIGILL) ==172613== Illegal opcode at address 0x492B75F ==172613== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172613== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172613== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172613== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172613== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172613== by 0x49908EB: curl_version_info (version.c:600) ==172613== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172613== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172613== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172613== by 0x4003269: main (tool_main.c:195) === End of file valgrind1684 test 1685 [HTTP, reject cookie with tab in path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1685 ../src/curl -q --output log/6/curl1685.out --include --trace-ascii log/6/trace1685 --trace-time http://127.0.0.1:33935/ -c log/6/jar1685.txt > log/6/stdout1685 2> log/6/stderr1685 1685: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1685 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1685 ../src/curl -q --output log/6/curl1685.out --include --trace-ascii log/6/trace1685 --trace-time http://127.0.0.1:33935/ -c log/6/jar1685.txt > log/6/stdout1685 2> log/6/stderr1685 === End of file commands.log === Start of file http_server.log 19:28:54.928829 ====> Client connect 19:28:54.928859 accept_connection 3 returned 4 19:28:54.928878 Read 93 bytes 19:28:54.928887 Process 93 bytes request 19:28:54.928898 Got request: GET /verifiedserver HTTP/1.1 19:28:54.928907 Are-we-friendly question received 19:28:54.928931 Wrote request (93 bytes) input to log/6/server.input 19:28:54.928945 Identifying ourselves as friends 19:28:54.929001 Response sent (56 bytes) and written to log/6/server.response 19:28:54.929009 special request received, no persistency 19:28:54.929017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 44326 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 1685 === End of file server.cmdCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1679 ../src/curl -q --output log/2/curl1679.out --include --trace-ascii log/2/trace1679 --trace-time http://127.0.0.1:34531/we/want/1679 --libcurl log/2/test1679.c --insecure --next http://127.0.0.1:34531/we/want/1679 > log/2/stdout1679 2> log/2/stderr1679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:40921/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1685 ==172590== ==172590== Process terminating with default action of signal 4 (SIGILL) ==172590== Illegal opcode at address 0x492B75F ==172590== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172590== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172590== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172590== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172590== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172590== by 0x49908EB: curl_version_info (version.c:600) ==172590== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172590== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172590== by 0x4003269: main (tool_main.c:195) === End of file valgrind1685 test 1679 [--libcurl resets SSL verification after --next] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1679 ../src/curl -q --output log/2/curl1679.out --include --trace-ascii log/2/trace1679 --trace-time http://127.0.0.1:34531/we/want/1679 --libcurl log/2/test1679.c --insecure --next http://127.0.0.1:34531/we/want/1679 > log/2/stdout1679 2> log/2/stderr1679 1679: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1679 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1679 ../src/curl -q --output log/2/curl1679.out --include --trace-ascii log/2/trace1679 --trace-time http://127.0.0.1:34531/we/want/1679 --libcurl log/2/test1679.c --insecure --next http://127.0.0.1:34531/we/want/1679 > log/2/stdout1679 2> log/2/stderr1679 === End of file commands.log === Start of file http_server.log 19:28:55.587652 ====> Client connect 19:28:55.587692 accept_connection 3 returned 4 19:28:55.587714 Read 93 bytes 19:28:55.587723 Process 93 bytes request 19:28:55.587737 Got request: GET /verifiedserver HTTP/1.1 19:28:55.587745 Are-we-friendly question received 19:28:55.587770 Wrote request (93 bytes) input to log/2/server.input 19:28:55.587792 Identifying ourselves as friends 19:28:55.587871 Response sent (56 bytes) and written to log/2/server.response 19:28:55.587884 special request received, no persistency 19:28:55.587893 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 1679 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1679 ==172328== ==172328== Process terminating with default action of signal 4 (SIGILL) ==172328== Illegal opcode at address 0x492B75F ==172328== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172328== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172328== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172328== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172328== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172328== by 0x49908EB: curl_version_info (version.c:600) ==172328== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172328== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172328== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172328== by 0x4003269: main (tool_main.c:195) === End of file valgrind1679 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1677 ../src/curl -q --include --trace-ascii log/16/trace1677 --trace-time http://127.0.0.1:35903/1677 -d "testdata" > log/16/stdout1677 2> log/16/stderr1677 test 1682 [HTTP GET without clobber and --output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:40921/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 1682: output (log/12/exist1682.1) FAILED: --- log/12/check-expected 2026-10-15 19:28:57.809305256 +0000 +++ log/12/check-generated 2026-10-15 19:28:57.805930299 +0000 @@ -1,6 +0,0 @@ -HTTP/1.0 200 OK[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -Content-Length: 4[LF] -[LF] -foo[LF] == Contents of files in the log/12/ directory after test 1682 === Start of file check-expected HTTP/1.0 200 OK[LF] Connection: close[LF] Content-Type: text/plain[LF] Content-Length: 4[LF] [LF] foo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1682 ../src/curl -q --include --trace-ascii log/12/trace1682 --trace-time http://127.0.0.1:40921/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 === End of file commands.log === Start of file exist1682 to stay the same === End of file exist1682 === Start of file http_server.log 19:28:54.891210 ====> Client connect 19:28:54.891247 accept_connection 3 returned 4 19:28:54.891356 Read 93 bytes 19:28:54.891368 Process 93 bytes request 19:28:54.891382 Got request: GET /verifiedserver HTTP/1.1 19:28:54.891390 Are-we-friendly question received 19:28:54.891423 Wrote request (93 bytes) input to log/12/server.input 19:28:54.891439 Identifying ourselves as friends 19:28:54.891612 Response sent (56 bytes) and written to log/12/server.response 19:28:54.891622 special request received, no persistency 19:28:54.891630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1682 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1682 ==172572== ==172572== Process terminating with default action of signal 4 (SIGILL) ==172572== Illegal opcode at address 0x492B75F ==172572== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172572== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172572== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172572== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172572== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172572== by 0x49908EB: curl_version_info (version.c:600) ==172572== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172572== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172572== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172572== by 0x4003269: main (tool_main.c:195) === End of file valgrind1682 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1692 ../src/curl -q --output log/11/curl1692.out --include --trace-ascii log/11/trace1692 --trace-time --ipfs-gateway http://127.0.0.1:40989/private/gateway ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/11/stdout1692 2> log/11/stderr1692 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1687 ../src/curl -q --output log/14/curl1687.out --include --trace-ascii log/14/trace1687 --trace-time http://127.0.0.1:45467/we/want/1687 -H "X-First: yes" --libcurl log/14/test1687.c --next http://127.0.0.1:45467/we/want/1687 > log/14/stdout1687 2> log/14/stderr1687 test 1677 [HTTP POST response with both chunked and zero Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1677 ../src/curl -q --include --trace-ascii log/16/trace1677 --trace-time http://127.0.0.1:35903/1677 -d "testdata" > log/16/stdout1677 2> log/16/stderr1677 1677: stdout FAILED: --- log/16/check-expected 2026-10-15 19:28:57.825966075 +0000 +++ log/16/check-generated 2026-10-15 19:28:57.822597050 +0000 @@ -1,7 +0,0 @@ -HTTP/1.1 200 OK[CR][LF] -content-type: text/json[CR][LF] -connection: keep-alive[CR][LF] -content-length: 0[CR][LF] -transfer-encoding: chunked[CR][LF] -[CR][LF] -random data in first chunk another data in second chunk third and last chunk == Contents of files in the log/16/ directory after test 1677 === Start of file check-expected HTTP/1.1 200 OK[CR][LF] content-type: text/json[CR][LF] connection: keep-alive[CR][LF] content-length: 0[CR][LF] transfer-encoding: chunked[CR][LF] [CR][LF] random data in first chunk another data in second chunk third and last chunk === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1677 ../src/curl -q --include --trace-ascii log/16/trace1677 --trace-time http://127.0.0.1:35903/1677 -d "testdata" > log/16/stdout1677 2> log/16/stderr1677 === End of file commands.log === Start of file http_server.log 19:28:55.492132 ====> Client connect 19:28:55.492161 accept_connection 3 returned 4 19:28:55.492181 Read 93 bytes 19:28:55.492190 Process 93 bytes request 19:28:55.492205 Got request: GET /verifiedserver HTTP/1.1 19:28:55.492214 Are-we-friendly question received 19:28:55.492239 Wrote request (93 bytes) input to log/16/server.input 19:28:55.492254 Identifying ourselves as friends 19:28:55.492307 Response sent (56 bytes) and written to log/16/server.response 19:28:55.492315 special request received, no persistency 19:28:55.492322 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 39604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd writedelay: 500 Testnum 1677 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1677 ==172271== ==172271== Process terminating with default action of signal 4 (SIGILL) ==172271== Illegal opcode at address 0x492B75F ==172271== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172271== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172271== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172271== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172271== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172271== by 0x49908EB: curl_version_info (version.c:600) ==172271== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172271== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172271== by 0x4003269: main (tool_main.c:195) === End of file valgrind1677 test 1692 [IPNS path with encoded slashes and dotdot stays under the gateway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1692 ../src/curl -q --output log/11/curl1692.out --include --trace-ascii log/11/trace1692 --trace-time --ipfs-gateway http://127.0.0.1:40989/private/gateway ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/11/stdout1692 2> log/11/stderr1692 1692: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1692 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1692 ../src/curl -q --output log/11/curl1692.out --include --trace-ascii log/11/trace1692 --trace-time --ipfs-gateway http://127.0.0.1:40989/private/gateway ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/11/stdout1692 2> log/11/stderr1692 === End of file commands.log === Start of file http_server.log 19:28:55.447635 ====> Client connect 19:28:55.447670 accept_connection 3 returned 4 19:28:55.447695 Read 93 bytes 19:28:55.447705 Process 93 bytes request 19:28:55.447717 Got request: GET /verifiedserver HTTP/1.1 19:28:55.447726 Are-we-friendly question received 19:28:55.447781 Wrote request (93 bytes) input to log/11/server.input 19:28:55.447798 Identifying ourselves as friends 19:28:55.447885 Response sent (56 bytes) and written to log/11/server.response 19:28:55.447896 special request received, no persistency 19:28:55.447904 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 49412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1692 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1692 ==172849== ==172849== Process terminating with default action of signal 4 (SIGILL) ==172849== Illegal opcode at address 0x492B75F ==172849== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172849== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172849== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172849== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172849== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172849== by 0x49908EB: curl_version_info (version.c:600) ==172849== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172849== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172849== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172849== by 0x4003269: main (tool_main.c:195) === End of file valgrind1692 test 1687 [--libcurl resets the handle between --next operations] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1687 ../src/curl -q --output log/14/curl1687.out --include --trace-ascii log/14/trace1687 --trace-time http://127.0.0.1:45467/we/want/1687 -H "X-First: yes" --libcurl log/14/test1687.c --next http://127.0.0.1:45467/we/want/1687 > log/14/stdout1687 2> log/14/stderr1687 1687: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1687 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --nCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1691 ../src/curl -q --output log/21/curl1691.out --include --trace-ascii log/21/trace1691 --trace-time --ipfs-gateway http://127.0.0.1:39881/private/gateway ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/21/stdout1691 2> log/21/stderr1691 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1720 ./tunit/tunits tool1720 - > log/9/stdout1720 2> log/9/stderr1720 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1704 ../src/curl -q --output log/7/curl1704.out --include --trace-ascii log/7/trace1704 --trace-time http://127.0.0.1:40859/1704 --http2 > log/7/stdout1704 2> log/7/stderr1704 um-callers=16 --log-file=log/14/valgrind1687 ../src/curl -q --output log/14/curl1687.out --include --trace-ascii log/14/trace1687 --trace-time http://127.0.0.1:45467/we/want/1687 -H "X-First: yes" --libcurl log/14/test1687.c --next http://127.0.0.1:45467/we/want/1687 > log/14/stdout1687 2> log/14/stderr1687 === End of file commands.log === Start of file http_server.log 19:28:55.414803 ====> Client connect 19:28:55.414839 accept_connection 3 returned 4 19:28:55.414859 Read 93 bytes 19:28:55.414868 Process 93 bytes request 19:28:55.414880 Got request: GET /verifiedserver HTTP/1.1 19:28:55.414889 Are-we-friendly question received 19:28:55.414913 Wrote request (93 bytes) input to log/14/server.input 19:28:55.414929 Identifying ourselves as friends 19:28:55.414996 Response sent (56 bytes) and written to log/14/server.response 19:28:55.415005 special request received, no persistency 19:28:55.415013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 59362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1687 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1687 ==172825== ==172825== Process terminating with default action of signal 4 (SIGILL) ==172825== Illegal opcode at address 0x492B75F ==172825== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172825== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172825== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172825== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172825== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172825== by 0x49908EB: curl_version_info (version.c:600) ==172825== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172825== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172825== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172825== by 0x4003269: main (tool_main.c:195) === End of file valgrind1687 test 1691 [IPFS path with encoded slashes and dotdot stays under the gateway] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1691 ../src/curl -q --output log/21/curl1691.out --include --trace-ascii log/21/trace1691 --trace-time --ipfs-gateway http://127.0.0.1:39881/private/gateway ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/21/stdout1691 2> log/21/stderr1691 1691: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1691 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1691 ../src/curl -q --output log/21/curl1691.out --include --trace-ascii log/21/trace1691 --trace-time --ipfs-gateway http://127.0.0.1:39881/private/gateway ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/%2f..%2f..%2f..%2f..%2f..%2fadmin/config > log/21/stdout1691 2> log/21/stderr1691 === End of file commands.log === Start of file http_server.log 19:28:55.474297 ====> Client connect 19:28:55.474336 accept_connection 3 returned 4 19:28:55.474360 Read 93 bytes 19:28:55.474369 Process 93 bytes request 19:28:55.474383 Got request: GET /verifiedserver HTTP/1.1 19:28:55.474391 Are-we-friendly question received 19:28:55.474419 Wrote request (93 bytes) input to log/21/server.input 19:28:55.474436 Identifying ourselves as friends 19:28:55.474525 Response sent (56 bytes) and written to log/21/server.response 19:28:55.474534 special request received, no persistency 19:28:55.474543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 42782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1691 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1691 ==172886== ==172886== Process terminating with default action of signal 4 (SIGILL) ==172886== Illegal opcode at address 0x492B75F ==172886== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==172886== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==172886== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==172886== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==172886== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==172886== by 0x49908EB: curl_version_info (version.c:600) ==172886== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==172886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==172886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==172886== by 0x4003269: main (tool_main.c:195) === End of file valgrind1691 test 1720 [create_dir_hierarchy()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1720 ./tunit/tunits tool1720 - > log/9/stdout1720 2> log/9/stderr1720 tunits returned 132, when expecting 0 1720: exit FAILED == Contents of files in the log/9/ directory after test 1720 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1720 ./tunit/tunits tool1720 - > log/9/stdout1720 2> log/9/stderr1720 === End of file commands.log === Start of file server.cmd Testnum 1720 === End of file server.cmd === Start of file valgrind1720 ==173387== ==173387== Process terminating with default action of signal 4 (SIGILL) ==173387== Illegal opcode at address 0x48F863F ==173387== at 0x48F863F: formatf.constprop.1 (mprintf.c:1115) ==173387== by 0x48FC58B: curl_mvfprintf (mprintf.c:1482) ==173387== by 0x48FC662: curl_mfprintf (mprintf.c:1493) ==173387== by 0x40011A9: main (first.c:264) === End of file valgrind1720 test 1704 [HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1704 ../src/curl -q --output log/7/curl1704.out --include --trace-ascii log/7/trace1704 --trace-time http://127.0.0.1:40859/1704 --http2 > log/7/stdout1704 2> log/7/stderr1704 1704: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1704 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1704 ../src/curl -q --output log/7/curl1704.out --include --trace-ascii log/7/trace1704 --traceCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1744 ./libtest/libtests lib1744 http://127.0.0.1:33935/1744 127.0.0.1:45269 > log/6/stdout1744 2> log/6/stderr1744 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1712 ../src/curl -q --output log/1/curl1712.out --include --trace-ascii log/1/trace1712 --trace-time http://127.0.0.1:38815/1712 --config log/1/config --silent > log/1/stdout1712 2> log/1/stderr1712 -time http://127.0.0.1:40859/1704 --http2 > log/7/stdout1704 2> log/7/stderr1704 === End of file commands.log === Start of file http_server.log 19:28:56.050492 ====> Client connect 19:28:56.050526 accept_connection 3 returned 4 19:28:56.050545 Read 93 bytes 19:28:56.050554 Process 93 bytes request 19:28:56.050567 Got request: GET /verifiedserver HTTP/1.1 19:28:56.050576 Are-we-friendly question received 19:28:56.050601 Wrote request (93 bytes) input to log/7/server.input 19:28:56.050616 Identifying ourselves as friends 19:28:56.051780 Response sent (56 bytes) and written to log/7/server.response 19:28:56.051794 special request received, no persistency 19:28:56.051802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1704 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1704 ==173169== ==173169== Process terminating with default action of signal 4 (SIGILL) ==173169== Illegal opcode at address 0x492B75F ==173169== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173169== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173169== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173169== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173169== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173169== by 0x49908EB: curl_version_info (version.c:600) ==173169== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173169== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173169== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173169== by 0x4003269: main (tool_main.c:195) === End of file valgrind1704 test 1744 [SOCKS5 CURLAUTH_ONLY does not reuse an unauthenticated connection] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1744 ./libtest/libtests lib1744 http://127.0.0.1:33935/1744 127.0.0.1:45269 > log/6/stdout1744 2> log/6/stderr1744 1744: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 1744 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1744 ./libtest/libtests lib1744 http://127.0.0.1:33935/1744 127.0.0.1:45269 > log/6/stdout1744 2> log/6/stderr1744 === End of file commands.log === Start of file http_server.log 19:28:57.314294 ====> Client connect 19:28:57.314332 accept_connection 3 returned 4 19:28:57.314358 Read 93 bytes 19:28:57.314368 Process 93 bytes request 19:28:57.314380 Got request: GET /verifiedserver HTTP/1.1 19:28:57.314388 Are-we-friendly question received 19:28:57.314416 Wrote request (93 bytes) input to log/6/server.input 19:28:57.314433 Identifying ourselves as friends 19:28:57.314520 Response sent (56 bytes) and written to log/6/server.response 19:28:57.314531 special request received, no persistency 19:28:57.314539 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 44332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd method 0 Testnum 1744 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1744 ==174082== ==174082== Process terminating with default action of signal 4 (SIGILL) ==174082== Illegal opcode at address 0x51CC63F ==174082== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174082== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174082== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174082== by 0x40041AF: main (first.c:264) === End of file valgrind1744 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1714 ../src/curl -q --include --trace-ascii log/10/trace1714 --trace-time telnet://127.0.0.1:40913 --max-filesize 99995 log/10/stdout1714 2> log/10/stderr1714 setenv COLUMNS = 10000 test 1712 [config file with argument using single quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1712 ../src/curl -q --output log/1/curl1712.out --include --trace-ascii log/1/trace1712 --trace-time http://127.0.0.1:38815/1712 --config log/1/config --silent > log/1/stdout1712 2> log/1/stderr1712 1712: stderr FAILED: --- log/1/check-expected 2026-10-15 19:28:59.048204504 +0000 +++ log/1/check-generated 2026-10-15 19:28:59.042602168 +0000 @@ -1 +0,0 @@ -log/1/config:1 Option 'data' uses argument with leading single quote. It is probably a mistake. Consider double quotes. == Contents of files in the log/1/ directory after test 1712 === Start of file check-expected log/1/config:1 Option 'data' uses argument with leading single quote. It is probably a mistake. Consider double quotes. === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1712 ../src/curl -q --output log/1/curl1712.out --include --trace-ascii log/1/trace1712 --trace-time http://127.0.0.1:38815/1712 --config log/1/config --silent > log/1/stdout1712 2> log/1/stderr1712 === End of file commands.log === Start of file config data = 'arg-with-quote' === End of file config === Start of file http_server.log 19:28:57.399196 ====> Client connect 19:28:57.399234 accept_connection 3 returned 4 19:28:57.399256 Read 93 bytes 19:28:57.399265 Process 93 bytes request 19:28:57.399277 Got request: GET /verifiedserver HTTP/1.1 19:28:57.399286 Are-we-friendly question received 19:28:57.399318 Wrote request (93 bytes) input to log/1/server.input 19:28:57.399336 Identifying ourselves as friends 19:28:57.399410 Response sent (56 bytes) and written to log/1/server.response 19:28:57.399421 special request received, no persistency 19:28:57.399429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 51994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1712 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1712 ==173282== ==173282== Process terminating with default action of signal 4 (SIGILL) ==173282== Illegal opcode at address 0x492B75F ==173282== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173282== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173282== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173282== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173282== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173282== by 0x49908EB: curl_version_info (version.c:600) ==173282== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173282== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173282== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173282== by 0x4003269: main (tool_main.c:195) === End of file valgrind1712 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1743 ./libtest/libtests lib1742 http://127.0.0.1:32943/1743 127.0.0.1:44355 > log/4/stdout1743 2> log/4/stderr1743 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1711 ../src/curl -q --output log/24/curl1711.out --include --trace-ascii log/24/trace1711 --trace-time smtp://127.0.0.1:40147/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/email1711 > log/24/stdout1711 2> log/24/stderr1711 test 1714 [TELNET download with --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1714 ../src/curl -q --include --trace-ascii log/10/trace1714 --trace-time telnet://127.0.0.1:40913 --max-filesize 99995 log/10/stdout1714 2> log/10/stderr1714 1714: stdout FAILED: --- log/10/check-expected 2026-10-15 19:28:59.159269192 +0000 +++ log/10/check-generated 2026-10-15 19:28:59.149269161 +0000 @@ -1,5 +0,0 @@ -HTTP/1.0 200 OK swsclose[CR][LF] -Content-Length: 330000[CR][LF] -Connection: close[CR][LF] -[CR][LF] -boring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the client == Contents of files in the log/10/ directory after test 1714 === Start of file check-expected HTTP/1.0 200 OK swsclose[CR][LF] Content-Length: 330000[CR][LF] Connection: close[CR][LF] [CR][LF] boring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the clientboring data to send to the client === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1714 ../src/curl -q --include --trace-ascii log/10/trace1714 --trace-time telnet://127.0.0.1:40913 --max-filesize 99995 log/10/stdout1714 2> log/10/stderr1714 === End of file commands.log === Start of file http_server.log 19:28:56.484318 ====> Client connect 19:28:56.484362 accept_connection 3 returned 4 19:28:56.486804 Read 93 bytes 19:28:56.486825 Process 93 bytes request 19:28:56.486837 Got request: GET /verifiedserver HTTP/1.1 19:28:56.486846 Are-we-friendly question received 19:28:56.486884 Wrote request (93 bytes) input to log/10/server.input 19:28:56.486903 Identifying ourselves as friends 19:28:56.486968 Response sent (56 bytes) and written to log/10/server.response 19:28:56.486977 special request received, no persistency 19:28:56.486985 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 59148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 1714 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file stdin-for-1714 GET /this/for/1714 HTTP/1.0 === End of file stdin-for-1714 === Start of file valgrind1714 ==173377== ==173377== Process terminating with default action of signal 4 (SIGILL) ==173377== Illegal opcode at address 0x492B75F ==173377== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173377== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173377== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173377== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173377== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173377== by 0x49908EB: curl_version_info (version.c:600) ==173377== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173377== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173377== by 0x4003269: main (tool_main.c:195) === End of file valgrind1714 test 1743 [SOCKS5 CURLAUTH_ONLY rejects a proxy that selects no authentication] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1743 ./libtest/libtests lib1742 http://127.0.0.1:32943/1743 127.0.0.1:44355 > log/4/stdout1743 2> log/4/stderr1743 libtests returned 132, when expecting 97 1743: exit FAILED == Contents of files in the log/4/ directory after test 1743 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1743 ./libtest/libtests lib1742 http://127.0.0.1:32943/1743 127.0.0.1:44355 > log/4/stdout1743 2> log/4/stderr1743 === End of file commands.log === Start of file http_server.log 19:28:58.294293 ====> Client connect 19:28:58.294335 accept_connection 3 returned 4 19:28:58.294359 Read 93 bytes 19:28:58.294368 Process 93 bytes request 19:28:58.294381 Got request: GET /verifiedserver HTTP/1.1 19:28:58.294389 Are-we-friendly question received 19:28:58.294416 Wrote request (93 bytes) input to log/4/server.input 19:28:58.294432 Identifying ourselves as friends 19:28:58.294506 Response sent (57 bytes) and written to log/4/server.response 19:28:58.294515 special request received, no persistency 19:28:58.294523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 41636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd method 0 Testnum 1743 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file valgrind1743 ==174041== ==174041== Process terminating with default action of signal 4 (SIGILL) ==174041== Illegal opcode at address 0x51CC63F ==174041== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174041== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174041== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174041== by 0x40041AF: main (first.c:264) === End of file valgrind1743 test 1711 [Send >64K over SMTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1711 ../src/curl -q --output log/24/curl1711.out --include --trace-ascii log/24/trace1711 --trace-time smtp://127.0.0.1:40147/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/email1711 > log/24/stdout1711 2> log/24/stderr1711 1711: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1711 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1711 ../src/curl -q --output log/24/curl1711.out --include --trace-ascii log/24/trace1711 --trace-time smtp://127.0.0.1:40147/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/24/email1711 > log/24/stdout1711 2> log/24/stderr1711 === End of file commands.log === Start of file email1711 From: different To: another test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in bodCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1723 ../src/curl -q --output log/5/curl1723.out --include --trace-ascii log/5/trace1723 --trace-time http://127.0.0.1:37089/1723 > log/5/stdout1723 2> log/5/stderr1723 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1745 ./libtest/libtests lib1745 ftp://127.0.0.1:38033/1745 127.0.0.1:36107 > log/2/stdout1745 2> log/2/stderr1745 y... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... === End of file email1711 === Start of file server.cmd Testnum 1711 === End of file server.cmd === Start of file smtp_server.log 19:28:56.774248 ====> Client connect 19:28:56.774454 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:56.778912 < "EHLO verifiedserver" 19:28:56.778961 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:28:56.779133 < "HELP" 19:28:56.779167 > "214 WE ROOLZ: 127811[CR][LF]" 19:28:56.779181 return proof we are we 19:28:56.779369 < "QUIT" 19:28:56.780524 > "221 curl ESMTP server signing off[CR][LF]" 19:28:56.780553 MAIN sockfilt said DISC 19:28:56.780615 ====> Client disconnected 19:28:56.780692 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:28:57.376380 ====> Client connect 19:28:57.376727 Received DATA (on stdin) 19:28:57.376742 > 146 bytes data, server => client 19:28:57.376753 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:57.376762 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:57.376771 '220 \___|\___/|_| \_\_____|\r\n' 19:28:57.380974 < 21 bytes data, client => server 19:28:57.380996 'EHLO verifiedserver\r\n' 19:28:57.381222 Received DATA (on stdin) 19:28:57.381233 > 53 bytes data, server => client 19:28:57.381243 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:28:57.381302 < 6 bytes data, client => server 19:28:57.381311 'HELP\r\n' 19:28:57.381435 Received DATA (on stdin) 19:28:57.381444 > 22 bytes data, server => client 19:28:57.381453 '214 WE ROOLZ: 127811\r\n' 19:28:57.381545 < 6 bytes data, client => server 19:28:57.381555 'QUIT\r\n' 19:28:57.381630 Received DATA (on stdin) 19:28:57.381639 > 35 bytes data, server => client 19:28:57.381655 '221 curl ESMTP server signing off\r\n' 19:28:57.382732 ====> Client disconnect 19:28:57.382809 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind1711 ==173270== ==173270== Process terminating with default action of signal 4 (SIGILL) ==173270== Illegal opcode at address 0x492B75F ==173270== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173270== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173270== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173270== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173270== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173270== by 0x49908EB: curl_version_info (version.c:600) ==173270== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173270== by 0x4003269: main (tool_main.c:195) === End of file valgrind1711 test 1723 [HTTP with two chunked Transfer-Encoding not listed last] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1723 ../src/curl -q --output log/5/curl1723.out --include --trace-ascii log/5/trace1723 --trace-time http://127.0.0.1:37089/1723 > log/5/stdout1723 2> log/5/stderr1723 1723: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1723 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1723 ../src/curl -q --output log/5/curl1723.out --include --trace-ascii log/5/trace1723 --trace-time http://127.0.0.1:37089/1723 > log/5/stdout1723 2> log/5/stderr1723 === End of file commands.log === Start of file http_server.log 19:28:56.702772 ====> Client connect 19:28:56.702810 accept_connection 3 returned 4 19:28:56.702834 Read 93 bytes 19:28:56.702845 Process 93 bytes request 19:28:56.702858 Got request: GET /verifiedserver HTTP/1.1 19:28:56.702867 Are-we-friendly question received 19:28:56.702898 Wrote request (93 bytes) input to log/5/server.input 19:28:56.702916 Identifying ourselves as friends 19:28:56.702987 Response sent (56 bytes) and written to log/5/server.response 19:28:56.702998 special request received, no persistency 19:28:56.703007 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 60180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1723 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1723 ==173639== ==173639== Process terminating with default action of signal 4 (SIGILL) ==173639== Illegal opcode at address 0x492B75F ==173639== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173639== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173639== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173639== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173639== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173639== by 0x49908EB: curl_version_info (version.c:600) ==173639== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173639== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173639== by 0x4003269: main (tool_main.c:195) === End of file valgrind1723 test 1745 [SOCKS5 CURLAUTH_ONLY ignores auth done for the FTP data socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1745 ./libtest/libtests lib1745 ftp://127.0.0.1:38033/1745 127.0.0.1:36107 > log/2/stdout1745 2> log/2/stderr1745 1745: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1745 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1745 ./libtest/libtests lib1745 ftp://127.0.0.1:38033/1745 127.0.0.1:36107 > log/2/stdout1745 2> log/2/stderr1745 === End of file commands.log === Start of file ftp_server.log 19:28:57.725636 ====> Client connect 19:28:57.726058 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:57.726397 < "USER anonymous" 19:28:57.726440 > "331 We are happy you popped in![CR][LF]" 19:28:57.726625 < "PASS ftp@example.com" 19:28:57.726656 > "230 Welcome you silly person[CR][LF]" 19:28:57.726806 < "PWD" 19:28:57.726840 > "257 "/" is current dirCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1791 ./libtest/libtests lib1791 localhost > log/16/stdout1791 2> log/16/stderr1791 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1721 ../src/curl -q --output log/18/curl1721.out --include --trace-ascii log/18/trace1721 --trace-time "http://127.0.0.1:43739/hello?" -w '%output{log/18/out1721}%{url_effective}' > log/18/stdout1721 2> log/18/stderr1721 ectory[CR][LF]" 19:28:57.727007 < "EPSV" 19:28:57.727034 ====> Passive DATA channel requested by client 19:28:57.727048 DATA sockfilt for passive data channel starting... 19:28:57.729644 DATA sockfilt for passive data channel started (pid 174064) 19:28:57.729754 DATA sockfilt for passive data channel listens on port 39461 19:28:57.729796 > "229 Entering Passive Mode (|||39461|)[CR][LF]" 19:28:57.729813 Client has been notified that upcoming DATA connection is awaited on port 39461 19:28:57.730070 Client connects to port 39461 19:28:57.730102 ====> Client established passive DATA connection on port 39461 19:28:57.730178 < "TYPE I" 19:28:57.730207 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:57.730370 < "SIZE verifiedserver" 19:28:57.730409 > "213 17[CR][LF]" 19:28:57.730564 < "RETR verifiedserver" 19:28:57.730602 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:57.730696 =====> Closing passive DATA connection... 19:28:57.730714 Server disconnects passive DATA connection 19:28:57.730912 Server disconnected passive DATA connection 19:28:57.730937 DATA sockfilt for passive data channel quits (pid 174064) 19:28:57.731273 DATA sockfilt for passive data channel quit (pid 174064) 19:28:57.731300 =====> Closed passive DATA connection 19:28:57.731327 > "226 File transfer complete[CR][LF]" 19:28:57.775638 < "QUIT" 19:28:57.775694 > "221 bye bye baby[CR][LF]" 19:28:57.776753 MAIN sockfilt said DISC 19:28:57.776846 ====> Client disconnected 19:28:57.776928 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:57.327744 ====> Client connect 19:28:57.328355 Received DATA (on stdin) 19:28:57.328375 > 146 bytes data, server => client 19:28:57.328387 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:57.328396 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:57.328405 '220 \___|\___/|_| \_\_____|\r\n' 19:28:57.328491 < 16 bytes data, client => server 19:28:57.328502 'USER anonymous\r\n' 19:28:57.328697 Received DATA (on stdin) 19:28:57.328709 > 33 bytes data, server => client 19:28:57.328719 '331 We are happy you popped in!\r\n' 19:28:57.328778 < 22 bytes data, client => server 19:28:57.328788 'PASS ftp@example.com\r\n' 19:28:57.328907 Received DATA (on stdin) 19:28:57.328917 > 30 bytes data, server => client 19:28:57.328926 '230 Welcome you silly person\r\n' 19:28:57.328975 < 5 bytes data, client => server 19:28:57.328985 'PWD\r\n' 19:28:57.329092 Received DATA (on stdin) 19:28:57.329103 > 30 bytes data, server => client 19:28:57.329113 '257 "/" is current directory\r\n' 19:28:57.329175 < 6 bytes data, client => server 19:28:57.329186 'EPSV\r\n' 19:28:57.332074 Received DATA (on stdin) 19:28:57.332086 > 39 bytes data, server => client 19:28:57.332097 '229 Entering Passive Mode (|||39461|)\r\n' 19:28:57.332242 < 8 bytes data, client => server 19:28:57.332256 'TYPE I\r\n' 19:28:57.332459 Received DATA (on stdin) 19:28:57.332470 > 33 bytes data, server => client 19:28:57.332481 '200 I modify TYPE as you wanted\r\n' 19:28:57.332533 < 21 bytes data, client => server 19:28:57.332544 'SIZE verifiedserver\r\n' 19:28:57.332662 Received DATA (on stdin) 19:28:57.332672 > 8 bytes data, server => client 19:28:57.332681 '213 17\r\n' 19:28:57.332735 < 21 bytes data, client => server 19:28:57.332746 'RETR verifiedserver\r\n' 19:28:57.332968 Received DATA (on stdin) 19:28:57.332980 > 29 bytes data, server => client 19:28:57.332990 '150 Binary junk (17 bytes).\r\n' 19:28:57.333582 Received DATA (on stdin) 19:28:57.333593 > 28 bytes data, server => client 19:28:57.333603 '226 File transfer complete\r\n' 19:28:57.377677 < 6 bytes data, client => server 19:28:57.377699 'QUIT\r\n' 19:28:57.377952 Received DATA (on stdin) 19:28:57.377964 > 18 bytes data, server => client 19:28:57.377975 '221 bye bye baby\r\n' 19:28:57.378948 ====> Client disconnect 19:28:57.379027 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:57.331109 Running IPv4 version 19:28:57.331190 Listening on port 39461 19:28:57.331263 Wrote pid 174064 to log/2/server/ftp_sockdata.pid 19:28:57.331834 Received PING (on stdin) 19:28:57.331922 Received PORT (on stdin) 19:28:57.332277 ====> Client connect 19:28:57.333050 Received DATA (on stdin) 19:28:57.333063 > 17 bytes data, server => client 19:28:57.333072 'WE ROOLZ: 85208\r\n' 19:28:57.333101 Received DISC (on stdin) 19:28:57.333112 ====> Client forcibly disconnected 19:28:57.333259 Received QUIT (on stdin) 19:28:57.333271 quits 19:28:57.333358 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd method 0 method2 2 user silly password person Testnum 1745 === End of file server.cmd === Start of file valgrind1745 ==174138== ==174138== Process terminating with default action of signal 4 (SIGILL) ==174138== Illegal opcode at address 0x51CC63F ==174138== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174138== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174138== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174138== by 0x40041AF: main (first.c:264) === End of file valgrind1745 test 1791 [blank COPYPOSTFIELDS and duphandle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1791 ./libtest/libtests lib1791 localhost > log/16/stdout1791 2> log/16/stderr1791 libtests returned 132, when expecting 0 1791: exit FAILED == Contents of files in the log/16/ directory after test 1791 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1791 ./libtest/libtests lib1791 localhost > log/16/stdout1791 2> log/16/stderr1791 === End of file commands.log === Start of file server.cmd Testnum 1791 === End of file server.cmd === Start of file valgrind1791 ==174195== ==174195== Process terminating with default action of signal 4 (SIGILL) ==174195== Illegal opcode at address 0x51CC63F ==174195== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174195== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174195== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174195== by 0x40041AF: main (first.c:264) === End of file valgrind1791 test 1721 [Keep question mark for empty query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1721 ../src/curl -q --output log/18/curl1721.out --include --trace-ascii log/18/trace1721 --trace-time "http://127.0.0.1:43739/hello?" -w '%output{log/18/out1721}%{url_effective}' > log/18/stdout1721 2> log/18/stderr1721 1721: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1721 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1721 ../src/curl -q --output log/18/curl1721.out --include --trace-ascii log/18/trace1721 --trace-time "http://127.0.0.1:43739/hello?" -w '%output{log/18/out1721}%{url_effective}' > log/18/stdout1721 2> log/18/stderr1721 === End of file commands.log === Start of file http_server.log 19:28:57.660962 ====> Client connect 19:28:57.661021 accept_connection 3 returned 4 19:28:57.661048 Read 93 bytes 19:28:57.661060 Process 93 bytes request 19:28:57.661073 Got request: GET /verifiedserver HTTP/1.1 19:28:57.661082 Are-we-friendly question received 19:28:57.661113 Wrote request (93 bytes) input to log/18/server.input 19:28:57.661130 Identifying ourselves as friends 19:28:57.661205 Response sent (56 bytes) and written to log/18/server.response 19:28:57.661217 special request received, no persistency 19:28:57.661226 ====> ClieCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1722 ../src/curl -q --output log/22/curl1722.out --include --trace-ascii log/22/trace1722 --trace-time http://127.0.0.1:35989/1722 > log/22/stdout1722 2> log/22/stderr1722 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1715 ../src/curl -q --output log/15/curl1715.out --include --trace-ascii log/15/trace1715 --trace-time http://test.example --proxy http://127.0.0.1:40321 --proxytunnel -sS > log/15/stdout1715 2> log/15/stderr1715 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1742 ./libtest/libtests lib1742 http://127.0.0.1:38821/1742 127.0.0.1:41949 > log/13/stdout1742 2> log/13/stderr1742 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1713 ../src/curl -q --output log/8/curl1713.out --include --trace-ascii log/8/trace1713 --trace-time http://invalid.invalid/1713 --alt-svc log/8 --cookie log/8 --hsts log/8 --netrc-file log/8 > log/8/stdout1713 2> log/8/stderr1713 nt disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1721 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1721 ==173606== ==173606== Process terminating with default action of signal 4 (SIGILL) ==173606== Illegal opcode at address 0x492B75F ==173606== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173606== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173606== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173606== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173606== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173606== by 0x49908EB: curl_version_info (version.c:600) ==173606== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173606== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173606== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173606== by 0x4003269: main (tool_main.c:195) === End of file valgrind1721 test 1722 [HTTP with chunked Transfer-Encoding not listed last] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1722 ../src/curl -q --output log/22/curl1722.out --include --trace-ascii log/22/trace1722 --trace-time http://127.0.0.1:35989/1722 > log/22/stdout1722 2> log/22/stderr1722 1722: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 1722 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1722 ../src/curl -q --output log/22/curl1722.out --include --trace-ascii log/22/trace1722 --trace-time http://127.0.0.1:35989/1722 > log/22/stdout1722 2> log/22/stderr1722 === End of file commands.log === Start of file http_server.log 19:28:56.653458 ====> Client connect 19:28:56.653490 accept_connection 3 returned 4 19:28:56.653510 Read 93 bytes 19:28:56.653519 Process 93 bytes request 19:28:56.653531 Got request: GET /verifiedserver HTTP/1.1 19:28:56.653540 Are-we-friendly question received 19:28:56.653569 Wrote request (93 bytes) input to log/22/server.input 19:28:56.653585 Identifying ourselves as friends 19:28:56.654816 Response sent (56 bytes) and written to log/22/server.response 19:28:56.654830 special request received, no persistency 19:28:56.654838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 47012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1722 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1722 ==173602== ==173602== Process terminating with default action of signal 4 (SIGILL) ==173602== Illegal opcode at address 0x492B75F ==173602== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173602== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173602== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173602== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173602== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173602== by 0x49908EB: curl_version_info (version.c:600) ==173602== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173602== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173602== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173602== by 0x4003269: main (tool_main.c:195) === End of file valgrind1722 test 1715 [HTTP CONNECT with proxy returning Content-Length and chunked] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1715 ../src/curl -q --output log/15/curl1715.out --include --trace-ascii log/15/trace1715 --trace-time http://test.example --proxy http://127.0.0.1:40321 --proxytunnel -sS > log/15/stdout1715 2> log/15/stderr1715 1715: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1715 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1715 ../src/curl -q --output log/15/curl1715.out --include --trace-ascii log/15/trace1715 --trace-time http://test.example --proxy http://127.0.0.1:40321 --proxytunnel -sS > log/15/stdout1715 2> log/15/stderr1715 === End of file commands.log === Start of file http_server.log 19:28:57.597628 ====> Client connect 19:28:57.597673 accept_connection 3 returned 4 19:28:57.597695 Read 93 bytes 19:28:57.597705 Process 93 bytes request 19:28:57.597718 Got request: GET /verifiedserver HTTP/1.1 19:28:57.597727 Are-we-friendly question received 19:28:57.597755 Wrote request (93 bytes) input to log/15/server.input 19:28:57.597773 Identifying ourselves as friends 19:28:57.597846 Response sent (56 bytes) and written to log/15/server.response 19:28:57.597856 special request received, no persistency 19:28:57.597865 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 49518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1715 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1715 ==173536== ==173536== Process terminating with default action of signal 4 (SIGILL) ==173536== Illegal opcode at address 0x492B75F ==173536== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173536== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173536== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173536== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173536== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173536== by 0x49908EB: curl_version_info (version.c:600) ==173536== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173536== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173536== by 0x4003269: main (tool_main.c:195) === End of file valgrind1715 test 1742 [SOCKS5 CURLAUTH_ONLY does not offerCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1724 ../src/curl -q --output log/20/curl1724.out --include --trace-ascii log/20/trace1724 --trace-time --ipfs-gateway http://127.0.0.1:41689 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u --proto-default http > log/20/stdout1724 2> log/20/stderr1724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1741 ../src/curl -q --include --trace-ascii log/17/trace1741 --trace-time http://127.0.0.1:35993/1741 -X POST -d foo -o log/17/out1741 --no-progress-meter -w '%{stderr}done\n' > log/17/stdout1741 2> log/17/stderr1741 the no authentication method] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1742 ./libtest/libtests lib1742 http://127.0.0.1:38821/1742 127.0.0.1:41949 > log/13/stdout1742 2> log/13/stderr1742 1742: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1742 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1742 ./libtest/libtests lib1742 http://127.0.0.1:38821/1742 127.0.0.1:41949 > log/13/stdout1742 2> log/13/stderr1742 === End of file commands.log === Start of file http_server.log 19:28:57.277269 ====> Client connect 19:28:57.277306 accept_connection 3 returned 4 19:28:57.277326 Read 93 bytes 19:28:57.277335 Process 93 bytes request 19:28:57.277349 Got request: GET /verifiedserver HTTP/1.1 19:28:57.277357 Are-we-friendly question received 19:28:57.277383 Wrote request (93 bytes) input to log/13/server.input 19:28:57.277400 Identifying ourselves as friends 19:28:57.277459 Response sent (56 bytes) and written to log/13/server.response 19:28:57.277468 special request received, no persistency 19:28:57.277476 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 57568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd method 2 user silly password person nmethods_min 1 nmethods_max 1 Testnum 1742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1742 ==174038== ==174038== Process terminating with default action of signal 4 (SIGILL) ==174038== Illegal opcode at address 0x51CC63F ==174038== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174038== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174038== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174038== by 0x40041AF: main (first.c:264) === End of file valgrind1742 test 1713 [Filenames pointing to directory failing gracefully] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1713 ../src/curl -q --output log/8/curl1713.out --include --trace-ascii log/8/trace1713 --trace-time http://invalid.invalid/1713 --alt-svc log/8 --cookie log/8 --hsts log/8 --netrc-file log/8 > log/8/stdout1713 2> log/8/stderr1713 curl returned 132, when expecting 26 1713: exit FAILED == Contents of files in the log/8/ directory after test 1713 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1713 ../src/curl -q --output log/8/curl1713.out --include --trace-ascii log/8/trace1713 --trace-time http://invalid.invalid/1713 --alt-svc log/8 --cookie log/8 --hsts log/8 --netrc-file log/8 > log/8/stdout1713 2> log/8/stderr1713 === End of file commands.log === Start of file server.cmd Testnum 1713 === End of file server.cmd === Start of file valgrind1713 ==173277== ==173277== Process terminating with default action of signal 4 (SIGILL) ==173277== Illegal opcode at address 0x492B75F ==173277== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173277== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173277== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173277== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173277== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173277== by 0x49908EB: curl_version_info (version.c:600) ==173277== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173277== by 0x4003269: main (tool_main.c:195) === End of file valgrind1713 test 1724 [IPFS with --proto-default HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1724 ../src/curl -q --output log/20/curl1724.out --include --trace-ascii log/20/trace1724 --trace-time --ipfs-gateway http://127.0.0.1:41689 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u --proto-default http > log/20/stdout1724 2> log/20/stderr1724 1724: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1724 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1724 ../src/curl -q --output log/20/curl1724.out --include --trace-ascii log/20/trace1724 --trace-time --ipfs-gateway http://127.0.0.1:41689 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u --proto-default http > log/20/stdout1724 2> log/20/stderr1724 === End of file commands.log === Start of file http_server.log 19:28:57.034344 ====> Client connect 19:28:57.034377 accept_connection 3 returned 4 19:28:57.034399 Read 93 bytes 19:28:57.034409 Process 93 bytes request 19:28:57.034422 Got request: GET /verifiedserver HTTP/1.1 19:28:57.034430 Are-we-friendly question received 19:28:57.034462 Wrote request (93 bytes) input to log/20/server.input 19:28:57.034478 Identifying ourselves as friends 19:28:57.034545 Response sent (57 bytes) and written to log/20/server.response 19:28:57.034555 special request received, no persistency 19:28:57.034563 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 53842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 1724 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind1724 ==173837== ==173837== Process terminating with default action of signal 4 (SIGILL) ==173837== Illegal opcode at address 0x492B75F ==173837== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173837== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173837== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173837== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173837== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173837== by 0x49908EB: curl_version_info (version.c:600) ==173837== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173837== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173837== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173837== by 0x4003269: main (tool_main.c:195) === End of file valgrind1724 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1740 ../src/curl -q --include --trace-ascii log/3/trace1740 --trace-time http://127.0.0.1:36161/1740 --silent -X POST -d foo -o log/3/out1740 -w '%{stderr}done\n' > log/3/stdout1740 2> log/3/stderr1740 setenv COLUMNS = 10000 test 1741 [Note: messages are shown when verbose without --silent] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1741 ../src/curl -q --include --trace-ascii log/17/trace1741 --trace-time http://127.0.0.1:35993/1741 -X POST -d foo -o log/17/out1741 --no-progress-meter -w '%{stderr}done\n' > log/17/stdout1741 2> log/17/stderr1741 1741: stderr FAILED: --- log/17/check-expected 2026-10-15 19:28:59.773851531 +0000 +++ log/17/check-generated 2026-10-15 19:28:59.769271061 +0000 @@ -1,2 +0,0 @@ -Note: Unnecessary use of -X or --request, POST is already inferred.[CR][LF] -done[CR][LF] == Contents of files in the log/17/ directory after test 1741 === Start of file check-expected Note: Unnecessary use of -X or --request, POST is already inferred.[CR][LF] done[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1741 ../src/curl -q --include --trace-ascii log/17/trace1741 --trace-time http://127.0.0.1:35993/1741 -X POST -d foo -o log/17/out1741 --no-progress-meter -w '%{stderr}done\n' > log/17/stdout1741 2> log/17/stderr1741 === End of file commands.log === Start of file http_server.log 19:28:58.194301 ====> Client connect 19:28:58.194349 accept_connection 3 returned 4 19:28:58.194376 Read 93 bytes 19:28:58.194385 Process 93 bytes request 19:28:58.194397 Got request: GET /verifiedserver HTTP/1.1 19:28:58.194406 Are-we-friendly question received 19:28:58.194433 Wrote request (93 bytes) input to log/17/server.input 19:28:58.194449 Identifying ourselves as friends 19:28:58.194537 Response sent (56 bytes) and written to log/17/server.response 19:28:58.194547 special request received, no persistency 19:28:58.194555 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 38382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1741 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1741 ==173943== ==173943== Process terminating with default action of signal 4 (SIGILL) ==173943== Illegal opcode at address 0x492B75F ==173943== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173943== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173943== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173943== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173943== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173943== by 0x49908EB: curl_version_info (version.c:600) ==173943== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173943== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173943== by 0x4003269: main (tool_main.c:195) === End of file valgrind1741 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1800 ../src/curl -q --output log/12/curl1800.out --include --trace-ascii log/12/trace1800 --trace-time http://127.0.0.1:40921/1800 --http2 > log/12/stdout1800 2> log/12/stderr1800 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1827 ../src/curl -q --output log/14/curl1827.out --include --trace-ascii log/14/trace1827 --trace-time http://test.anything.really.com:1827 --proxy 127.0.0.1:45467 --proxytunnel > log/14/stdout1827 2> log/14/stderr1827 setenv COLUMNS = 10000 test 1740 [--silent suppresses Note: messages when verbose] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1740 ../src/curl -q --include --trace-ascii log/3/trace1740 --trace-time http://127.0.0.1:36161/1740 --silent -X POST -d foo -o log/3/out1740 -w '%{stderr}done\n' > log/3/stdout1740 2> log/3/stderr1740 1740: stderr FAILED: --- log/3/check-expected 2026-10-15 19:28:59.896939452 +0000 +++ log/3/check-generated 2026-10-15 19:28:59.895684875 +0000 @@ -1 +0,0 @@ -done[CR][LF] == Contents of files in the log/3/ directory after test 1740 === Start of file check-expected done[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1740 ../src/curl -q --include --trace-ascii log/3/trace1740 --trace-time http://127.0.0.1:36161/1740 --silent -X POST -d foo -o log/3/out1740 -w '%{stderr}done\n' > log/3/stdout1740 2> log/3/stderr1740 === End of file commands.log === Start of file http_server.log 19:28:58.070983 ====> Client connect 19:28:58.071027 accept_connection 3 returned 4 19:28:58.071051 Read 93 bytes 19:28:58.071061 Process 93 bytes request 19:28:58.071074 Got request: GET /verifiedserver HTTP/1.1 19:28:58.071082 Are-we-friendly question received 19:28:58.071109 Wrote request (93 bytes) input to log/3/server.input 19:28:58.071127 Identifying ourselves as friends 19:28:58.071210 Response sent (56 bytes) and written to log/3/server.response 19:28:58.071222 special request received, no persistency 19:28:58.071230 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 47580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1740 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1740 ==173861== ==173861== Process terminating with default action of signal 4 (SIGILL) ==173861== Illegal opcode at address 0x492B75F ==173861== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==173861== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==173861== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==173861== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==173861== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==173861== by 0x49908EB: curl_version_info (version.c:600) ==173861== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==173861== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==173861== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==173861== by 0x4003269: main (tool_main.c:195) === End of file valgrind1740 test 1800 [HTTP/2 upgrade refused] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1800 ../src/curl -q --output log/12/curl1800.out --include --trace-ascii log/12/trace1800 --trace-time http://127.0.0.1:40921/1800 --http2 > log/12/stdout1800 2> log/12/stderr1800 1800: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1800 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1800 ../src/curl -q --output log/12/curl1800.out --include --trace-ascii log/12/trace1800 --trace-time http://127.0.0.1:40921/1800 --http2 > log/12/stdout1800 2> log/12/stderr1800 === End of file commands.log === Start of file http_server.log 19:28:57.544309 ====> Client connect 19:28:57.544355 accept_connection 3 returned 4 19:28:57.544380 Read 93 bytes 19:28:57.544389 Process 93 bytes request 19:28:57.544402 Got request: GET /verifiedserver HTTP/1.1 19:28:57.544410 Are-we-friendly question received 19:28:57.544436 Wrote request (93 bytes) input to log/12/server.input 19:28:57.544451 Identifying ourselves as friends 19:28:57.544542 Response sent (56 bytes) and written to log/12/server.response 19:28:57.544550 special request received, no persistency 19:28:57.544558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 1800 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1800 ==174310== ==174310== Process terminating with default action of signal 4 (SIGILL) ==174310== Illegal opcode at address 0x492B75F ==174310== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174310== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174310== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174310== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174310== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174310== by 0x49908EB: curl_version_info (version.c:600) ==174310== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174310== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174310== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174310== by 0x4003269: main (tool_main.c:195) === End of file valgrind1800 test 1827 [HTTP CONNECT with faked status line header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1827 ../src/curl -q --output log/14/curl1827.out --include --trace-ascii log/14/trace1827 --trace-time http://test.anything.really.com:1827 --proxy 127.0.0.1:45467 --proxytunnel > log/14/stdout1827 2> log/14/stderr1827 1827: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1827 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1827 ../src/curl -q --output log/14/curl1827.out --include --trace-ascii log/14/trace1827 --trace-time http://test.anything.really.com:1827 --proxy 127.0.0.1:45467 --proxytunnel > log/14/stdout1827 2> log/14/stderr1827 === End of file commands.log === Start of file http_server.log 19:28:57.816396 ====> Client connect 19:28:57.816442 accept_connection 3 returned 4 19:28:57.816470 Read 93 bytes 19:28:57.816480 Process 93 bytes request 19:28:57.816494 Got request: GET /verifiedserver HTTP/1.1 19:28:57.816503 Are-we-friendly question received 19:28:57.816536 Wrote request (93 bytes) input to log/14/server.input 19:28:57.816555 Identifying ourselves as friends 19:28:57.816647 ResponCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:38895/boom > log/24/stdout1901 2> log/24/stderr1901 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/10/stdout1900 2> log/10/stderr1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:37089/we/want/1903 log/5/cookies1903 log/5/cookiesout1903 > log/5/stdout1903 2> log/5/stderr1903 se sent (56 bytes) and written to log/14/server.response 19:28:57.816660 special request received, no persistency 19:28:57.816669 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 59370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 1827 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind1827 ==174442== ==174442== Process terminating with default action of signal 4 (SIGILL) ==174442== Illegal opcode at address 0x492B75F ==174442== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174442== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174442== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174442== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174442== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174442== by 0x49908EB: curl_version_info (version.c:600) ==174442== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174442== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174442== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174442== by 0x4003269: main (tool_main.c:195) === End of file valgrind1827 test 1901 [Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:38895/boom > log/24/stdout1901 2> log/24/stderr1901 1901: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1901 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:38895/boom > log/24/stdout1901 2> log/24/stderr1901 === End of file commands.log === Start of file http_server.log 19:28:58.907830 ====> Client connect 19:28:58.907871 accept_connection 3 returned 4 19:28:58.907896 Read 93 bytes 19:28:58.907907 Process 93 bytes request 19:28:58.907921 Got request: GET /verifiedserver HTTP/1.1 19:28:58.907930 Are-we-friendly question received 19:28:58.907961 Wrote request (93 bytes) input to log/24/server.input 19:28:58.907980 Identifying ourselves as friends 19:28:58.908058 Response sent (56 bytes) and written to log/24/server.response 19:28:58.908072 special request received, no persistency 19:28:58.908081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 39874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 1901 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind1901 ==174950== ==174950== Process terminating with default action of signal 4 (SIGILL) ==174950== Illegal opcode at address 0x51CC63F ==174950== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174950== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174950== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174950== by 0x40041AF: main (first.c:264) === End of file valgrind1901 test 1900 [HSTS curl_easy_duphandle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/10/stdout1900 2> log/10/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/10/ directory after test 1900 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/10/stdout1900 2> log/10/stderr1900 === End of file commands.log === Start of file server.cmd Testnum 1900 === End of file server.cmd === Start of file valgrind1900 ==174834== ==174834== Process terminating with default action of signal 4 (SIGILL) ==174834== Illegal opcode at address 0x51CC63F ==174834== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174834== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174834== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174834== by 0x40041AF: main (first.c:264) === End of file valgrind1900 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1902 ./libtest/libtests lib1902 log/4/cookie1902 > log/4/stdout1902 2> log/4/stderr1902 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1848 ../src/curl -q --output log/9/curl1848.out --include --trace-ascii log/9/trace1848 --trace-time 'imap://127.0.0.1:38847/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/9/stdout1848 2> log/9/stderr1848 test 1903 [CURLOPT_COOKIEFILE then reset then set again] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:37089/we/want/1903 log/5/cookies1903 log/5/cookiesout1903 > log/5/stdout1903 2> log/5/stderr1903 1903: output (log/5/cookiesout1903) FAILED: --- log/5/check-expected 2026-10-15 19:29:00.734512367 +0000 +++ log/5/check-generated 2026-10-15 19:29:00.729273275 +0000 @@ -1,6 +0,0 @@ -# Netscape HTTP Cookie File[CR][LF] -# https://curl.se/docs/http-cookies.html[CR][LF] -# This file was generated by libcurl! Edit at your own risk.[CR][LF] -[CR][LF] -127.0.0.1%09FALSE%09/we/want%09FALSE%090%09foobar%09name[CR][LF] -127.0.0.1%09FALSE%09/we/want%09FALSE%090%09secondcookie%09present[CR][LF] == Contents of files in the log/5/ directory after test 1903 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/we/want%09FALSE%090%09foobar%09name[CR][LF] 127.0.0.1%09FALSE%09/we/want%09FALSE%090%09secondcookie%09present[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:37089/we/want/1903 log/5/cookies1903 log/5/cookiesout1903 > log/5/stdout1903 2> log/5/stderr1903 === End of file commands.log === Start of file cookies1903 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. 127.0.0.1 FALSE /we/want/ FALSE 0 secondcookie present 127.0.0.1 FALSE /we/want/ FALSE 0 foobar name === End of file cookies1903 === Start of file http_server.log 19:28:58.963163 ====> Client connect 19:28:58.963201 accept_connection 3 returned 4 19:28:58.963224 Read 93 bytes 19:28:58.963234 Process 93 bytes request 19:28:58.963246 Got request: GET /verifiedserver HTTP/1.1 19:28:58.963255 Are-we-friendly question received 19:28:58.963286 Wrote request (93 bytes) input to log/5/server.input 19:28:58.963305 Identifying ourselves as friends 19:28:58.963385 Response sent (56 bytes) and written to log/5/server.response 19:28:58.963397 special request received, no persistency 19:28:58.963405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 60182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1903 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1903 ==175064== ==175064== Process terminating with default action of signal 4 (SIGILL) ==175064== Illegal opcode at address 0x51CC63F ==175064== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175064== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175064== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175064== by 0x40041AF: main (first.c:264) === End of file valgrind1903 test 1902 [set COOKIEFILE and COOKIEJAR but make no transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1902 ./libtest/libtests lib1902 log/4/cookie1902 > log/4/stdout1902 2> log/4/stderr1902 libtests returned 132, when expecting 0 1902: exit FAILED == Contents of files in the log/4/ directory after test 1902 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1902 ./libtest/libtests lib1902 log/4/cookie1902 > log/4/stdout1902 2> log/4/stderr1902 === End of file commands.log === Start of file cookie1902 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. example.com FALSE / FALSE 0 has_js 1 === End of file cookie1902 === Start of file server.cmd Testnum 1902 === End of file server.cmd === Start of file valgrind1902 ==174840== ==174840== Process terminating with default action of signal 4 (SIGILL) ==174840== Illegal opcode at address 0x51CC63F ==174840== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==174840== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==174840== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==174840== by 0x40041AF: main (first.c:264) === End of file valgrind1902 test 1848 [IMAP FETCH message with custom request to get list of email.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1848 ../src/curl -q --output log/9/curl1848.out --include --trace-ascii log/9/trace1848 --trace-time 'imap://127.0.0.1:38847/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/9/stdout1848 2> log/9/stderr1848 1848: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1848 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1848 ../src/curl -q --output log/9/curl1848.out --include --trace-ascii log/9/trace1848 --trace-time 'imap://127.0.0.1:38847/1848' --request 'UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])' -u '"user:sec"ret{' > log/9/stdout1848 2> log/9/stderr1848 === End of file commands.log === Start of file imap_server.log 19:28:58.652162 ====> Client connect 19:28:58.652410 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:28:58.658931 < "A001 CAPABILITY" 19:28:58.658992 > "A001 BAD Command[CR][LF]" 19:28:58.662301 < "A002 LIST "verifiedserver" *" 19:28:58.662355 LIST_imap got "verifiedserver" * 19:28:58.662396 > "* LIST () "/" "WE ROOLZ: 113573"[CR][LF]" 19:28:58.662422 > "A002 OK LIST Completed[CR][LF]" 19:28:58.662439 return proof we are we 19:28:58.709029 < "A003 LOGOUT" 19:28:58.709091 > "* BYE curl IMAP server signing off[CR][LF]" 19:28:58.709114 > "A003 OK LOGOUT completed[CR][LF]" 19:28:58.710523 MAIN sockfilt said DISC 19:28:58.710565 ====> Client disconnected 19:28:58.710664 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:58.254252 ====> Client connect 19:28:58.254691 Received DATA (on stdin) 19:28:58.254711 > 164 bytes data, server => client 19:28:58.254724 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:58.254734 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:58.254744 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:28:58.260931 < 17 bytes data, client => server 19:28:58.260963 'A001 CAPABILITY\r\n' 19:28:58.261260 Received DATA (on stdin) 19:28:58.261275 > 18 bytes data, server => client 19:28:58.261286 'A001 BCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1911 ./libtest/libtests lib1911 - > log/8/stdout1911 2> log/8/stderr1911 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43739/1906 > log/18/stdout1906 2> log/18/stderr1906 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:35903/we/want/1905 log/16/cookies1905 > log/16/stdout1905 2> log/16/stderr1905 AD Command\r\n' 19:28:58.264338 < 30 bytes data, client => server 19:28:58.264372 'A002 LIST "verifiedserver" *\r\n' 19:28:58.264691 Received DATA (on stdin) 19:28:58.264705 > 34 bytes data, server => client 19:28:58.264715 '* LIST () "/" "WE ROOLZ: 113573"\r\n' 19:28:58.264772 Received DATA (on stdin) 19:28:58.264787 > 24 bytes data, server => client 19:28:58.264798 'A002 OK LIST Completed\r\n' 19:28:58.311039 < 13 bytes data, client => server 19:28:58.311079 'A003 LOGOUT\r\n' 19:28:58.311369 Received DATA (on stdin) 19:28:58.311383 > 36 bytes data, server => client 19:28:58.311393 '* BYE curl IMAP server signing off\r\n' 19:28:58.311421 Received DATA (on stdin) 19:28:58.311432 > 26 bytes data, server => client 19:28:58.311442 'A003 OK LOGOUT completed\r\n' 19:28:58.312714 ====> Client disconnect 19:28:58.312925 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1848 === End of file server.cmd === Start of file valgrind1848 ==174625== ==174625== Process terminating with default action of signal 4 (SIGILL) ==174625== Illegal opcode at address 0x492B75F ==174625== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174625== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174625== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174625== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174625== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174625== by 0x49908EB: curl_version_info (version.c:600) ==174625== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174625== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174625== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174625== by 0x4003269: main (tool_main.c:195) === End of file valgrind1848 test 1911 [verify that curl_easy_setopt() rejects too long string inputs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1911 ./libtest/libtests lib1911 - > log/8/stdout1911 2> log/8/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/8/ directory after test 1911 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1911 ./libtest/libtests lib1911 - > log/8/stdout1911 2> log/8/stderr1911 === End of file commands.log === Start of file server.cmd Testnum 1911 === End of file server.cmd === Start of file valgrind1911 ==175248== ==175248== Process terminating with default action of signal 4 (SIGILL) ==175248== Illegal opcode at address 0x51CC63F ==175248== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175248== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175248== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175248== by 0x40041AF: main (first.c:264) === End of file valgrind1911 test 1906 [CURLOPT_CURLU and CURLOPT_PORT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43739/1906 > log/18/stdout1906 2> log/18/stderr1906 1906: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1906 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:43739/1906 > log/18/stdout1906 2> log/18/stderr1906 === End of file commands.log === Start of file http_server.log 19:29:00.141560 ====> Client connect 19:29:00.141605 accept_connection 3 returned 4 19:29:00.141632 Read 93 bytes 19:29:00.141643 Process 93 bytes request 19:29:00.141658 Got request: GET /verifiedserver HTTP/1.1 19:29:00.141671 Are-we-friendly question received 19:29:00.141702 Wrote request (93 bytes) input to log/18/server.input 19:29:00.141720 Identifying ourselves as friends 19:29:00.141813 Response sent (56 bytes) and written to log/18/server.response 19:29:00.141824 special request received, no persistency 19:29:00.141831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1906 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1906 ==175220== ==175220== Process terminating with default action of signal 4 (SIGILL) ==175220== Illegal opcode at address 0x51CC63F ==175220== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175220== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175220== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175220== by 0x40041AF: main (first.c:264) === End of file valgrind1906 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 49003 --port2 36133 --nghttpx "nghttpx" --pidfile "log/19/server/http_v2_server.pid" --logfile "log/19/http_v2_server.log" --logdir "log/19" --connect 127.0.0.1:37077 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1702 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 37417 --port2 39399 --nghttpx "nghttpx" --pidfile "log/23/server/http_v2_server.pid" --logfile "log/23/http_v2_server.log" --logdir "log/23" --connect 127.0.0.1:44711 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 1700 SKIPPED: failed starting HTTP/2 server test 1905 [CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:35903/we/want/1905 log/16/cookies1905 > log/16/stdout1905 2> log/16/stderr1905 1905: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 1905 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:35903/we/want/1905 log/16/cookies1905 > log/16/stdout1905 2> log/16/stderr1905 === End of file commands.log === Start of file http_server.log 19:29:00.046501 ====> Client connect 19:29:00.046534 accept_connection 3 returned 4 19:29:00.046553 Read 93 bytes 19:29:00.046562 Process 93 bytes request 19:29:00.046575 Got request: GET /verifiedserver HTTP/1.1 19:29:00.046583 Are-we-friendly question received 19:29:00.046607 Wrote request (93 bytes) input to log/16/server.input 19:29:00.046622 Identifying ourselves as friends 19:29:00.046679 Response sent (56 bytes) and written to log/16/server.response 19:29:00.046688 special request received, no persistency 19:29:00.046696 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1802 ../src/curl -q --output log/11/curl1802.out --include --trace-ascii log/11/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40989 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/11/stdout1802 2> log/11/stderr1802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1847 ../src/curl -q --output log/21/curl1847.out --include --trace-ascii log/21/trace1847 --trace-time 'imap://127.0.0.1:39665/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/21/stdout1847 2> log/21/stderr1847 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1877 ../src/curl -q --trace-ascii log/1/trace1877 --trace-time http://127.0.0.1:38815/1877 --netrc-optional --netrc-file log/1/netrc -w 'REDIRECT_URL=%{redirect_url}\n' > log/1/stdout1877 2> log/1/stderr1877 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 39610 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1905 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1905 ==175146== ==175146== Process terminating with default action of signal 4 (SIGILL) ==175146== Illegal opcode at address 0x51CC63F ==175146== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175146== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175146== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175146== by 0x40041AF: main (first.c:264) === End of file valgrind1905 test 1802 [HTTP CONNECT with custom headers for proxy and server] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1802 ../src/curl -q --output log/11/curl1802.out --include --trace-ascii log/11/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40989 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/11/stdout1802 2> log/11/stderr1802 1802: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 1802 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1802 ../src/curl -q --output log/11/curl1802.out --include --trace-ascii log/11/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:40989 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/11/stdout1802 2> log/11/stderr1802 === End of file commands.log === Start of file http_server.log 19:28:57.760950 ====> Client connect 19:28:57.760989 accept_connection 3 returned 4 19:28:57.761014 Read 93 bytes 19:28:57.761028 Process 93 bytes request 19:28:57.761041 Got request: GET /verifiedserver HTTP/1.1 19:28:57.761050 Are-we-friendly question received 19:28:57.761081 Wrote request (93 bytes) input to log/11/server.input 19:28:57.761100 Identifying ourselves as friends 19:28:57.761175 Response sent (56 bytes) and written to log/11/server.response 19:28:57.761187 special request received, no persistency 19:28:57.761196 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 49414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 1802 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1802 ==174420== ==174420== Process terminating with default action of signal 4 (SIGILL) ==174420== Illegal opcode at address 0x492B75F ==174420== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174420== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174420== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174420== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174420== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174420== by 0x49908EB: curl_version_info (version.c:600) ==174420== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174420== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174420== by 0x4003269: main (tool_main.c:195) === End of file valgrind1802 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:35989/hello/../1907 > log/22/stdout1907 2> log/22/stderr1907 test 1877 [verify no credentials present in redirect URL after redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1877 ../src/curl -q --trace-ascii log/1/trace1877 --trace-time http://127.0.0.1:38815/1877 --netrc-optional --netrc-file log/1/netrc -w 'REDIRECT_URL=%{redirect_url}\n' > log/1/stdout1877 2> log/1/stderr1877 1877: stdout FAILED: --- log/1/check-expected 2026-10-15 19:29:01.265962099 +0000 +++ log/1/check-generated 2026-10-15 19:29:01.262607453 +0000 @@ -1 +0,0 @@ -REDIRECT_URL=http://127.0.0.1:38815/18770002[LF] == Contents of files in the log/1/ directory after test 1877 === Start of file check-expected REDIRECT_URL=http://127.0.0.1:38815/18770002[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1877 ../src/curl -q --trace-ascii log/1/trace1877 --trace-time http://127.0.0.1:38815/1877 --netrc-optional --netrc-file log/1/netrc -w 'REDIRECT_URL=%{redirect_url}\n' > log/1/stdout1877 2> log/1/stderr1877 === End of file commands.log === Start of file http_server.log 19:28:59.757631 ====> Client connect 19:28:59.757669 accept_connection 3 returned 4 19:28:59.757690 Read 93 bytes 19:28:59.757700 Process 93 bytes request 19:28:59.757713 Got request: GET /verifiedserver HTTP/1.1 19:28:59.757722 Are-we-friendly question received 19:28:59.757748 Wrote request (93 bytes) input to log/1/server.input 19:28:59.757764 Identifying ourselves as friends 19:28:59.757824 Response sent (56 bytes) and written to log/1/server.response 19:28:59.757833 special request received, no persistency 19:28:59.757841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 51998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file netrc machine 127.0.0.1 login netrcuser password netrcSECRET123 === End of file netrc === Start of file server.cmd Testnum 1877 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1877 ==174820== ==174820== Process terminating with default action of signal 4 (SIGILL) ==174820== Illegal opcode at address 0x492B75F ==174820== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174820== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174820== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174820== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174820== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174820== by 0x49908EB: curl_version_info (version.c:600) ==174820== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174820== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174820== by 0x4003269: main (tool_main.c:195) === End of file valgrind1877 test 1847 [IMAP FETCH message with custom request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1847 ../src/curl -q --output log/21/curl1847.out --include --trace-ascii log/21/trace1847 --trace-time 'imap://127.0.0.1:39665/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/21/stdout1847 2> log/21/stderr1847 1847: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 1847 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1847 ../src/curl -q --output log/21/curl1847.out --include --trace-ascii log/21/trace1847 --trace-time 'imap://127.0.0.1:39665/1847' --request 'UID FETCH 1 BODY[]' -u '"user:sec"ret{' > log/21/stdout1847 2> log/21/stderr1847 === End of file commands.log === Start of file imap_server.log 19:28:58.435506 ====> Client connect 19:28:58.435739 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:28:58.439712 < "A001 CAPABILITY" 19:28:58.439767 > "A001 BAD Command[CR][LF]" 19:28:58.440037 < "A002 LIST "verifiedserver" *" 19:28:58.440071 LIST_imap got "verifiedserver" * 19:28:58.440101 > "* LIST () "/" "WE ROOLZ: 122217"[CR][LF]" 19:28:58.440122 > "A002 OK LIST Completed[CR][LF]" 19:28:58.440137 return proof we are we 19:28:58.485712 < "A003 LOGOUT" 19:28:58.485784 > "* BYE curl IMAP server signing off[CR][LF]" 19:28:58.485816 > "A003 OK LOGOUT completed[CR][LF]" 19:28:58.495364 MAIN sockfilt said DISC 19:28:58.495442 ====> Client disconnected 19:28:58.495545 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:28:58.037584 ====> Client connect 19:28:58.038020 Received DATA (on stdin) 19:28:58.038041 > 164 bytes data, server => client 19:28:58.038054 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:28:58.038064 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:28:58.038074 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:28:58.041733 < 17 bytes data, client => server 19:28:58.041762 'A001 CAPABILITY\r\n' 19:28:58.042027 Received DATA (on stdin) 19:28:58.042041 > 18 bytes data, server => client 19:28:58.042051 'A001 BAD Command\r\n' 19:28:58.042158 < 30 bytes data, client => server 19:28:58.042175 'A002 LIST "verifiedserver" *\r\n' 19:28:58.042390 Received DATA (on stdin) 19:28:58.042402 > 34 bytes data, server => client 19:28:58.042411 '* LIST () "/" "WE ROOLZ: 122217"\r\n' 19:28:58.042435 Received DATA (on stdin) 19:28:58.042444 > 24 bytes data, server => client 19:28:58.042453 'A002 OK LIST Completed\r\n' 19:28:58.087721 < 13 bytes data, client => server 19:28:58.087765 'A003 LOGOUT\r\n' 19:28:58.088076 Received DATA (on stdin) 19:28:58.088093 > 36 bytes data, server => client 19:28:58.088104 '* BYE curl IMAP server signing off\r\n' 19:28:58.088136 Received DATA (on stdin) 19:28:58.088149 > 26 bytes data, server => client 19:28:58.088160 'A003 OK LOGOUT completed\r\n' 19:28:58.094249 ====> Client disconnect 19:28:58.097818 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 1847 === End of file server.cmd === Start of file valgrind1847 ==174555== ==174555== Process terminating with default action of signal 4 (SIGILL) ==174555== Illegal opcode at address 0x492B75F ==174555== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174555== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174555== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174555== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174555== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174555== by 0x49908EB: curl_version_info (version.c:600) ==174555== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174555== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174555== by 0x4003269: main (tool_main.c:195) === End of file valgrind1847 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1912 ./libtest/libtests lib1912 - > log/20/stdout1912 2> log/20/stderr1912 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38821/1910 > log/13/stdout1910 2> log/13/stderr1910 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:46137/not-there/1913 > log/17/stdout1913 2> log/17/stderr1913 test 1907 [CURLINFO_EFFECTIVE_URL with non-scheme URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:35989/hello/../1907 > log/22/stdout1907 2> log/22/stderr1907 1907: stdout FAILED: --- log/22/check-expected 2026-10-15 19:29:01.278091816 +0000 +++ log/22/check-generated 2026-10-15 19:29:01.272607464 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:35989/1907[LF] == Contents of files in the log/22/ directory after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:35989/1907[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:35989/hello/../1907 > log/22/stdout1907 2> log/22/stderr1907 === End of file commands.log === Start of file http_server.log 19:28:59.148551 ====> Client connect 19:28:59.148631 accept_connection 3 returned 4 19:28:59.148662 Read 93 bytes 19:28:59.148672 Process 93 bytes request 19:28:59.148685 Got request: GET /verifiedserver HTTP/1.1 19:28:59.148694 Are-we-friendly question received 19:28:59.148723 Wrote request (93 bytes) input to log/22/server.input 19:28:59.148740 Identifying ourselves as friends 19:28:59.148907 Response sent (56 bytes) and written to log/22/server.response 19:28:59.148921 special request received, no persistency 19:28:59.149012 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 47028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1907 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1907 ==175219== ==175219== Process terminating with default action of signal 4 (SIGILL) ==175219== Illegal opcode at address 0x51CC63F ==175219== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175219== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175219== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175219== by 0x40041AF: main (first.c:264) === End of file valgrind1907 test 1912 [Cross validate that gcc-typecheck macros match the option types.] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1912 ./libtest/libtests lib1912 - > log/20/stdout1912 2> log/20/stderr1912 libtests returned 132, when expecting 0 1912: exit FAILED == Contents of files in the log/20/ directory after test 1912 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1912 ./libtest/libtests lib1912 - > log/20/stdout1912 2> log/20/stderr1912 === End of file commands.log === Start of file server.cmd Testnum 1912 === End of file server.cmd === Start of file valgrind1912 ==175419== ==175419== Process terminating with default action of signal 4 (SIGILL) ==175419== Illegal opcode at address 0x51CC63F ==175419== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175419== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175419== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175419== by 0x40041AF: main (first.c:264) === End of file valgrind1912 test 1910 [HTTP credentials with newline and redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38821/1910 > log/13/stdout1910 2> log/13/stderr1910 1910: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 1910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38821/1910 > log/13/stdout1910 2> log/13/stderr1910 === End of file commands.log === Start of file http_server.log 19:28:59.237619 ====> Client connect 19:28:59.237658 accept_connection 3 returned 4 19:28:59.237679 Read 93 bytes 19:28:59.237687 Process 93 bytes request 19:28:59.237697 Got request: GET /verifiedserver HTTP/1.1 19:28:59.237705 Are-we-friendly question received 19:28:59.237727 Wrote request (93 bytes) input to log/13/server.input 19:28:59.237740 Identifying ourselves as friends 19:28:59.237806 Response sent (56 bytes) and written to log/13/server.response 19:28:59.237813 special request received, no persistency 19:28:59.237820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 57582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 1910 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind1910 ==175385== ==175385== Process terminating with default action of signal 4 (SIGILL) ==175385== Illegal opcode at address 0x51CC63F ==175385== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175385== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175385== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175385== by 0x40041AF: main (first.c:264) === End of file valgrind1910 test 1913 [FTP with NOBODY set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:46137/not-there/1913 > log/17/stdout1913 2> log/17/stderr1913 libtests returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/17/ directory after test 1913 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:46137/not-there/1913 > log/17/stdout1913 2> log/17/stderr1913 === End of file commands.log === Start of file ftp_server.log 19:28:59.875356 ====> Client connect 19:28:59.875580 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:59.876267 < "USER anonymous" 19:28:59.876305 > "331 We are happy you popped in![CR][LF]" 19:28:59.882516 < "PASS ftp@example.com" 19:28:59.882576 > "230 Welcome you silly person[CR][LF]" 19:28:59.882742 < "PWD" 19:28:59.882777 > "257 "/" is current directory[CR][LF]" 19:28:59.882960 log/7/stdout1851 2> log/7/stderr1851 "EPSV" 19:28:59.882991 ====> Passive DATA channel requested by client 19:28:59.883005 DATA sockfilt for passive data channel starting... 19:28:59.887928 DATA sockfilt for passive data channel started (pid 175645) 19:28:59.892183 DATA sockfilt for passive data channel listens on port 35449 19:28:59.892274 > "229 Entering Passive Mode (|||35449|)[CR][LF]" 19:28:59.892303 Client has been notified that upcoming DATA connection is awaited on port 35449 19:28:59.898743 Client connects to port 35449 19:28:59.898797 ====> Client established passive DATA connection on port 35449 19:28:59.898920 < "TYPE I" 19:28:59.898973 > "200 I modify TYPE as you wanted[CR][LF]" 19:28:59.899255 < "SIZE verifiedserver" 19:28:59.899312 > "213 17[CR][LF]" 19:28:59.899520 < "RETR verifiedserver" 19:28:59.899561 > "150 Binary junk (17 bytes).[CR][LF]" 19:28:59.899664 =====> Closing passive DATA connection... 19:28:59.899684 Server disconnects passive DATA connection 19:28:59.899871 Server disconnected passive DATA connection 19:28:59.899901 DATA sockfilt for passive data channel quits (pid 175645) 19:28:59.900210 DATA sockfilt for passive data channel quit (pid 175645) 19:28:59.900240 =====> Closed passive DATA connection 19:28:59.900276 > "226 File transfer complete[CR][LF]" 19:28:59.945672 < "QUIT" 19:28:59.945725 > "221 bye bye baby[CR][LF]" 19:28:59.947068 MAIN sockfilt said DISC 19:28:59.947110 ====> Client disconnected 19:28:59.947193 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:28:59.475999 ====> Client connect 19:28:59.477838 Received DATA (on stdin) 19:28:59.477854 > 146 bytes data, server => client 19:28:59.477865 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:28:59.477875 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:28:59.477884 '220 \___|\___/|_| \_\_____|\r\n' 19:28:59.478345 < 16 bytes data, client => server 19:28:59.478361 'USER anonymous\r\n' 19:28:59.484231 Received DATA (on stdin) 19:28:59.484267 > 33 bytes data, server => client 19:28:59.484278 '331 We are happy you popped in!\r\n' 19:28:59.484571 < 22 bytes data, client => server 19:28:59.484590 'PASS ftp@example.com\r\n' 19:28:59.484827 Received DATA (on stdin) 19:28:59.484839 > 30 bytes data, server => client 19:28:59.484848 '230 Welcome you silly person\r\n' 19:28:59.484900 < 5 bytes data, client => server 19:28:59.484911 'PWD\r\n' 19:28:59.485025 Received DATA (on stdin) 19:28:59.485036 > 30 bytes data, server => client 19:28:59.485046 '257 "/" is current directory\r\n' 19:28:59.485116 < 6 bytes data, client => server 19:28:59.485129 'EPSV\r\n' 19:28:59.497600 Received DATA (on stdin) 19:28:59.497642 > 39 bytes data, server => client 19:28:59.497655 '229 Entering Passive Mode (|||35449|)\r\n' 19:28:59.497884 < 8 bytes data, client => server 19:28:59.497901 'TYPE I\r\n' 19:28:59.501231 Received DATA (on stdin) 19:28:59.501250 > 33 bytes data, server => client 19:28:59.501261 '200 I modify TYPE as you wanted\r\n' 19:28:59.501379 < 21 bytes data, client => server 19:28:59.501396 'SIZE verifiedserver\r\n' 19:28:59.501566 Received DATA (on stdin) 19:28:59.501580 > 8 bytes data, server => client 19:28:59.501590 '213 17\r\n' 19:28:59.501658 < 21 bytes data, client => server 19:28:59.501674 'RETR verifiedserver\r\n' 19:28:59.502041 Received DATA (on stdin) 19:28:59.502053 > 29 bytes data, server => client 19:28:59.502064 '150 Binary junk (17 bytes).\r\n' 19:28:59.502529 Received DATA (on stdin) 19:28:59.502542 > 28 bytes data, server => client 19:28:59.502553 '226 File transfer complete\r\n' 19:28:59.547714 < 6 bytes data, client => server 19:28:59.547748 'QUIT\r\n' 19:28:59.547974 Received DATA (on stdin) 19:28:59.547986 > 18 bytes data, server => client 19:28:59.547996 '221 bye bye baby\r\n' 19:28:59.549248 ====> Client disconnect 19:28:59.549442 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:28:59.489766 Running IPv4 version 19:28:59.490026 Listening on port 35449 19:28:59.490077 Wrote pid 175645 to log/17/server/ftp_sockdata.pid 19:28:59.490102 Received PING (on stdin) 19:28:59.494260 Received PORT (on stdin) 19:28:59.500907 ====> Client connect 19:28:59.501937 Received DATA (on stdin) 19:28:59.501955 > 17 bytes data, server => client 19:28:59.501965 'WE ROOLZ: 84749\r\n' 19:28:59.501997 Received DISC (on stdin) 19:28:59.502013 ====> Client forcibly disconnected 19:28:59.502158 Received QUIT (on stdin) 19:28:59.502171 quits 19:28:59.502248 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY SIZE 550 no such file Testnum 1913 === End of file server.cmd === Start of file valgrind1913 ==175662== ==175662== Process terminating with default action of signal 4 (SIGILL) ==175662== Illegal opcode at address 0x51CC63F ==175662== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175662== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175662== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175662== by 0x40041AF: main (first.c:264) === End of file valgrind1913 test 1851 [IPFS gateway using default port number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1851 ../src/curl -q --output log/7/curl1851.out --include --trace-ascii log/7/trace1851 --trace-time --ipfs-gateway http://somewhere.anywhere "ipfs://r4nd0m" -x http://127.0.0.1:40859 > log/7/stdout1851 2> log/7/stderr1851 1851: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 1851 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1851 ../src/curl -q --output log/7/curl1851.out --include --trace-ascii log/7/trace1851 --trace-time --ipfs-gateway http://somewhere.anywhere "ipfs://r4nd0m" -x http://127.0.0.1:40859 > log/7/stdout1851 2> log/7/stderr1851 === End of file commands.log === Start of file http_server.log 19:28:58.564295 ====> Client connect 19:28:58.564333 accept_connection 3 returned 4 19:28:58.564357 Read 93 bytes 19:28:58.564368 Process 93 bytes request 19:28:58.564382 Got request: GET /verifiedserver HTTP/1.1 19:28:58.564391 Are-we-friendly question received 19:28:58.564419 Wrote request (93 bytes) input to log/7/server.input 19:28:58.564437 Identifying ourselves as friends 19:28:58.564510 Response sent (56 bytes) and written to log/7/server.response 19:28:58.564522 special request received, no persistency 19:28:58.564531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 1851 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind1851 ==174714== ==174714== Process terminating with default action of signal 4 (SIGILL) ==174714== Illegal opcode at address 0x492B75F ==174714== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174714== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174714== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174714== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174714== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174714== by 0x49908EB: curl_version_info (version.cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/12/stdout1915 2> log/12/stderr1915 :600) ==174714== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174714== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174714== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174714== by 0x4003269: main (tool_main.c:195) === End of file valgrind1851 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1904 ../src/curl -q --output log/2/curl1904.out --include --trace-ascii log/2/trace1904 --trace-time http://test.1904:34531/we/want/that/page/1904 -p --proxy 127.0.0.1:37607 > log/2/stdout1904 2> log/2/stderr1904 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:42249/not-there/1913 1 > log/3/stdout1914 2> log/3/stderr1914 test 1915 [HSTS read/write callbacks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/12/stdout1915 2> log/12/stderr1915 1915: stdout FAILED: --- log/12/check-expected 2026-10-15 19:29:01.637149899 +0000 +++ log/12/check-generated 2026-10-15 19:29:01.632607849 +0000 @@ -1,6 +0,0 @@ -[0/4] 1.example.com 25250320 01:02:03[LF] -[1/4] 2.example.com 25250320 03:02:01[LF] -[2/4] .3.example.com 25250319 01:02:03[LF] -[3/4] .4.example.com unlimited[LF] -First request returned 7[LF] -Second request returned 42[LF] == Contents of files in the log/12/ directory after test 1915 === Start of file check-expected [0/4] 1.example.com 25250320 01:02:03[LF] [1/4] 2.example.com 25250320 03:02:01[LF] [2/4] .3.example.com 25250319 01:02:03[LF] [3/4] .4.example.com unlimited[LF] First request returned 7[LF] Second request returned 42[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/12/stdout1915 2> log/12/stderr1915 === End of file commands.log === Start of file server.cmd Testnum 1915 === End of file server.cmd === Start of file valgrind1915 ==175700== ==175700== Process terminating with default action of signal 4 (SIGILL) ==175700== Illegal opcode at address 0x51CC63F ==175700== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175700== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175700== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175700== by 0x40041AF: main (first.c:264) === End of file valgrind1915 test 1904 [HTTP CONNECT with 204 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1904 ../src/curl -q --output log/2/curl1904.out --include --trace-ascii log/2/trace1904 --trace-time http://test.1904:34531/we/want/that/page/1904 -p --proxy 127.0.0.1:37607 > log/2/stdout1904 2> log/2/stderr1904 1904: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 1904 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1904 ../src/curl -q --output log/2/curl1904.out --include --trace-ascii log/2/trace1904 --trace-time http://test.1904:34531/we/want/that/page/1904 -p --proxy 127.0.0.1:37607 > log/2/stdout1904 2> log/2/stderr1904 === End of file commands.log === Start of file http2_server.log 19:29:00.152758 ====> Client connect 19:29:00.152799 accept_connection 3 returned 4 19:29:00.152822 Read 93 bytes 19:29:00.152832 Process 93 bytes request 19:29:00.152844 Got request: GET /verifiedserver HTTP/1.1 19:29:00.152853 Are-we-friendly question received 19:29:00.152884 Wrote request (93 bytes) input to log/2/proxy.input 19:29:00.152903 Identifying ourselves as friends 19:29:00.152974 Response sent (57 bytes) and written to log/2/proxy.response 19:29:00.152986 special request received, no persistency 19:29:00.152996 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:37607... * Established connection to 127.0.0.1 (127.0.0.1 port 37607) from 127.0.0.1 port 45812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37607 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37607 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150157 === End of file http2_verify.out === Start of file http_server.log 19:29:00.069669 ====> Client connect 19:29:00.069708 accept_connection 3 returned 4 19:29:00.069732 Read 93 bytes 19:29:00.069743 Process 93 bytes request 19:29:00.069756 Got request: GET /verifiedserver HTTP/1.1 19:29:00.069765 Are-we-friendly question received 19:29:00.069795 Wrote request (93 bytes) input to log/2/server.input 19:29:00.069814 Identifying ourselves as friends 19:29:00.069885 Response sent (56 bytes) and written to log/2/server.response 19:29:00.069898 special request received, no persistency 19:29:00.069909 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150157 === End of file proxy.response === Start of file server.cmd Testnum 1904 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind1904 ==175247== ==175247== Process terminating with default action of signal 4 (SIGILL) ==175247== Illegal opcode at address 0x492B75F ==175247== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==175247== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==175247== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==175247== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==175247== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==175247== by 0x49908EB: curl_version_info (version.c:600) ==175247== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==175247== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==175247== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==175247== by 0x4003269: main (tool_main.c:195) === End of file valgrind1904 test 1914 [FTP with NOBODY and FILETIME set, getting a missing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:42249/not-there/1913 1 > log/3/stdout1914 2> log/3/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/3/ directory after test 1914 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:42249/not-there/1913 1 > log/3/stdout1914 2> log/3/stderr1914 === End of file commands.log === Start of file ftp_server.log 19:28:59.998237 ====> Client connect 19:28:59.998459 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:28:59.998805 < "USER anonymous" 19:28:59.998854 > "331 We are happy you popped in![CR][LF]" 19:28:59.999074 < "PASS ftp@example.com" 19:28:59.999112 > "230 Welcome you silly person[CR][LF]" 19:28:59.999312 < "PWD" 19:28:59.999353 > "257 "/" is current directory[CR][LF]" 19:28:59.999546 < "EPSV" 19:28:59.999577 ====> Passive DATA channel requested by client 19:28:59.999593 DATA sockfilt for passive data channel starting... 19:29:00.009544 DATA sockfilt for passive data channel started (pid 175682) 19:29:00.009740 DATA sockfilt for passive data channel listens on portCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1876 ../src/curl -q --trace-ascii log/6/trace1876 --trace-time http://127.0.0.1:33935/1876 --netrc-optional --netrc-file log/6/netrc -L -w 'EFFECTIVE_URL=%{url_effective}\n' > log/6/stdout1876 2> log/6/stderr1876 38797 19:29:00.009802 > "229 Entering Passive Mode (|||38797|)[CR][LF]" 19:29:00.009829 Client has been notified that upcoming DATA connection is awaited on port 38797 19:29:00.010160 Client connects to port 38797 19:29:00.010194 ====> Client established passive DATA connection on port 38797 19:29:00.010297 < "TYPE I" 19:29:00.010335 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:00.010506 < "SIZE verifiedserver" 19:29:00.010546 > "213 17[CR][LF]" 19:29:00.010698 < "RETR verifiedserver" 19:29:00.010733 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:00.010830 =====> Closing passive DATA connection... 19:29:00.010848 Server disconnects passive DATA connection 19:29:00.011077 Server disconnected passive DATA connection 19:29:00.011109 DATA sockfilt for passive data channel quits (pid 175682) 19:29:00.011397 DATA sockfilt for passive data channel quit (pid 175682) 19:29:00.011422 =====> Closed passive DATA connection 19:29:00.011451 > "226 File transfer complete[CR][LF]" 19:29:00.055670 < "QUIT" 19:29:00.055735 > "221 bye bye baby[CR][LF]" 19:29:00.057015 MAIN sockfilt said DISC 19:29:00.057049 ====> Client disconnected 19:29:00.057144 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:00.600366 ====> Client connect 19:29:00.600727 Received DATA (on stdin) 19:29:00.600747 > 146 bytes data, server => client 19:29:00.600758 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:00.600769 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:00.600778 '220 \___|\___/|_| \_\_____|\r\n' 19:29:00.600886 < 16 bytes data, client => server 19:29:00.600903 'USER anonymous\r\n' 19:29:00.601109 Received DATA (on stdin) 19:29:00.601123 > 33 bytes data, server => client 19:29:00.601133 '331 We are happy you popped in!\r\n' 19:29:00.601197 < 22 bytes data, client => server 19:29:00.601214 'PASS ftp@example.com\r\n' 19:29:00.601364 Received DATA (on stdin) 19:29:00.601377 > 30 bytes data, server => client 19:29:00.601388 '230 Welcome you silly person\r\n' 19:29:00.601449 < 5 bytes data, client => server 19:29:00.601465 'PWD\r\n' 19:29:00.601604 Received DATA (on stdin) 19:29:00.601616 > 30 bytes data, server => client 19:29:00.601626 '257 "/" is current directory\r\n' 19:29:00.601692 < 6 bytes data, client => server 19:29:00.601705 'EPSV\r\n' 19:29:00.612090 Received DATA (on stdin) 19:29:00.612110 > 39 bytes data, server => client 19:29:00.612121 '229 Entering Passive Mode (|||38797|)\r\n' 19:29:00.612348 < 8 bytes data, client => server 19:29:00.612361 'TYPE I\r\n' 19:29:00.612585 Received DATA (on stdin) 19:29:00.612597 > 33 bytes data, server => client 19:29:00.612607 '200 I modify TYPE as you wanted\r\n' 19:29:00.612662 < 21 bytes data, client => server 19:29:00.612673 'SIZE verifiedserver\r\n' 19:29:00.612790 Received DATA (on stdin) 19:29:00.612801 > 8 bytes data, server => client 19:29:00.612811 '213 17\r\n' 19:29:00.612863 < 21 bytes data, client => server 19:29:00.612873 'RETR verifiedserver\r\n' 19:29:00.613180 Received DATA (on stdin) 19:29:00.613192 > 29 bytes data, server => client 19:29:00.613202 '150 Binary junk (17 bytes).\r\n' 19:29:00.613698 Received DATA (on stdin) 19:29:00.613711 > 28 bytes data, server => client 19:29:00.613721 '226 File transfer complete\r\n' 19:29:00.657695 < 6 bytes data, client => server 19:29:00.657733 'QUIT\r\n' 19:29:00.657988 Received DATA (on stdin) 19:29:00.658001 > 18 bytes data, server => client 19:29:00.658011 '221 bye bye baby\r\n' 19:29:00.659206 ====> Client disconnect 19:29:00.659400 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:00.609132 Running IPv4 version 19:29:00.609242 Listening on port 38797 19:29:00.609289 Wrote pid 175682 to log/3/server/ftp_sockdata.pid 19:29:00.611694 Received PING (on stdin) 19:29:00.611864 Received PORT (on stdin) 19:29:00.612316 ====> Client connect 19:29:00.613095 Received DATA (on stdin) 19:29:00.613106 > 17 bytes data, server => client 19:29:00.613116 'WE ROOLZ: 84710\r\n' 19:29:00.613143 Received DISC (on stdin) 19:29:00.613156 ====> Client forcibly disconnected 19:29:00.613363 Received QUIT (on stdin) 19:29:00.613375 quits 19:29:00.613447 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 no such file Testnum 1914 === End of file server.cmd === Start of file valgrind1914 ==175717== ==175717== Process terminating with default action of signal 4 (SIGILL) ==175717== Illegal opcode at address 0x51CC63F ==175717== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175717== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175717== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175717== by 0x40041AF: main (first.c:264) === End of file valgrind1914 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1909 ../src/curl -q --trace-ascii log/15/trace1909 --trace-time --retry 1 --retry-all-errors -o log/15/outfile1909 http://127.0.0.1:40321/1909 > log/15/stdout1909 2> log/15/stderr1909 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1918 ./libtest/libtests lib1918 - > log/10/stdout1918 2> log/10/stderr1918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1921 ./libtest/libtests lib1921 - > log/9/stdout1921 2> log/9/stderr1921 test 1876 [verify no credentials present in effective URL after redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1876 ../src/curl -q --trace-ascii log/6/trace1876 --trace-time http://127.0.0.1:33935/1876 --netrc-optional --netrc-file log/6/netrc -L -w 'EFFECTIVE_URL=%{url_effective}\n' > log/6/stdout1876 2> log/6/stderr1876 1876: stdout FAILED: --- log/6/check-expected 2026-10-15 19:29:01.842490965 +0000 +++ log/6/check-generated 2026-10-15 19:29:01.839274736 +0000 @@ -1 +0,0 @@ -EFFECTIVE_URL=http://127.0.0.1:33935/18760002[LF] == Contents of files in the log/6/ directory after test 1876 === Start of file check-expected EFFECTIVE_URL=http://127.0.0.1:33935/18760002[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1876 ../src/curl -q --trace-ascii log/6/trace1876 --trace-time http://127.0.0.1:33935/1876 --netrc-optional --netrc-file log/6/netrc -L -w 'EFFECTIVE_URL=%{url_effective}\n' > log/6/stdout1876 2> log/6/stderr1876 === End of file commands.log === Start of file http_server.log 19:28:58.704244 ====> Client connect 19:28:58.704281 accept_connection 3 returned 4 19:28:58.706756 Read 93 bytes 19:28:58.706775 Process 93 bytes request 19:28:58.706789 Got request: GET /verifiedserver HTTP/1.1 19:28:58.706798 Are-we-friendly question received 19:28:58.706836 Wrote request (93 bytes) input to log/6/server.input 19:28:58.706854 Identifying ourselves as friends 19:28:58.707072 Response sent (56 bytes) and written to log/6/server.response 19:28:58.707083 special request received, no persistency 19:28:58.707092 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 44340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file netrc machine 127.0.0.1 login netrcuser password netrcSECRET123 === End of file netrc === Start of file server.cmd Testnum 1876 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind1876 ==174786== ==174786== Process terminating with default action of signal 4 (SIGILL) ==174786== Illegal opcode at address 0x492B75F ==174786== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==174786== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==174786== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==174786== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==174786== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==174786== by 0x49908EB: curl_version_info (version.c:600) ==174786== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==174786== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==174786== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==174786== by 0x4003269: main (tool_main.c:195) === End of file valgrind1876 test 1909 [HTTP GET --retry-all-errors to overcome partial transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1909 ../src/curl -q --trace-ascii log/15/trace1909 --trace-time --retry 1 --retry-all-errors -o log/15/outfile1909 http://127.0.0.1:40321/1909 > log/15/stdout1909 2> log/15/stderr1909 1909: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 1909 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1909 ../src/curl -q --trace-ascii log/15/trace1909 --trace-time --retry 1 --retry-all-errors -o log/15/outfile1909 http://127.0.0.1:40321/1909 > log/15/stdout1909 2> log/15/stderr1909 === End of file commands.log === Start of file http_server.log 19:29:00.236323 ====> Client connect 19:29:00.236356 accept_connection 3 returned 4 19:29:00.236440 Read 93 bytes 19:29:00.236453 Process 93 bytes request 19:29:00.236466 Got request: GET /verifiedserver HTTP/1.1 19:29:00.236474 Are-we-friendly question received 19:29:00.236505 Wrote request (93 bytes) input to log/15/server.input 19:29:00.236522 Identifying ourselves as friends 19:29:00.236578 Response sent (56 bytes) and written to log/15/server.response 19:29:00.236587 special request received, no persistency 19:29:00.236595 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 49528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 1909 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind1909 ==175362== ==175362== Process terminating with default action of signal 4 (SIGILL) ==175362== Illegal opcode at address 0x492B75F ==175362== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==175362== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==175362== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==175362== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==175362== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==175362== by 0x49908EB: curl_version_info (version.c:600) ==175362== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==175362== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==175362== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==175362== by 0x4003269: main (tool_main.c:195) === End of file valgrind1909 test 1918 [curl_easy_option_by_name() and curl_easy_option_by_id()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1918 ./libtest/libtests lib1918 - > log/10/stdout1918 2> log/10/stderr1918 libtests returned 132, when expecting 0 1918: exit FAILED == Contents of files in the log/10/ directory after test 1918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1918 ./libtest/libtests lib1918 - > log/10/stdout1918 2> log/10/stderr1918 === End of file commands.log === Start of file server.cmd Testnum 1918 === End of file server.cmd === Start of file valgrind1918 ==175837== ==175837== Process terminating with default action of signal 4 (SIGILL) ==175837== Illegal opcode at address 0x51CC63F ==175837== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175837== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175837== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175837== by 0x40041AF: main (first.c:264) === End of file valgrind1918 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:37089/1919 > log/5/stdout1919 2> log/5/stderr1919 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1941 ./libtest/libtests lib1940 http://hello:43739/1941 127.0.0.1:38183 > log/18/stdout1941 2> log/18/stderr1941 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:44467/1940 > log/8/stdout1940 2> log/8/stderr1940 test 1921 [Set a URL without scheme, then redirect with default scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1921 ./libtest/libtests lib1921 - > log/9/stdout1921 2> log/9/stderr1921 1921: stdout FAILED: --- log/9/check-expected 2026-10-15 19:29:02.080750274 +0000 +++ log/9/check-generated 2026-10-15 19:29:02.075941585 +0000 @@ -1 +0,0 @@ -URL: https://example.com/newpath[CR][LF] == Contents of files in the log/9/ directory after test 1921 === Start of file check-expected URL: https://example.com/newpath[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1921 ./libtest/libtests lib1921 - > log/9/stdout1921 2> log/9/stderr1921 === End of file commands.log === Start of file server.cmd Testnum 1921 === End of file server.cmd === Start of file valgrind1921 ==175882== ==175882== Process terminating with default action of signal 4 (SIGILL) ==175882== Illegal opcode at address 0x51CC63F ==175882== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175882== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175882== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175882== by 0x40041AF: main (first.c:264) === End of file valgrind1921 test 1919 [set CURLOPT_XOAUTH2_BEARER and do connection reuse] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:37089/1919 > log/5/stdout1919 2> log/5/stderr1919 1919: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1919 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:37089/1919 > log/5/stdout1919 2> log/5/stderr1919 === End of file commands.log === Start of file http_server.log 19:29:00.449248 ====> Client connect 19:29:00.449288 accept_connection 3 returned 4 19:29:00.449448 Read 93 bytes 19:29:00.449464 Process 93 bytes request 19:29:00.449477 Got request: GET /verifiedserver HTTP/1.1 19:29:00.449485 Are-we-friendly question received 19:29:00.449522 Wrote request (93 bytes) input to log/5/server.input 19:29:00.449539 Identifying ourselves as friends 19:29:00.449601 Response sent (56 bytes) and written to log/5/server.response 19:29:00.449611 special request received, no persistency 19:29:00.449619 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 60184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1919 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind1919 ==175970== ==175970== Process terminating with default action of signal 4 (SIGILL) ==175970== Illegal opcode at address 0x51CC63F ==175970== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175970== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175970== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175970== by 0x40041AF: main (first.c:264) === End of file valgrind1919 test 1940 [curl_easy_header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:44467/1940 > log/8/stdout1940 2> log/8/stderr1940 1940: stdout FAILED: --- log/8/check-expected 2026-10-15 19:29:02.259349910 +0000 +++ log/8/check-generated 2026-10-15 19:29:02.255941600 +0000 @@ -1,12 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19400002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Fold == is folding a line[LF] - Blank == [LF] - Blank2 == [LF] - Test == word[LF] == Contents of files in the log/8/ directory after test 1940 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19400002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Fold == is folding a line[LF] Blank == [LF] Blank2 == [LF] Test == word[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:44467/1940 > log/8/stdout1940 2> log/8/stderr1940 === End of file commands.log === Start of file http_server.log 19:29:00.501758 ====> Client connect 19:29:00.501793 accept_connection 3 returned 4 19:29:00.501890 Read 93 bytes 19:29:00.501902 Process 93 bytes request 19:29:00.501916 Got request: GET /verifiedserver HTTP/1.1 19:29:00.501924 Are-we-friendly question received 19:29:00.501953 Wrote request (93 bytes) input to log/8/server.input 19:29:00.501970 Identifying ourselves as friends 19:29:00.502029 Response sent (56 bytes) and written to log/8/server.response 19:29:00.502038 special request received, no persistency 19:29:00.502046 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 36574 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 1940 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind1940 ==176036== ==176036== Process terminating with default action of signal 4 (SIGILL) ==176036== Illegal opcode at address 0x51CC63F ==176036== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176036== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176036== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176036== by 0x40041AF: main (first.c:264) === End of file valgrind1940 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:35903/1943 > log/16/stdout1943 2> log/16/stderr1943 test 1941 [curl_easy_header with CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1941 ./libtest/libtests lib1940 http://hello:43739/1941 127.0.0.1:38183 > log/18/stdout1941 2> log/18/stderr1941 1941: stdout FAILED: --- log/18/check-expected 2026-10-15 19:29:02.271586456 +0000 +++ log/18/check-generated 2026-10-15 19:29:02.265941601 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19410002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Server == from the connect[LF] - Silly-thing == yes yes[LF] == Contents of files in the log/18/ directory after test 1941 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19410002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Server == from the connect[LF] Silly-thing == yes yes[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1941 ./libtest/libtests lib1940 http://hello:43739/1941 127.0.0.1:38183 > log/18/stdout1941 2> log/18/stderr1941 === End of file commands.log === Start of file http2_server.log 19:29:00.569429 ====> Client connect 19:29:00.569469 accept_connection 3 returned 4 19:29:00.569592 Read 93 bytes 19:29:00.569610 Process 93 bytes request 19:29:00.569634 Got request: GET /verifiedserver HTTP/1.1 19:29:00.569644 Are-we-friendly question received 19:29:00.569680 Wrote request (93 bytes) input to log/18/proxy.input 19:29:00.569701 Identifying ourselves as friends 19:29:00.569776 Response sent (57 bytes) and written to log/18/proxy.response 19:29:00.569788 special request received, no persistency 19:29:00.569797 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38183... * Established connection to 127.0.0.1 (127.0.0.1 port 38183) from 127.0.0.1 port 36134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38183 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38183 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 164586 === End of file http2_verify.out === Start of file http_server.log 19:29:01.510026 ====> Client connect 19:29:01.510061 accept_connection 3 returned 4 19:29:01.510168 Read 93 bytes 19:29:01.510185 Process 93 bytes request 19:29:01.510198 Got request: GET /verifiedserver HTTP/1.1 19:29:01.510207 Are-we-friendly question received 19:29:01.510239 Wrote request (93 bytes) input to log/18/server.input 19:29:01.510256 Identifying ourselves as friends 19:29:01.510317 Response sent (56 bytes) and written to log/18/server.response 19:29:01.510327 special request received, no persistency 19:29:01.510336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 45950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164586 === End of file proxy.response === Start of file server.cmd Testnum 1941 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1941 ==176106== ==176106== Process terminating with default action of signal 4 (SIGILL) ==176106== Illegal opcode at address 0x51CC63F ==176106== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176106== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176106== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176106== by 0x40041AF: main (first.c:264) === End of file valgrind1941 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:32943/ log/4/cookie1920 > log/4/stdout1920 2> log/4/stderr1920 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37077/1944 > log/19/stdout1944 2> log/19/stderr1944 test 1943 [curl_easy_header with trailers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:35903/1943 > log/16/stdout1943 2> log/16/stderr1943 1943: stdout FAILED: --- log/16/check-expected 2026-10-15 19:29:02.556672583 +0000 +++ log/16/check-generated 2026-10-15 19:29:02.552608291 +0000 @@ -1,3 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == fakeit/0.9 fakeitbad/1.0[LF] - Server == sent-as-trailer[LF] == Contents of files in the log/16/ directory after test 1943 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == fakeit/0.9 fakeitbad/1.0[LF] Server == sent-as-trailer[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:35903/1943 > log/16/stdout1943 2> log/16/stderr1943 === End of file commands.log === Start of file http_server.log 19:29:01.869155 ====> Client connect 19:29:01.869210 accept_connection 3 returned 4 19:29:01.869472 Read 93 bytes 19:29:01.869485 Process 93 bytes request 19:29:01.869497 Got request: GET /verifiedserver HTTP/1.1 19:29:01.869506 Are-we-friendly question received 19:29:01.869533 Wrote request (93 bytes) input to log/16/server.input 19:29:01.869549 Identifying ourselves as friends 19:29:01.869601 Response sent (56 bytes) and written to log/16/server.response 19:29:01.869609 special request received, no persistency 19:29:01.869616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 39624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 1943 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind1943 ==176314== ==176314== Process terminating with default action of signal 4 (SIGILL) ==176314== Illegal opcode at address 0x51CC63F ==176314== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176314== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176314== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176314== by 0x40041AF: main (first.c:264) === End of file valgrind1943 test 1920 [load cookies, perform then reset before cleanup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:32943/ log/4/cookie1920 > log/4/stdout1920 2> log/4/stderr1920 1920: output (log/4/cookie1920) FAILED: --- log/4/check-expected 2026-10-15 19:29:02.575105122 +0000 +++ log/4/check-generated 2026-10-15 19:29:02.575053826 +0000 @@ -2,5 +2,4 @@ # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] -127.0.0.1%09FALSE%09/%09FALSE%090%09cookiename%09cookiecontent[CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] == Contents of files in the log/4/ directory after test 1920 === Start of file check-expected # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] 127.0.0.1%09FALSE%09/%09FALSE%090%09cookiename%09cookiecontent[CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] === End of file check-expected === Start of file check-generated # Netscape HTTP Cookie File[CR][LF] # https://curl.se/docs/http-cookies.html[CR][LF] # This file was generated by libcurl! Edit at your own risk.[CR][LF] [CR][LF] example.com%09FALSE%09/%09FALSE%090%09has_js%091[CR][LF] === End of file check-generated === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1920 ./libtest/libtests lib1920 http://127.0.0.1:32943/ log/4/cookie1920 > log/4/stdout1920 2> log/4/stderr1920 === End of file commands.log === Start of file cookie1920 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. example.com FALSE / FALSE 0 has_js 1 === End of file cookie1920 === Start of file http_server.log 19:29:01.420645 ====> Client connect 19:29:01.420683 accept_connection 3 returned 4 19:29:01.420825 Read 93 bytes 19:29:01.420837 Process 93 bytes request 19:29:01.420849 Got request: GET /verifiedserver HTTP/1.1 19:29:01.420857 Are-we-friendly question received 19:29:01.420898 Wrote request (93 bytes) input to log/4/server.input 19:29:01.420914 Identifying ourselves as friends 19:29:01.420968 Response sent (57 bytes) and written to log/4/server.response 19:29:01.420977 special request received, no persistency 19:29:01.420984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 41642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd Testnum 1920 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file valgrind1920 ==175955== ==175955== Process terminating with default action of signal 4 (SIGILL) ==175955== Illegal opcode at address 0x51CC63F ==175955== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==175955== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==175955== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==175955== by 0x40041AF: main (first.c:264) === End of file valgrind1920 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:44711/1942 > log/23/stdout1942 2> log/23/stderr1942 test 1944 [curl_easy_header with redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37077/1944 > log/19/stdout1944 2> log/19/stderr1944 1944: stdout FAILED: --- log/19/check-expected 2026-10-15 19:29:02.593789304 +0000 +++ log/19/check-generated 2026-10-15 19:29:02.589274961 +0000 @@ -1,6 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == the other one[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] -- Set-Cookie == 1cookie=data1; (0/2)[LF] -- Set-Cookie == 2cookie=data2; (1/2)[LF] == Contents of files in the log/19/ directory after test 1944 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == the other one[LF] Content-Type == text/html[LF] Content-Length == 0[LF] - Set-Cookie == 1cookie=data1; (0/2)[LF] - Set-Cookie == 2cookie=data2; (1/2)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:37077/1944 > log/19/stdout1944 2> log/19/stderr1944 === End of file commands.log === Start of file http_server.log 19:29:00.896181 ====> Client connect 19:29:00.896219 accept_connection 3 returned 4 19:29:00.896243 Read 93 bytes 19:29:00.896254 Process 93 bytes request 19:29:00.896266 Got request: GET /verifiedserver HTTP/1.1 19:29:00.896276 Are-we-friendly question received 19:29:00.896306 Wrote request (93 bytes) input to log/19/server.input 19:29:00.896326 Identifying ourselves as friends 19:29:00.896390 Response sent (57 bytes) and written to log/19/server.response 19:29:00.896401 special request received, no persistency 19:29:00.896409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 39808 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 1944 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind1944 ==176315== ==176315== Process terminating with default action of signal 4 (SIGILL) ==176315== Illegal opcode at address 0x51CC63F ==176315== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176315== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176315== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176315== by 0x40041AF: main (first.c:264) === End of file valgrind1944 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:35989/1947 http://127.0.0.1:35989/19470003 > log/22/stdout1947 2> log/22/stderr1947 test 1942 [curl_easy_header with 1xx response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:44711/1942 > log/23/stdout1942 2> log/23/stderr1942 1942: stdout FAILED: --- log/23/check-expected 2026-10-15 19:29:02.826160527 +0000 +++ log/23/check-generated 2026-10-15 19:29:02.822608313 +0000 @@ -1,10 +0,0 @@ - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19420002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] - Server == maybe different[LF] == Contents of files in the log/23/ directory after test 1942 === Start of file check-expected Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19420002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT[LF] Server == maybe different[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:44711/1942 > log/23/stdout1942 2> log/23/stderr1942 === End of file commands.log === Start of file http_server.log 19:29:00.810954 ====> Client connect 19:29:00.810995 accept_connection 3 returned 4 19:29:00.811019 Read 93 bytes 19:29:00.811029 Process 93 bytes request 19:29:00.811042 Got request: GET /verifiedserver HTTP/1.1 19:29:00.811051 Are-we-friendly question received 19:29:00.811077 Wrote request (93 bytes) input to log/23/server.input 19:29:00.811094 Identifying ourselves as friends 19:29:00.811172 Response sent (56 bytes) and written to log/23/server.response 19:29:00.811181 special request received, no persistency 19:29:00.811190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 53582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 1942 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind1942 ==176241== ==176241== Process terminating with default action of signal 4 (SIGILL) ==176241== Illegal opcode at address 0x51CC63F ==176241== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176241== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176241== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176241== by 0x40041AF: main (first.c:264) === End of file valgrind1942 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1961 ./unit/units unit1961 - > log/13/stdout1961 2> log/13/stderr1961 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:39881/1946 > log/21/stdout1946 2> log/21/stderr1946 test 1947 [curl_easy_nextheader on second request after first did redirects] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:35989/1947 http://127.0.0.1:35989/19470003 > log/22/stdout1947 2> log/22/stderr1947 1947: stdout FAILED: --- log/22/check-expected 2026-10-15 19:29:02.879368977 +0000 +++ log/22/check-generated 2026-10-15 19:29:02.875941651 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/22/ directory after test 1947 === Start of file check-expected count = 2[LF] count = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:35989/1947 http://127.0.0.1:35989/19470003 > log/22/stdout1947 2> log/22/stderr1947 === End of file commands.log === Start of file http_server.log 19:29:01.000977 ====> Client connect 19:29:01.001012 accept_connection 3 returned 4 19:29:01.001206 Read 93 bytes 19:29:01.001227 Process 93 bytes request 19:29:01.001242 Got request: GET /verifiedserver HTTP/1.1 19:29:01.001251 Are-we-friendly question received 19:29:01.001283 Wrote request (93 bytes) input to log/22/server.input 19:29:01.001302 Identifying ourselves as friends 19:29:01.001367 Response sent (56 bytes) and written to log/22/server.response 19:29:01.001377 special request received, no persistency 19:29:01.001385 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 47036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 1947 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind1947 ==176497== ==176497== Process terminating with default action of signal 4 (SIGILL) ==176497== Illegal opcode at address 0x51CC63F ==176497== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176497== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176497== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176497== by 0x40041AF: main (first.c:264) === End of file valgrind1947 test 1961 [curlx_inet_ntop() and curlx_inet_pton()] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1961 ./unit/units unit1961 - > log/13/stdout1961 2> log/13/stderr1961 units returned 132, when expecting 0 1961: exit FAILED == Contents of files in the log/13/ directory after test 1961 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind1961 ./unit/units unit1961 - > log/13/stdout1961 2> log/13/stderr1961 === End of file commands.log === Start of file server.cmd Testnum 1961 === End of file server.cmd === Start of file valgrind1961 ==176492== ==176492== Process terminating with default action of signal 4 (SIGILL) ==176492== Illegal opcode at address 0x4091F7F ==176492== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==176492== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==176492== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==176492== by 0x400B1A9: main (first.c:264) === End of file valgrind1961 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1967 ./libtest/libtests lib1967 http://127.0.0.1:47/not-there/1967 > log/2/stdout1967 2> log/2/stderr1967 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1945 ./libtest/libtests lib1945 http://hello:40989/1945 127.0.0.1:39335 > log/11/stdout1945 2> log/11/stderr1945 test 1946 [curl_easy_header with redirect but get headers from first request] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:39881/1946 > log/21/stdout1946 2> log/21/stderr1946 1946: stdout FAILED: --- log/21/check-expected 2026-10-15 19:29:02.992917075 +0000 +++ log/21/check-generated 2026-10-15 19:29:02.990529647 +0000 @@ -1,8 +0,0 @@ - Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] - Server == test with trailing space[LF] - Content-Type == text/html[LF] - Content-Length == 0[LF] - Location == /19460002[LF] -- Set-Cookie == onecookie=data; (0/3)[LF] -- Set-Cookie == secondcookie=2data; (1/3)[LF] -- Set-Cookie == cookie3=data3; (2/3)[LF] == Contents of files in the log/21/ directory after test 1946 === Start of file check-expected Date == Thu, 01 Nov 2001 14:49:00 GMT[LF] Server == test with trailing space[LF] Content-Type == text/html[LF] Content-Length == 0[LF] Location == /19460002[LF] - Set-Cookie == onecookie=data; (0/3)[LF] - Set-Cookie == secondcookie=2data; (1/3)[LF] - Set-Cookie == cookie3=data3; (2/3)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:39881/1946 > log/21/stdout1946 2> log/21/stderr1946 === End of file commands.log === Start of file http_server.log 19:29:00.954301 ====> Client connect 19:29:00.954350 accept_connection 3 returned 4 19:29:00.954375 Read 93 bytes 19:29:00.954385 Process 93 bytes request 19:29:00.954399 Got request: GET /verifiedserver HTTP/1.1 19:29:00.954407 Are-we-friendly question received 19:29:00.954450 Wrote request (93 bytes) input to log/21/server.input 19:29:00.954467 Identifying ourselves as friends 19:29:00.954559 Response sent (56 bytes) and written to log/21/server.response 19:29:00.954569 special request received, no persistency 19:29:00.954577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 42792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 1946 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind1946 ==176419== ==176419== Process terminating with default action of signal 4 (SIGILL) ==176419== Illegal opcode at address 0x51CC63F ==176419== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176419== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176419== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176419== by 0x40041AF: main (first.c:264) === End of file valgrind1946 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38815/1948 > log/1/stdout1948 2> log/1/stderr1948 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:41689/file 127.0.0.1 41689 > log/20/stdout1960 2> log/20/stderr1960 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:40663/%20" > log/24/stdout1917 2> log/24/stderr1917 test 1967 [curl_url_set() a URL without guessing a scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1967 ./libtest/libtests lib1967 http://127.0.0.1:47/not-there/1967 > log/2/stdout1967 2> log/2/stderr1967 1967: stdout FAILED: --- log/2/check-expected 2026-10-15 19:29:03.095987439 +0000 +++ log/2/check-generated 2026-10-15 19:29:03.092608251 +0000 @@ -1 +0,0 @@ -URL http://a.b/x[CR][LF] == Contents of files in the log/2/ directory after test 1967 === Start of file check-expected URL http://a.b/x[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1967 ./libtest/libtests lib1967 http://127.0.0.1:47/not-there/1967 > log/2/stdout1967 2> log/2/stderr1967 === End of file commands.log === Start of file server.cmd Testnum 1967 === End of file server.cmd === Start of file valgrind1967 ==176922== ==176922== Process terminating with default action of signal 4 (SIGILL) ==176922== Illegal opcode at address 0x51CC63F ==176922== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176922== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176922== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176922== by 0x40041AF: main (first.c:264) === End of file valgrind1967 test 1948 [CURLOPT_POST after CURLOPT_UPLOAD reusing handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38815/1948 > log/1/stdout1948 2> log/1/stderr1948 1948: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 1948 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:38815/1948 > log/1/stdout1948 2> log/1/stderr1948 === End of file commands.log === Start of file http_server.log 19:29:01.987110 ====> Client connect 19:29:01.987147 accept_connection 3 returned 4 19:29:01.987166 Read 93 bytes 19:29:01.987176 Process 93 bytes request 19:29:01.987189 Got request: GET /verifiedserver HTTP/1.1 19:29:01.987197 Are-we-friendly question received 19:29:01.987228 Wrote request (93 bytes) input to log/1/server.input 19:29:01.987244 Identifying ourselves as friends 19:29:01.987309 Response sent (56 bytes) and written to log/1/server.response 19:29:01.987319 special request received, no persistency 19:29:01.987327 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 52008 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 1948 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind1948 ==176458== ==176458== Process terminating with default action of signal 4 (SIGILL) ==176458== Illegal opcode at address 0x51CC63F ==176458== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176458== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176458== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176458== by 0x40041AF: main (first.c:264) === End of file valgrind1948 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:45407/%20" > log/14/stdout1916 2> log/14/stderr1916 test 1945 [curl_easy_nextheader with server + CONNECT] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1945 ./libtest/libtests lib1945 http://hello:40989/1945 127.0.0.1:39335 > log/11/stdout1945 2> log/11/stderr1945 1945: stdout FAILED: --- log/11/check-expected 2026-10-15 19:29:03.112989088 +0000 +++ log/11/check-generated 2026-10-15 19:29:03.109876983 +0000 @@ -1,11 +0,0 @@ - Server == from the connect (0/2)[LF] - Silly-thing == yes yes (0/1)[LF] - Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] - Server == test with trailing space (1/2)[LF] - Content-Type == text/html (0/1)[LF] - Content-Length == 0 (0/1)[LF] - Set-Cookie == onecookie=data; (0/4)[LF] - Set-Cookie == secondcookie=2data; (1/4)[LF] - Set-Cookie == cookie3=data3; (2/4)[LF] - set-cookie == lowercase=data4; (3/4)[LF] - Location == /19450002 (0/1)[LF] == Contents of files in the log/11/ directory after test 1945 === Start of file check-expected Server == from the connect (0/2)[LF] Silly-thing == yes yes (0/1)[LF] Date == Thu, 09 Nov 2010 14:49:00 GMT (0/1)[LF] Server == test with trailing space (1/2)[LF] Content-Type == text/html (0/1)[LF] Content-Length == 0 (0/1)[LF] Set-Cookie == onecookie=data; (0/4)[LF] Set-Cookie == secondcookie=2data; (1/4)[LF] Set-Cookie == cookie3=data3; (2/4)[LF] set-cookie == lowercase=data4; (3/4)[LF] Location == /19450002 (0/1)[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1945 ./libtest/libtests lib1945 http://hello:40989/1945 127.0.0.1:39335 > log/11/stdout1945 2> log/11/stderr1945 === End of file commands.log === Start of file http2_server.log 19:29:01.994301 ====> Client connect 19:29:01.994346 accept_connection 3 returned 4 19:29:01.994375 Read 93 bytes 19:29:01.994387 Process 93 bytes request 19:29:01.994413 Got request: GET /verifiedserver HTTP/1.1 19:29:01.994423 Are-we-friendly question received 19:29:01.994456 Wrote request (93 bytes) input to log/11/proxy.input 19:29:01.994487 Identifying ourselves as friends 19:29:01.994584 Response sent (57 bytes) and written to log/11/proxy.response 19:29:01.994598 special request received, no persistency 19:29:01.994607 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:39335... * Established connection to 127.0.0.1 (127.0.0.1 port 39335) from 127.0.0.1 port 46888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39335 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:39335 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 150163 === End of file http2_verify.out === Start of file http_server.log 19:29:00.927071 ====> Client connect 19:29:00.927110 accept_connection 3 returned 4 19:29:00.927132 Read 93 bytes 19:29:00.927142 Process 93 bytes request 19:29:00.927155 Got request: GET /verifiedserver HTTP/1.1 19:29:00.927163 Are-we-friendly question received 19:29:00.927188 Wrote request (93 bytes) input to log/11/server.input 19:29:00.927204 Identifying ourselves as friends 19:29:00.927265 Response sent (56 bytes) and written to log/11/server.response 19:29:00.927274 special request received, no persistency 19:29:00.927282 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 49416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 150163 === End of file proxy.response === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind1945 ==176485== ==176485== Process terminating with default action of signal 4 (SIGILL) ==176485== Illegal opcode at address 0x51CC63F ==176485== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176485== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176485== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176485== by 0x40041AF: main (first.c:264) === End of file valgrind1945 prechecked ./libtest/libtests lib1960 check test 1960 [application hands over already connected socket] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:41689/file 127.0.0.1 41689 > log/20/stdout1960 2> log/20/stderr1960 1960: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 1960 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:41689/file 127.0.0.1 41689 > log/20/stdout1960 2> log/20/stderr1960 === End of file commands.log === Start of file http_server.log 19:29:01.071409 ====> Client connect 19:29:01.071479 accept_connection 3 returned 4 19:29:01.071505 Read 93 bytes 19:29:01.071514 Process 93 bytes request 19:29:01.071525 Got request: GET /verifiedserver HTTP/1.1 19:29:01.071533 Are-we-friendly question received 19:29:01.071561 Wrote request (93 bytes) input to log/20/server.input 19:29:01.071576 Identifying ourselves as friends 19:29:01.071663 Response sent (57 bytes) and written to log/20/server.response 19:29:01.071674 special request received, no persistency 19:29:01.071682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 53856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file precheck-1960 URL: check Test ended with result 0 === End of file precheck-1960 === Start of file server.cmd Testnum 1960 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind1960 ==176745== ==176745== Process terminating with default action of signal 4 (SIGILL) ==176745== Illegal opcode at address 0x51CC63F ==176745== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176745== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176745== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176745== by 0x40041AF: main (first.c:264) === End of file valgrind1960 startnew: ./server/servers mqttd --port 0 --pidfile log/14/server/mqtt_server.pid --portfile log/14/server/mqtt_server.port --config log/14/server.cmd --logfile log/14/mqtt_server.log --logdir log/14 RUN: MQTT server is now running PID 175830 on PORT 45407 * pid mqtt => 175830 175830 test 1916 [MQTT PUBLISH with no POSTFIELDSIZE set] ../libtool -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1965 ./libtest/libtests lib1965 - > log/7/stdout1965 2> log/7/stderr1965 -mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:45407/%20" > log/14/stdout1916 2> log/14/stderr1916 1916: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 1916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:45407/%20" > log/14/stdout1916 2> log/14/stderr1916 === End of file commands.log === Start of file mqtt_server.log 19:29:00.118043 Running IPv4 version 19:29:00.118135 Listening on port 45407 19:29:00.118177 Wrote pid 175830 to log/14/server/mqtt_server.pid 19:29:00.118211 Wrote port 45407 to log/14/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1916 === End of file server.cmd === Start of file valgrind1916 ==176662== ==176662== Process terminating with default action of signal 4 (SIGILL) ==176662== Illegal opcode at address 0x51CC63F ==176662== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176662== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176662== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176662== by 0x40041AF: main (first.c:264) === End of file valgrind1916 startnew: ./server/servers mqttd --port 0 --pidfile log/24/server/mqtt_server.pid --portfile log/24/server/mqtt_server.port --config log/24/server.cmd --logfile log/24/mqtt_server.log --logdir log/24 RUN: MQTT server is now running PID 175834 on PORT 40663 * pid mqtt => 175834 175834 test 1917 [MQTT PUBLISH with CURLOPT_POST set (no payload)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:40663/%20" > log/24/stdout1917 2> log/24/stderr1917 1917: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 1917 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:40663/%20" > log/24/stdout1917 2> log/24/stderr1917 === End of file commands.log === Start of file mqtt_server.log 19:29:00.191479 Running IPv4 version 19:29:00.191564 Listening on port 40663 19:29:00.191606 Wrote pid 175834 to log/24/server/mqtt_server.pid 19:29:00.191639 Wrote port 40663 to log/24/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file valgrind1917 ==176804== ==176804== Process terminating with default action of signal 4 (SIGILL) ==176804== Illegal opcode at address 0x51CC63F ==176804== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176804== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176804== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176804== by 0x40041AF: main (first.c:264) === End of file valgrind1917 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35993 > log/17/stdout1964 2> log/17/stderr1964 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36161/1977 > log/3/stdout1977 2> log/3/stderr1977 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1979 ./unit/units unit1979 - > log/6/stdout1979 2> log/6/stderr1979 test 1965 [curl_url_set() different schemes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1965 ./libtest/libtests lib1965 - > log/7/stdout1965 2> log/7/stderr1965 1965: stdout FAILED: --- log/7/check-expected 2026-10-15 19:29:03.189505639 +0000 +++ log/7/check-generated 2026-10-15 19:29:03.185941501 +0000 @@ -1,20 +0,0 @@ -bad! REJECTED[CR][LF] -bad{ REJECTED[CR][LF] -bad/ REJECTED[CR][LF] -bad\ REJECTED[CR][LF] -a! REJECTED[CR][LF] -a+123 ACCEPTED[CR][LF] -http-2 ACCEPTED[CR][LF] -http.1 ACCEPTED[CR][LF] -a+-.123 ACCEPTED[CR][LF] -http-+++2 ACCEPTED[CR][LF] -http.1-- ACCEPTED[CR][LF] -+a123 REJECTED[CR][LF] --http2 REJECTED[CR][LF] -.http1 REJECTED[CR][LF] -ABC2 ACCEPTED[CR][LF] -2CBA REJECTED[CR][LF] - REJECTED[CR][LF] -a ACCEPTED[CR][LF] -aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd ACCEPTED[CR][LF] -aaaaaaaaaabbbbbbbbbbccccccccccdddddddddde REJECTED[CR][LF] == Contents of files in the log/7/ directory after test 1965 === Start of file check-expected bad! REJECTED[CR][LF] bad{ REJECTED[CR][LF] bad/ REJECTED[CR][LF] bad\ REJECTED[CR][LF] a! REJECTED[CR][LF] a+123 ACCEPTED[CR][LF] http-2 ACCEPTED[CR][LF] http.1 ACCEPTED[CR][LF] a+-.123 ACCEPTED[CR][LF] http-+++2 ACCEPTED[CR][LF] http.1-- ACCEPTED[CR][LF] +a123 REJECTED[CR][LF] -http2 REJECTED[CR][LF] .http1 REJECTED[CR][LF] ABC2 ACCEPTED[CR][LF] 2CBA REJECTED[CR][LF] REJECTED[CR][LF] a ACCEPTED[CR][LF] aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd ACCEPTED[CR][LF] aaaaaaaaaabbbbbbbbbbccccccccccdddddddddde REJECTED[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind1965 ./libtest/libtests lib1965 - > log/7/stdout1965 2> log/7/stderr1965 === End of file commands.log === Start of file server.cmd Testnum 1965 === End of file server.cmd === Start of file valgrind1965 ==176619== ==176619== Process terminating with default action of signal 4 (SIGILL) ==176619== Illegal opcode at address 0x51CC63F ==176619== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176619== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176619== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176619== by 0x40041AF: main (first.c:264) === End of file valgrind1965 test 1964 [HTTP AWS_SIGV4 with X-Xxx-Date header set manually] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35993 > log/17/stdout1964 2> log/17/stderr1964 1964: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 1964 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35993 > log/17/stdout1964 2> log/17/stderr1964 === End of file commands.log === Start of file http_server.log 19:29:02.090952 ====> Client connect 19:29:02.090994 accept_connection 3 returned 4 19:29:02.091019 Read 93 bytes 19:29:02.091029 Process 93 bytes request 19:29:02.091042 Got request: GET /verifiedserver HTTP/1.1 19:29:02.091050 Are-we-friendly question received 19:29:02.091077 Wrote request (93 bytes) input to log/17/server.input 19:29:02.091093 Identifying ourselves as friends 19:29:02.091183 Response sent (56 bytes) and written to log/17/server.response 19:29:02.091193 special request received, no persistency 19:29:02.091201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 38384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 1964 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind1964 ==176652== ==176652== Process terminating with default action of signal 4 (SIGILL) ==176652== Illegal opcode at address 0x51CC63F ==176652== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==176652== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==176652== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==176652== by 0x40041AF: main (first.c:264) === End of file valgrind1964 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1980 ./unit/units unit1980 - > log/15/stdout1980 2> log/15/stderr1980 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1989 ./libtest/libtests lib1989 - > log/8/stdout1989 2> log/8/stderr1989 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1985 ./libtest/libtests lib1985 http://firsthost:43739/1985 http://secondhost:43739/19850001 43739 127.0.0.1 > log/18/stdout1985 2> log/18/stderr1985 test 1977 [CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36161/1977 > log/3/stdout1977 2> log/3/stderr1977 1977: stdout FAILED: --- log/3/check-expected 2026-10-15 19:29:03.225452601 +0000 +++ log/3/check-generated 2026-10-15 19:29:03.222608134 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:36161/1977[LF] -effective URL: http://127.0.0.1:36161/1977?foo[LF] -effective URL: http://127.0.0.1:36161/1977?foo&bar[LF] == Contents of files in the log/3/ directory after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:36161/1977[LF] effective URL: http://127.0.0.1:36161/1977?foo[LF] effective URL: http://127.0.0.1:36161/1977?foo&bar[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:36161/1977 > log/3/stdout1977 2> log/3/stderr1977 === End of file commands.log === Start of file http_server.log 19:29:02.357621 ====> Client connect 19:29:02.357666 accept_connection 3 returned 4 19:29:02.357692 Read 93 bytes 19:29:02.357702 Process 93 bytes request 19:29:02.357715 Got request: GET /verifiedserver HTTP/1.1 19:29:02.357723 Are-we-friendly question received 19:29:02.357751 Wrote request (93 bytes) input to log/3/server.input 19:29:02.357772 Identifying ourselves as friends 19:29:02.357852 Response sent (56 bytes) and written to log/3/server.response 19:29:02.357861 special request received, no persistency 19:29:02.357870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 47586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 1977 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind1977 ==177036== ==177036== Process terminating with default action of signal 4 (SIGILL) ==177036== Illegal opcode at address 0x51CC63F ==177036== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==177036== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==177036== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==177036== by 0x40041AF: main (first.c:264) === End of file valgrind1977 test 1979 [sigv4 canon_string unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1979 ./unit/units unit1979 - > log/6/stdout1979 2> log/6/stderr1979 units returned 132, when expecting 0 1979: exit FAILED == Contents of files in the log/6/ directory after test 1979 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1979 ./unit/units unit1979 - > log/6/stdout1979 2> log/6/stderr1979 === End of file commands.log === Start of file server.cmd Testnum 1979 === End of file server.cmd === Start of file valgrind1979 ==177087== ==177087== Process terminating with default action of signal 4 (SIGILL) ==177087== Illegal opcode at address 0x4091F7F ==177087== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==177087== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==177087== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==177087== by 0x400B1A9: main (first.c:264) === End of file valgrind1979 test 1980 [sigv4 canon_query unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1980 ./unit/units unit1980 - > log/15/stdout1980 2> log/15/stderr1980 units returned 132, when expecting 0 1980: exit FAILED == Contents of files in the log/15/ directory after test 1980 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1980 ./unit/units unit1980 - > log/15/stdout1980 2> log/15/stderr1980 === End of file commands.log === Start of file server.cmd Testnum 1980 === End of file server.cmd === Start of file valgrind1980 ==177109== ==177109== Process terminating with default action of signal 4 (SIGILL) ==177109== Illegal opcode at address 0x4091F7F ==177109== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==177109== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==177109== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==177109== by 0x400B1A9: main (first.c:264) === End of file valgrind1980 test 1989 [curl_url_dup preserves guessed_scheme] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1989 ./libtest/libtests lib1989 - > log/8/stdout1989 2> log/8/stderr1989 libtests returned 132, when expecting 0 1989: exit FAILED == Contents of files in the log/8/ directory after test 1989 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1989 ./libtest/libtests lib1989 - > log/8/stdout1989 2> log/8/stderr1989 === End of file commands.log === Start of file server.cmd Testnum 1989 === End of file server.cmd === Start of file valgrind1989 ==177370== ==177370== Process terminating with default action of signal 4 (SIGILL) ==177370== Illegal opcode at address 0x51CC63F ==177370== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==177370== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==177370== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==177370== by 0x40041AF: main (first.c:264) === End of file valgrind1989 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/22/server/tftp_server.pid" --portfile "log/22/server/tftp_server.port" --logfile "log/22/tftp_server.log" --logdir "log/22" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 177694 port 53891 * pid tftp => 177694 177694 test 1985 [Digest response when not asked, then use Digest] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1985 ./libtest/libtests lib1985 http://firsthost:43739/1985 http://secondhost:43739/19850001 43739 127.0.0.1 > log/18/stdout1985 2> log/18/stderr1985 1985: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 1985 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1985 ./libtest/libtests lib1985 http://firsthost:43739/1985 http://secondhost:43739/19850001 43739 127.0.0.1 > log/18/stdout1985 2> log/18/stderr1985 === End of file commands.log === Start of file http_server.log 19:29:02.971091 ====> Client connect 19:29:02.971151 accept_cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1982 ../src/curl -q --output log/10/curl1982.out --include --trace-ascii log/10/trace1982 --trace-time 'imap://user.one:secret@127.0.0.1:43825/1982/;MAILINDEX=1' 'imap://user.one:secret;AUTH=XOAUTH2@127.0.0.1:43825/1982/;UID=2' > log/10/stdout1982 2> log/10/stderr1982 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1966 ../src/curl -q --output log/12/curl1966.out --include --trace-ascii log/12/trace1966 --trace-time --resolve host.evil.com:40921:127.0.0.1 --resolve host.corp.com:40921:127.0.0.1 --netrc-file log/12/netrc1966 --digest -L http://host.evil.com:40921/1966 --max-redirs 2 > log/12/stdout1966 2> log/12/stderr1966 onnection 3 returned 4 19:29:02.977561 Read 93 bytes 19:29:02.977593 Process 93 bytes request 19:29:02.977607 Got request: GET /verifiedserver HTTP/1.1 19:29:02.977616 Are-we-friendly question received 19:29:02.977668 Wrote request (93 bytes) input to log/18/server.input 19:29:02.977691 Identifying ourselves as friends 19:29:02.977777 Response sent (56 bytes) and written to log/18/server.response 19:29:02.977791 special request received, no persistency 19:29:02.977800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 59712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 1985 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind1985 ==177435== ==177435== Process terminating with default action of signal 4 (SIGILL) ==177435== Illegal opcode at address 0x51CC63F ==177435== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==177435== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==177435== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==177435== by 0x40041AF: main (first.c:264) === End of file valgrind1985 test 1982 [IMAP two requests, change options for the second] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1982 ../src/curl -q --output log/10/curl1982.out --include --trace-ascii log/10/trace1982 --trace-time 'imap://user.one:secret@127.0.0.1:43825/1982/;MAILINDEX=1' 'imap://user.one:secret;AUTH=XOAUTH2@127.0.0.1:43825/1982/;UID=2' > log/10/stdout1982 2> log/10/stderr1982 1982: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 1982 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1982 ../src/curl -q --output log/10/curl1982.out --include --trace-ascii log/10/trace1982 --trace-time 'imap://user.one:secret@127.0.0.1:43825/1982/;MAILINDEX=1' 'imap://user.one:secret;AUTH=XOAUTH2@127.0.0.1:43825/1982/;UID=2' > log/10/stdout1982 2> log/10/stderr1982 === End of file commands.log === Start of file imap_server.log 19:29:02.118802 ====> Client connect 19:29:02.118983 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:29:02.129043 < "A001 CAPABILITY" 19:29:02.129104 > "A001 BAD Command[CR][LF]" 19:29:02.135540 < "A002 LIST "verifiedserver" *" 19:29:02.135596 LIST_imap got "verifiedserver" * 19:29:02.135636 > "* LIST () "/" "WE ROOLZ: 121977"[CR][LF]" 19:29:02.135657 > "A002 OK LIST Completed[CR][LF]" 19:29:02.135671 return proof we are we 19:29:02.182394 < "A003 LOGOUT" 19:29:02.182464 > "* BYE curl IMAP server signing off[CR][LF]" 19:29:02.182489 > "A003 OK LOGOUT completed[CR][LF]" 19:29:02.183909 MAIN sockfilt said DISC 19:29:02.183948 ====> Client disconnected 19:29:02.184031 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:29:02.720900 ====> Client connect 19:29:02.721237 Received DATA (on stdin) 19:29:02.721251 > 164 bytes data, server => client 19:29:02.721262 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:29:02.721273 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:29:02.721282 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:29:02.730910 < 17 bytes data, client => server 19:29:02.730951 'A001 CAPABILITY\r\n' 19:29:02.731349 Received DATA (on stdin) 19:29:02.731363 > 18 bytes data, server => client 19:29:02.731373 'A001 BAD Command\r\n' 19:29:02.737566 < 30 bytes data, client => server 19:29:02.737599 'A002 LIST "verifiedserver" *\r\n' 19:29:02.737920 Received DATA (on stdin) 19:29:02.737936 > 34 bytes data, server => client 19:29:02.737947 '* LIST () "/" "WE ROOLZ: 121977"\r\n' 19:29:02.737984 Received DATA (on stdin) 19:29:02.737994 > 24 bytes data, server => client 19:29:02.738004 'A002 OK LIST Completed\r\n' 19:29:02.784408 < 13 bytes data, client => server 19:29:02.784444 'A003 LOGOUT\r\n' 19:29:02.784741 Received DATA (on stdin) 19:29:02.784757 > 36 bytes data, server => client 19:29:02.784767 '* BYE curl IMAP server signing off\r\n' 19:29:02.784795 Received DATA (on stdin) 19:29:02.784804 > 26 bytes data, server => client 19:29:02.784814 'A003 OK LOGOUT completed\r\n' 19:29:02.786088 ====> Client disconnect 19:29:02.786273 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd REPLY "LOGIN user.one secret" A002 OK LOGIN completed Testnum 1982 === End of file server.cmd === Start of file valgrind1982 ==177279== ==177279== Process terminating with default action of signal 4 (SIGILL) ==177279== Illegal opcode at address 0x492B75F ==177279== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177279== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177279== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177279== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177279== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177279== by 0x49908EB: curl_version_info (version.c:600) ==177279== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177279== by 0x4003269: main (tool_main.c:195) === End of file valgrind1982 test 1966 [netrc with digest and redirect to other origin] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1966 ../src/curl -q --output log/12/curl1966.out --include --trace-ascii log/12/trace1966 --trace-time --resolve host.evil.com:40921:127.0.0.1 --resolve host.corp.com:40921:127.0.0.1 --netrc-file log/12/netrc1966 --digest -L http://host.evil.com:40921/1966 --max-redirs 2 > log/12/stdout1966 2> log/12/stderr1966 1966: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 1966 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1966 ../src/curl -q --output log/12/curl1966.out --include --trace-ascii log/12/trace1966 --trace-time --resolve host.evil.com:40921:127.0.0.1 --resolve host.corp.com:40921:127.0.0.1 --netrc-file log/12/netrc1966 --digest -L http://host.evil.com:40921/1966 --max-redirs 2 > log/12/stdout1966 2> log/12/stderr1966 === End of file commands.log === Start of file http_server.log 19:29:01.350958 ====> Client connect 19:29:01.350995 accept_connection 3 returned 4 19:29:01.351018 Read 93 bytes 19:29:01.351027 Process 93 bytes request 19:29:01.351040 Got request: GET /verifiedserver HTTP/1.1 19:29:01.351049 Are-we-friendly question received 19:29:01.351074 Wrote request (93 bytes) input to log/12/server.input 19:29:01.351090 Identifying ourselves as friends 19:29:01.351158 Response sent (56 bytes) and written to log/12/server.response 19:29:01.351167 special request received, no persistency CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1983 ../src/curl -q --output log/9/curl1983.out --include --trace-ascii log/9/trace1983 --trace-time http://127.0.0.1:43733/blah/1983 --follow -X DELETE > log/9/stdout1983 2> log/9/stderr1983 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1984 ../src/curl -q --output log/5/curl1984.out --include --trace-ascii log/5/trace1984 --trace-time http://127.0.0.1:37089/blah/1984 --follow -T log/5/upload > log/5/stdout1984 2> log/5/stderr1984 19:29:01.351176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 59676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file netrc1966 machine host.evil.com login evil_user password evil_pass machine host.corp.com login corporate_admin password S3cretP@ssw0rd === End of file netrc1966 === Start of file server.cmd Testnum 1966 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind1966 ==177038== ==177038== Process terminating with default action of signal 4 (SIGILL) ==177038== Illegal opcode at address 0x492B75F ==177038== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177038== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177038== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177038== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177038== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177038== by 0x49908EB: curl_version_info (version.c:600) ==177038== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177038== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177038== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177038== by 0x4003269: main (tool_main.c:195) === End of file valgrind1966 test 1983 [HTTP DELETE with --follow and 303 redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1983 ../src/curl -q --output log/9/curl1983.out --include --trace-ascii log/9/trace1983 --trace-time http://127.0.0.1:43733/blah/1983 --follow -X DELETE > log/9/stdout1983 2> log/9/stderr1983 1983: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 1983 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1983 ../src/curl -q --output log/9/curl1983.out --include --trace-ascii log/9/trace1983 --trace-time http://127.0.0.1:43733/blah/1983 --follow -X DELETE > log/9/stdout1983 2> log/9/stderr1983 === End of file commands.log === Start of file http_server.log 19:29:01.780947 ====> Client connect 19:29:01.780985 accept_connection 3 returned 4 19:29:01.781007 Read 93 bytes 19:29:01.781016 Process 93 bytes request 19:29:01.781029 Got request: GET /verifiedserver HTTP/1.1 19:29:01.781037 Are-we-friendly question received 19:29:01.781064 Wrote request (93 bytes) input to log/9/server.input 19:29:01.781081 Identifying ourselves as friends 19:29:01.781147 Response sent (56 bytes) and written to log/9/server.response 19:29:01.781156 special request received, no persistency 19:29:01.781164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35622 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 1983 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind1983 ==177283== ==177283== Process terminating with default action of signal 4 (SIGILL) ==177283== Illegal opcode at address 0x492B75F ==177283== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177283== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177283== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177283== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177283== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177283== by 0x49908EB: curl_version_info (version.c:600) ==177283== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177283== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177283== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177283== by 0x4003269: main (tool_main.c:195) === End of file valgrind1983 test 1984 [HTTP PUT with 303 redirect and --follow] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1984 ../src/curl -q --output log/5/curl1984.out --include --trace-ascii log/5/trace1984 --trace-time http://127.0.0.1:37089/blah/1984 --follow -T log/5/upload > log/5/stdout1984 2> log/5/stderr1984 1984: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 1984 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind1984 ../src/curl -q --output log/5/curl1984.out --include --trace-ascii log/5/trace1984 --trace-time http://127.0.0.1:37089/blah/1984 --follow -T log/5/upload > log/5/stdout1984 2> log/5/stderr1984 === End of file commands.log === Start of file http_server.log 19:29:01.911523 ====> Client connect 19:29:01.911568 accept_connection 3 returned 4 19:29:01.911706 Read 93 bytes 19:29:01.911718 Process 93 bytes request 19:29:01.911730 Got request: GET /verifiedserver HTTP/1.1 19:29:01.911739 Are-we-friendly question received 19:29:01.911769 Wrote request (93 bytes) input to log/5/server.input 19:29:01.911786 Identifying ourselves as friends 19:29:01.911841 Response sent (56 bytes) and written to log/5/server.response 19:29:01.911851 special request received, no persistency 19:29:01.911859 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 48750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 1984 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file upload Except for responses to a HEAD request, the representation of a 303 response ought to contain a short hypertext note with a hyperlink to the same URI reference provided in the Location header field. === End of file upload === Start of file valgrind1984 ==177358== ==177358== Process terminating with default action of signal 4 (SIGILL) ==177358== Illegal opcode at address 0x492B75F ==177358== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177358== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177358== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177358== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177358== by 0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:37077/20010001 ftp://127.0.0.1:38555/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 x49908EB: UnknownInlinedFun (vtls.c:292) ==177358== by 0x49908EB: curl_version_info (version.c:600) ==177358== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177358== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177358== by 0x4003269: main (tool_main.c:195) === End of file valgrind1984 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2005 ../src/curl -q --output log/13/curl2005.out --include --trace-ascii log/13/trace2005 --trace-time --netrc-optional --netrc-file log/13/netrc2005 http://127.0.0.1:38821/ > log/13/stdout2005 2> log/13/stderr2005 test 2001 [HTTP GET followed by FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:37077/20010001 ftp://127.0.0.1:38555/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 2001: stdout FAILED: --- log/19/check-expected 2026-10-15 19:29:04.933406186 +0000 +++ log/19/check-generated 2026-10-15 19:29:04.929951351 +0000 @@ -1,12 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/19/ directory after test 2001 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2001 ../src/curl -q --trace-ascii log/19/trace2001 --trace-time http://127.0.0.1:37077/20010001 ftp://127.0.0.1:38555/20010002 file://localhost/startdir/src/build-curl/tests/log/19/test2001.txt > log/19/stdout2001 2> log/19/stderr2001 === End of file commands.log === Start of file ftp_server.log 19:29:02.775466 ====> Client connect 19:29:02.775682 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:02.775977 < "USER anonymous" 19:29:02.776018 > "331 We are happy you popped in![CR][LF]" 19:29:02.776200 < "PASS ftp@example.com" 19:29:02.776231 > "230 Welcome you silly person[CR][LF]" 19:29:02.776391 < "PWD" 19:29:02.776425 > "257 "/" is current directory[CR][LF]" 19:29:02.776593 < "EPSV" 19:29:02.776619 ====> Passive DATA channel requested by client 19:29:02.776637 DATA sockfilt for passive data channel starting... 19:29:02.786761 DATA sockfilt for passive data channel started (pid 177645) 19:29:02.786941 DATA sockfilt for passive data channel listens on port 34001 19:29:02.786998 > "229 Entering Passive Mode (|||34001|)[CR][LF]" 19:29:02.787018 Client has been notified that upcoming DATA connection is awaited on port 34001 19:29:02.798778 Client connects to port 34001 19:29:02.798854 ====> Client established passive DATA connection on port 34001 19:29:02.798979 < "TYPE I" 19:29:02.799023 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:02.799285 < "SIZE verifiedserver" 19:29:02.799332 > "213 17[CR][LF]" 19:29:02.799513 < "RETR verifiedserver" 19:29:02.799554 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:02.799652 =====> Closing passive DATA connection... 19:29:02.799672 Server disconnects passive DATA connection 19:29:02.799943 Server disconnected passive DATA connection 19:29:02.799972 DATA sockfilt for passive data channel quits (pid 177645) 19:29:02.800250 DATA sockfilt for passive data channel quit (pid 177645) 19:29:02.800276 =====> Closed passive DATA connection 19:29:02.800308 > "226 File transfer complete[CR][LF]" 19:29:02.845665 < "QUIT" 19:29:02.845725 > "221 bye bye baby[CR][LF]" 19:29:02.846956 MAIN sockfilt said DISC 19:29:02.846994 ====> Client disconnected 19:29:02.847076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:02.377569 ====> Client connect 19:29:02.377942 Received DATA (on stdin) 19:29:02.377958 > 146 bytes data, server => client 19:29:02.377970 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:02.377980 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:02.377989 '220 \___|\___/|_| \_\_____|\r\n' 19:29:02.378081 < 16 bytes data, client => server 19:29:02.378095 'USER anonymous\r\n' 19:29:02.378263 Received DATA (on stdin) 19:29:02.378275 > 33 bytes data, server => client 19:29:02.378285 '331 We are happy you popped in!\r\n' 19:29:02.378342 < 22 bytes data, client => server 19:29:02.378354 'PASS ftp@example.com\r\n' 19:29:02.378472 Received DATA (on stdin) 19:29:02.378482 > 30 bytes data, server => client 19:29:02.378492 '230 Welcome you silly person\r\n' 19:29:02.378545 < 5 bytes data, client => server 19:29:02.378555 'PWD\r\n' 19:29:02.378663 Received DATA (on stdin) 19:29:02.378674 > 30 bytes data, server => client 19:29:02.378683 '257 "/" is current directory\r\n' 19:29:02.378746 < 6 bytes data, client => server 19:29:02.378757 'EPSV\r\n' 19:29:02.394233 Received DATA (on stdin) 19:29:02.394276 > 39 bytes data, server => client 19:29:02.394289 '229 Entering Passive Mode (|||34001|)\r\n' 19:29:02.397731 < 8 bytes data, client => server 19:29:02.397756 'TYPE I\r\n' 19:29:02.401274 Received DATA (on stdin) 19:29:02.401292 > 33 bytes data, server => client 19:29:02.401302 '200 I modify TYPE as you wanted\r\n' 19:29:02.401414 < 21 bytes data, client => server 19:29:02.401429 'SIZE verifiedserver\r\n' 19:29:02.401578 Received DATA (on stdin) 19:29:02.401589 > 8 bytes data, server => client 19:29:02.401599 '213 17\r\n' 19:29:02.401660 < 21 bytes data, client => server 19:29:02.401673 'RETR verifiedserver\r\n' 19:29:02.401915 Received DATA (on stdin) 19:29:02.401927 > 29 bytes data, server => client 19:29:02.401937 '150 Binary junk (17 bytes).\r\n' 19:29:02.402551 Received DATA (on stdin) 19:29:02.402563 > 28 bytes data, server => client 19:29:02.402573 '226 File transfer complete\r\n' 19:29:02.447682 < 6 bytes data, client => server 19:29:02.447711 'QUIT\r\n' 19:29:02.447971 Received DATA (on stdin) 19:29:02.447984 > 18 bytes data, server => client 19:29:02.447995 '221 bye bye baby\r\n' 19:29:02.449138 ====> Client disconnect 19:29:02.449313 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:02.388399 Running IPv4 version 19:29:02.388501 Listening on port 34001 19:29:02.388543 Wrote pid 177645 to log/19/server/ftp_sockdata.pid 19:29:02.388565 Received PING (on stdin) 19:29:02.389063 Received PORT (on stdin) 19:29:02.400929 ====> Client connect 19:29:02.402006 Received DATA (on stdin) 19:29:02.402023 > 17 bytes data, server => client 19:29:02.402033 'WE ROOLZ: 84587\r\n' 19:29:02.402063 Received DISC (on stdin) 19:29:02.402076 ====> Client forcibly disconnected 19:29:02.402225 Received QUIT (on stdin) 19:29:02.402236 quits 19:29:02.402315 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:29:02.270192 ====> Client connect 19:29:02.270230 accept_connection 3 returned 4 19:29:02.270253 Read 93 bytes 19:29:02.270263 Process 93 bytes request 19:29:02.270275 Got request: GET /verifiedserver HTTP/1.1 19:29:02.270284 Are-we-friendly question received 19:29:02.270313 Wrote request (93 bytes) input to log/19/server.input 19:29:02.270329 Identifying ourselves as friends 19:29:02.270394 Response sent (57 bytes) and written to log/19/server.response 19:29:02.270404 special request received, no persistency 19:29:02.270412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 46456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 2001 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file test2001.txt foo bar bar foo moo === End of file testCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:40321/2023 basic basic > log/15/stdout2023 2> log/15/stderr2023 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2036 ../src/curl -q --output log/11/curl2036.out --include --trace-ascii log/11/trace2036 --trace-time --proto-default https:// > log/11/stdout2036 2> log/11/stderr2036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:40221/ > log/1/stdout2039 2> log/1/stderr2039 2001.txt === Start of file valgrind2001 ==177704== ==177704== Process terminating with default action of signal 4 (SIGILL) ==177704== Illegal opcode at address 0x492B75F ==177704== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177704== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177704== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177704== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177704== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177704== by 0x49908EB: curl_version_info (version.c:600) ==177704== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177704== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177704== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177704== by 0x4003269: main (tool_main.c:195) === End of file valgrind2001 test 2005 [netrc match with password only in file, no username. machine follows] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2005 ../src/curl -q --output log/13/curl2005.out --include --trace-ascii log/13/trace2005 --trace-time --netrc-optional --netrc-file log/13/netrc2005 http://127.0.0.1:38821/ > log/13/stdout2005 2> log/13/stderr2005 2005: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 2005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2005 ../src/curl -q --output log/13/curl2005.out --include --trace-ascii log/13/trace2005 --trace-time --netrc-optional --netrc-file log/13/netrc2005 http://127.0.0.1:38821/ > log/13/stdout2005 2> log/13/stderr2005 === End of file commands.log === Start of file http_server.log 19:29:02.673529 ====> Client connect 19:29:02.673563 accept_connection 3 returned 4 19:29:02.673703 Read 93 bytes 19:29:02.673715 Process 93 bytes request 19:29:02.673729 Got request: GET /verifiedserver HTTP/1.1 19:29:02.673737 Are-we-friendly question received 19:29:02.673769 Wrote request (93 bytes) input to log/13/server.input 19:29:02.673786 Identifying ourselves as friends 19:29:02.673846 Response sent (56 bytes) and written to log/13/server.response 19:29:02.673855 special request received, no persistency 19:29:02.673864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54816 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file netrc2005 machine 127.0.0.1 password 5up3r53cr37 machine example.com === End of file netrc2005 === Start of file server.cmd Testnum 2005 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind2005 ==177832== ==177832== Process terminating with default action of signal 4 (SIGILL) ==177832== Illegal opcode at address 0x492B75F ==177832== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177832== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177832== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177832== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177832== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177832== by 0x49908EB: curl_version_info (version.c:600) ==177832== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177832== by 0x4003269: main (tool_main.c:195) === End of file valgrind2005 test 2023 [HTTP authorization retry (Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:40321/2023 basic basic > log/15/stdout2023 2> log/15/stderr2023 2023: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2023 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:40321/2023 basic basic > log/15/stdout2023 2> log/15/stderr2023 === End of file commands.log === Start of file http_server.log 19:29:03.951492 ====> Client connect 19:29:03.951528 accept_connection 3 returned 4 19:29:03.951551 Read 93 bytes 19:29:03.951562 Process 93 bytes request 19:29:03.951576 Got request: GET /verifiedserver HTTP/1.1 19:29:03.951585 Are-we-friendly question received 19:29:03.951614 Wrote request (93 bytes) input to log/15/server.input 19:29:03.951631 Identifying ourselves as friends 19:29:03.951696 Response sent (56 bytes) and written to log/15/server.response 19:29:03.951706 special request received, no persistency 19:29:03.951715 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 39570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 2023 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind2023 ==178217== ==178217== Process terminating with default action of signal 4 (SIGILL) ==178217== Illegal opcode at address 0x51CC63F ==178217== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==178217== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==178217== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==178217== by 0x40041AF: main (first.c:264) === End of file valgrind2023 test 2039 [FTP optional .netrc with 'default' override; no user/pass, dir list] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:40221/ > log/1/stdout2039 2> log/1/stderr2039 2039: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 2039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2039 ../src/curl -q --output log/1/curl2039.out --include --trace-ascii log/1/trace2039 --trace-time --netrc-optional --netrc-file log/1/netrc2039 ftp://127.0.0.1:40221/ > log/1/stdout2039 2> log/1/stderr2039 === End of file commands.log === Start of file ftp_server.log 19:29:03.445441 ====> Client connect 19:29:03.445699 > "220- CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2000 ../src/curl -q --trace-ascii log/16/trace2000 --trace-time ftp://127.0.0.1:40031/2000 file://localhost/startdir/src/build-curl/tests/log/16/test2000.txt > log/16/stdout2000 2> log/16/stderr2000 _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:03.455605 < "USER anonymous" 19:29:03.455675 > "331 We are happy you popped in![CR][LF]" 19:29:03.462098 < "PASS ftp@example.com" 19:29:03.462181 > "230 Welcome you silly person[CR][LF]" 19:29:03.462600 < "PWD" 19:29:03.462632 > "257 "/" is current directory[CR][LF]" 19:29:03.462834 < "EPSV" 19:29:03.462872 ====> Passive DATA channel requested by client 19:29:03.462887 DATA sockfilt for passive data channel starting... 19:29:03.473015 DATA sockfilt for passive data channel started (pid 178357) 19:29:03.473165 DATA sockfilt for passive data channel listens on port 38905 19:29:03.473215 > "229 Entering Passive Mode (|||38905|)[CR][LF]" 19:29:03.473232 Client has been notified that upcoming DATA connection is awaited on port 38905 19:29:03.473573 Client connects to port 38905 19:29:03.473609 ====> Client established passive DATA connection on port 38905 19:29:03.473715 < "TYPE I" 19:29:03.473755 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:03.473938 < "SIZE verifiedserver" 19:29:03.473981 > "213 17[CR][LF]" 19:29:03.474137 < "RETR verifiedserver" 19:29:03.474169 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:03.474262 =====> Closing passive DATA connection... 19:29:03.474278 Server disconnects passive DATA connection 19:29:03.474521 Server disconnected passive DATA connection 19:29:03.474547 DATA sockfilt for passive data channel quits (pid 178357) 19:29:03.474781 DATA sockfilt for passive data channel quit (pid 178357) 19:29:03.474806 =====> Closed passive DATA connection 19:29:03.474884 > "226 File transfer complete[CR][LF]" 19:29:03.518937 < "QUIT" 19:29:03.518987 > "221 bye bye baby[CR][LF]" 19:29:03.520350 MAIN sockfilt said DISC 19:29:03.520397 ====> Client disconnected 19:29:03.520472 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:04.040830 ====> Client connect 19:29:04.047963 Received DATA (on stdin) 19:29:04.047982 > 146 bytes data, server => client 19:29:04.047993 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:04.048004 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:04.048013 '220 \___|\___/|_| \_\_____|\r\n' 19:29:04.054237 < 16 bytes data, client => server 19:29:04.054270 'USER anonymous\r\n' 19:29:04.061272 Received DATA (on stdin) 19:29:04.061303 > 33 bytes data, server => client 19:29:04.061316 '331 We are happy you popped in!\r\n' 19:29:04.061743 < 22 bytes data, client => server 19:29:04.061763 'PASS ftp@example.com\r\n' 19:29:04.064403 Received DATA (on stdin) 19:29:04.064424 > 30 bytes data, server => client 19:29:04.064434 '230 Welcome you silly person\r\n' 19:29:04.064514 < 5 bytes data, client => server 19:29:04.064525 'PWD\r\n' 19:29:04.064855 Received DATA (on stdin) 19:29:04.064868 > 30 bytes data, server => client 19:29:04.064878 '257 "/" is current directory\r\n' 19:29:04.064946 < 6 bytes data, client => server 19:29:04.064957 'EPSV\r\n' 19:29:04.075482 Received DATA (on stdin) 19:29:04.075500 > 39 bytes data, server => client 19:29:04.075511 '229 Entering Passive Mode (|||38905|)\r\n' 19:29:04.075726 < 8 bytes data, client => server 19:29:04.075741 'TYPE I\r\n' 19:29:04.075999 Received DATA (on stdin) 19:29:04.076012 > 33 bytes data, server => client 19:29:04.076022 '200 I modify TYPE as you wanted\r\n' 19:29:04.076087 < 21 bytes data, client => server 19:29:04.076097 'SIZE verifiedserver\r\n' 19:29:04.076221 Received DATA (on stdin) 19:29:04.076231 > 8 bytes data, server => client 19:29:04.076241 '213 17\r\n' 19:29:04.076293 < 21 bytes data, client => server 19:29:04.076304 'RETR verifiedserver\r\n' 19:29:04.076521 Received DATA (on stdin) 19:29:04.076531 > 29 bytes data, server => client 19:29:04.076541 '150 Binary junk (17 bytes).\r\n' 19:29:04.077053 Received DATA (on stdin) 19:29:04.077065 > 28 bytes data, server => client 19:29:04.077083 '226 File transfer complete\r\n' 19:29:04.121018 < 6 bytes data, client => server 19:29:04.121042 'QUIT\r\n' 19:29:04.121233 Received DATA (on stdin) 19:29:04.121246 > 18 bytes data, server => client 19:29:04.121256 '221 bye bye baby\r\n' 19:29:04.122531 ====> Client disconnect 19:29:04.122714 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:03.072242 Running IPv4 version 19:29:03.072343 Listening on port 38905 19:29:03.072382 Wrote pid 178357 to log/1/server/ftp_sockdata.pid 19:29:03.075181 Received PING (on stdin) 19:29:03.075302 Received PORT (on stdin) 19:29:03.075764 ====> Client connect 19:29:03.076601 Received DATA (on stdin) 19:29:03.076615 > 17 bytes data, server => client 19:29:03.076625 'WE ROOLZ: 84935\r\n' 19:29:03.076652 Received DISC (on stdin) 19:29:03.076663 ====> Client forcibly disconnected 19:29:03.076796 Received QUIT (on stdin) 19:29:03.076806 quits 19:29:03.076877 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file netrc2039 # the following two lines were created while testing curl default login userdef password passwddef machine 127.0.0.1 login user1 password passwd1 machine 127.0.0.1 login user2 password passwd2 === End of file netrc2039 === Start of file server.cmd Testnum 2039 === End of file server.cmd === Start of file valgrind2039 ==178512== ==178512== Process terminating with default action of signal 4 (SIGILL) ==178512== Illegal opcode at address 0x492B75F ==178512== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178512== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178512== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178512== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178512== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178512== by 0x49908EB: curl_version_info (version.c:600) ==178512== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178512== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178512== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178512== by 0x4003269: main (tool_main.c:195) === End of file valgrind2039 test 2036 [Attempt to set a default protocol with :// suffix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2036 ../src/curl -q --output log/11/curl2036.out --include --trace-ascii log/11/trace2036 --trace-time --proto-default https:// > log/11/stdout2036 2> log/11/stderr2036 curl returned 132, when expecting 1 2036: exit FAILED == Contents of files in the log/11/ directory after test 2036 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2036 ../src/curl -q --output log/11/curl2036.out --include --trace-ascii log/11/trace2036 --trace-time --proto-default https:// > log/11/stdout2036 2> log/11/stderr2036 === End of file commands.log === Start of file server.cmd Testnum 2036 === End of file server.cmd === Start of file valgrind2036 ==178151== ==178151== Process terminating with default action of signal 4 (SIGILL) ==178151== Illegal opcode at address 0x492B75F ==178151== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178151== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178151== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178151== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178151== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178151== by 0x49908EB: curl_version_info (version.c:600) ==178151== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178151== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178151== by 0x4003269: main (tool_main.c:195) === End of file valgrind2036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:45467/2026 digest basic > log/14/stdout2026 2> log/14/stderr2026 test 2000 [FTP RETR followed by FILE] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2000 ../src/curl -q --trace-ascii log/16/trace2000 --trace-time ftp://127.0.0.1:40031/2000 file://localhost/startdir/src/build-curl/tests/log/16/test2000.txt > log/16/stdout2000 2> log/16/stderr2000 2000: stdout FAILED: --- log/16/check-expected 2026-10-15 19:29:05.252333672 +0000 +++ log/16/check-generated 2026-10-15 19:29:05.249271542 +0000 @@ -1,11 +0,0 @@ -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/16/ directory after test 2000 === Start of file check-expected data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2000 ../src/curl -q --trace-ascii log/16/trace2000 --trace-time ftp://127.0.0.1:40031/2000 file://localhost/startdir/src/build-curl/tests/log/16/test2000.txt > log/16/stdout2000 2> log/16/stderr2000 === End of file commands.log === Start of file ftp_server.log 19:29:02.641519 ====> Client connect 19:29:02.641843 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:02.642094 < "USER anonymous" 19:29:02.642134 > "331 We are happy you popped in![CR][LF]" 19:29:02.645528 < "PASS ftp@example.com" 19:29:02.645568 > "230 Welcome you silly person[CR][LF]" 19:29:02.645746 < "PWD" 19:29:02.645784 > "257 "/" is current directory[CR][LF]" 19:29:02.645958 < "EPSV" 19:29:02.645986 ====> Passive DATA channel requested by client 19:29:02.646001 DATA sockfilt for passive data channel starting... 19:29:02.649351 DATA sockfilt for passive data channel started (pid 177592) 19:29:02.649458 DATA sockfilt for passive data channel listens on port 39847 19:29:02.649504 > "229 Entering Passive Mode (|||39847|)[CR][LF]" 19:29:02.649523 Client has been notified that upcoming DATA connection is awaited on port 39847 19:29:02.649780 Client connects to port 39847 19:29:02.649813 ====> Client established passive DATA connection on port 39847 19:29:02.649899 < "TYPE I" 19:29:02.649929 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:02.650091 < "SIZE verifiedserver" 19:29:02.650132 > "213 17[CR][LF]" 19:29:02.650283 < "RETR verifiedserver" 19:29:02.650318 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:02.650404 =====> Closing passive DATA connection... 19:29:02.650420 Server disconnects passive DATA connection 19:29:02.650644 Server disconnected passive DATA connection 19:29:02.650668 DATA sockfilt for passive data channel quits (pid 177592) 19:29:02.650882 DATA sockfilt for passive data channel quit (pid 177592) 19:29:02.650902 =====> Closed passive DATA connection 19:29:02.650927 > "226 File transfer complete[CR][LF]" 19:29:02.696467 < "QUIT" 19:29:02.696523 > "221 bye bye baby[CR][LF]" 19:29:02.700466 MAIN sockfilt said DISC 19:29:02.700524 ====> Client disconnected 19:29:02.700604 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:02.243628 ====> Client connect 19:29:02.243949 Received DATA (on stdin) 19:29:02.243970 > 146 bytes data, server => client 19:29:02.243992 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:02.244002 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:02.244012 '220 \___|\___/|_| \_\_____|\r\n' 19:29:02.244158 < 16 bytes data, client => server 19:29:02.244173 'USER anonymous\r\n' 19:29:02.244379 Received DATA (on stdin) 19:29:02.244392 > 33 bytes data, server => client 19:29:02.244402 '331 We are happy you popped in!\r\n' 19:29:02.247631 < 22 bytes data, client => server 19:29:02.247651 'PASS ftp@example.com\r\n' 19:29:02.247813 Received DATA (on stdin) 19:29:02.247825 > 30 bytes data, server => client 19:29:02.247835 '230 Welcome you silly person\r\n' 19:29:02.247892 < 5 bytes data, client => server 19:29:02.247903 'PWD\r\n' 19:29:02.248025 Received DATA (on stdin) 19:29:02.248036 > 30 bytes data, server => client 19:29:02.248046 '257 "/" is current directory\r\n' 19:29:02.248109 < 6 bytes data, client => server 19:29:02.248121 'EPSV\r\n' 19:29:02.251768 Received DATA (on stdin) 19:29:02.251781 > 39 bytes data, server => client 19:29:02.251791 '229 Entering Passive Mode (|||39847|)\r\n' 19:29:02.251934 < 8 bytes data, client => server 19:29:02.251951 'TYPE I\r\n' 19:29:02.252170 Received DATA (on stdin) 19:29:02.252181 > 33 bytes data, server => client 19:29:02.252192 '200 I modify TYPE as you wanted\r\n' 19:29:02.252245 < 21 bytes data, client => server 19:29:02.252256 'SIZE verifiedserver\r\n' 19:29:02.252372 Received DATA (on stdin) 19:29:02.252383 > 8 bytes data, server => client 19:29:02.252392 '213 17\r\n' 19:29:02.252442 < 21 bytes data, client => server 19:29:02.252453 'RETR verifiedserver\r\n' 19:29:02.252662 Received DATA (on stdin) 19:29:02.252673 > 29 bytes data, server => client 19:29:02.252683 '150 Binary junk (17 bytes).\r\n' 19:29:02.253167 Received DATA (on stdin) 19:29:02.253179 > 28 bytes data, server => client 19:29:02.253189 '226 File transfer complete\r\n' 19:29:02.298517 < 6 bytes data, client => server 19:29:02.298541 'QUIT\r\n' 19:29:02.298767 Received DATA (on stdin) 19:29:02.298778 > 18 bytes data, server => client 19:29:02.298788 '221 bye bye baby\r\n' 19:29:02.302629 ====> Client disconnect 19:29:02.302845 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:02.250471 Running IPv4 version 19:29:02.250539 Listening on port 39847 19:29:02.250613 Wrote pid 177592 to log/16/server/ftp_sockdata.pid 19:29:02.251527 Received PING (on stdin) 19:29:02.251614 Received PORT (on stdin) 19:29:02.251971 ====> Client connect 19:29:02.252738 Received DATA (on stdin) 19:29:02.252751 > 17 bytes data, server => client 19:29:02.252761 'WE ROOLZ: 84702\r\n' 19:29:02.252785 Received DISC (on stdin) 19:29:02.252795 ====> Client forcibly disconnected 19:29:02.252914 Received QUIT (on stdin) 19:29:02.252924 quits 19:29:02.252988 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2000 === End of file server.cmd === Start of file test2000.txt foo bar bar foo moo === End of file test2000.txt === Start of file valgrind2000 ==177618== ==177618== Process terminating with default action of signal 4 (SIGILL) ==177618== Illegal opcode at address 0x492B75F ==177618== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177618== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177618== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177618== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177618== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177618== by 0x49908EB: curl_version_info (version.c:600) ==177618== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177618== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177618== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177618== by 0x4003269: main (tool_main.c:195) === End of file valgrind2000 test 2026 [HTTP authorization retry (Digest switching to Basic)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:45467/2026 digest basic > log/14/stdout2026 2> log/14/stderr2026 2026: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 2026 === Start of filCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:38895/2024 basic digest > log/24/stdout2024 2> log/24/stderr2024 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2013 ../src/curl -q --include --trace-ascii log/6/trace2013 --trace-time -T 'log/6/upload{1,2}' http://127.0.0.1:33935/2013 http://127.0.0.1:33935/20130002 --silent --output=log/6/first-out --output=log/6/second-out > log/6/stdout2013 2> log/6/stderr2013 e commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:45467/2026 digest basic > log/14/stdout2026 2> log/14/stderr2026 === End of file commands.log === Start of file http_server.log 19:29:03.032928 ====> Client connect 19:29:03.032976 accept_connection 3 returned 4 19:29:03.033000 Read 93 bytes 19:29:03.033010 Process 93 bytes request 19:29:03.033025 Got request: GET /verifiedserver HTTP/1.1 19:29:03.033034 Are-we-friendly question received 19:29:03.033062 Wrote request (93 bytes) input to log/14/server.input 19:29:03.033079 Identifying ourselves as friends 19:29:03.033147 Response sent (56 bytes) and written to log/14/server.response 19:29:03.033156 special request received, no persistency 19:29:03.033164 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 44794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 2026 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind2026 ==178398== ==178398== Process terminating with default action of signal 4 (SIGILL) ==178398== Illegal opcode at address 0x51CC63F ==178398== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==178398== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==178398== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==178398== by 0x40041AF: main (first.c:264) === End of file valgrind2026 test 2024 [HTTP authorization retry (Basic switching to Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:38895/2024 basic digest > log/24/stdout2024 2> log/24/stderr2024 2024: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2024 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:38895/2024 basic digest > log/24/stdout2024 2> log/24/stderr2024 === End of file commands.log === Start of file http_server.log 19:29:03.040948 ====> Client connect 19:29:03.040990 accept_connection 3 returned 4 19:29:03.041015 Read 93 bytes 19:29:03.041025 Process 93 bytes request 19:29:03.041038 Got request: GET /verifiedserver HTTP/1.1 19:29:03.041046 Are-we-friendly question received 19:29:03.041072 Wrote request (93 bytes) input to log/24/server.input 19:29:03.041089 Identifying ourselves as friends 19:29:03.041180 Response sent (56 bytes) and written to log/24/server.response 19:29:03.041191 special request received, no persistency 19:29:03.041199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 55722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 2024 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind2024 ==178483== ==178483== Process terminating with default action of signal 4 (SIGILL) ==178483== Illegal opcode at address 0x51CC63F ==178483== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==178483== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==178483== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==178483== by 0x40041AF: main (first.c:264) === End of file valgrind2024 test 2013 [upload with a glob] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2013 ../src/curl -q --include --trace-ascii log/6/trace2013 --trace-time -T 'log/6/upload{1,2}' http://127.0.0.1:33935/2013 http://127.0.0.1:33935/20130002 --silent --output=log/6/first-out --output=log/6/second-out > log/6/stdout2013 2> log/6/stderr2013 2013: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 2013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2013 ../src/curl -q --include --trace-ascii log/6/trace2013 --trace-time -T 'log/6/upload{1,2}' http://127.0.0.1:33935/2013 http://127.0.0.1:33935/20130002 --silent --output=log/6/first-out --output=log/6/second-out > log/6/stdout2013 2> log/6/stderr2013 === End of file commands.log === Start of file http_server.log 19:29:02.920054 ====> Client connect 19:29:02.920109 accept_connection 3 returned 4 19:29:02.920128 Read 93 bytes 19:29:02.920137 Process 93 bytes request 19:29:02.920149 Got request: GET /verifiedserver HTTP/1.1 19:29:02.920157 Are-we-friendly question received 19:29:02.920180 Wrote request (93 bytes) input to log/6/server.input 19:29:02.920195 Identifying ourselves as friends 19:29:02.920251 Response sent (56 bytes) and written to log/6/server.response 19:29:02.920260 special request received, no persistency 19:29:02.920268 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 39486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 2013 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind2013 ==178120== ==178120== Process terminating with default action of signal 4 (SIGILL) ==178120== Illegal opcode at address 0x492B75F ==178120== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178120== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178120== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178120== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178120== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178120== by 0x49908EB: curl_version_info (version.c:600) ==178120== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178120== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178120== by 0x4003269: main (tool_main.c:195) === End of file valgriCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2014 ../src/curl -q --include --trace-ascii log/3/trace2014 --trace-time -T 'log/3/upload{1,2}' http://127.0.0.1:36161/2014 --silent '--output=log/3/out-#' > log/3/stdout2014 2> log/3/stderr2014 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34531/2027 digest digest > log/2/stdout2027 2> log/2/stderr2027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2012 ../src/curl -q --include --trace-ascii log/17/trace2012 --trace-time -T 'log/17/upload{1,2}' --url @log/17/urls --silent --output=log/17/first-out --output=log/17/second-out > log/17/stdout2012 2> log/17/stderr2012 nd2013 test 2014 [upload with glob, output name based on upload glob] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2014 ../src/curl -q --include --trace-ascii log/3/trace2014 --trace-time -T 'log/3/upload{1,2}' http://127.0.0.1:36161/2014 --silent '--output=log/3/out-#' > log/3/stdout2014 2> log/3/stderr2014 2014: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 2014 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2014 ../src/curl -q --include --trace-ascii log/3/trace2014 --trace-time -T 'log/3/upload{1,2}' http://127.0.0.1:36161/2014 --silent '--output=log/3/out-#' > log/3/stdout2014 2> log/3/stderr2014 === End of file commands.log === Start of file http_server.log 19:29:03.914277 ====> Client connect 19:29:03.914313 accept_connection 3 returned 4 19:29:03.914334 Read 93 bytes 19:29:03.914343 Process 93 bytes request 19:29:03.914354 Got request: GET /verifiedserver HTTP/1.1 19:29:03.914363 Are-we-friendly question received 19:29:03.914387 Wrote request (93 bytes) input to log/3/server.input 19:29:03.914403 Identifying ourselves as friends 19:29:03.914470 Response sent (56 bytes) and written to log/3/server.response 19:29:03.914479 special request received, no persistency 19:29:03.914487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 56394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 2014 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind2014 ==178146== ==178146== Process terminating with default action of signal 4 (SIGILL) ==178146== Illegal opcode at address 0x492B75F ==178146== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178146== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178146== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178146== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178146== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178146== by 0x49908EB: curl_version_info (version.c:600) ==178146== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178146== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178146== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178146== by 0x4003269: main (tool_main.c:195) === End of file valgrind2014 test 2027 [HTTP authorization retry (Digest)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34531/2027 digest digest > log/2/stdout2027 2> log/2/stderr2027 2027: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:34531/2027 digest digest > log/2/stdout2027 2> log/2/stderr2027 === End of file commands.log === Start of file http_server.log 19:29:04.064482 ====> Client connect 19:29:04.064525 accept_connection 3 returned 4 19:29:04.064552 Read 93 bytes 19:29:04.064561 Process 93 bytes request 19:29:04.064572 Got request: GET /verifiedserver HTTP/1.1 19:29:04.064579 Are-we-friendly question received 19:29:04.064602 Wrote request (93 bytes) input to log/2/server.input 19:29:04.064616 Identifying ourselves as friends 19:29:04.064690 Response sent (56 bytes) and written to log/2/server.response 19:29:04.064698 special request received, no persistency 19:29:04.064705 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 32860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2027 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2027 ==178464== ==178464== Process terminating with default action of signal 4 (SIGILL) ==178464== Illegal opcode at address 0x51CC63F ==178464== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==178464== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==178464== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==178464== by 0x40041AF: main (first.c:264) === End of file valgrind2027 test 2012 [load URLs from a file, upload with a glob] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2012 ../src/curl -q --include --trace-ascii log/17/trace2012 --trace-time -T 'log/17/upload{1,2}' --url @log/17/urls --silent --output=log/17/first-out --output=log/17/second-out > log/17/stdout2012 2> log/17/stderr2012 2012: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 2012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2012 ../src/curl -q --include --trace-ascii log/17/trace2012 --trace-time -T 'log/17/upload{1,2}' --url @log/17/urls --silent --output=log/17/first-out --output=log/17/second-out > log/17/stdout2012 2> log/17/stderr2012 === End of file commands.log === Start of file http_server.log 19:29:03.892787 ====> Client connect 19:29:03.892831 accept_connection 3 returned 4 19:29:03.892860 Read 93 bytes 19:29:03.892869 Process 93 bytes request 19:29:03.892881 Got request: GET /verifiedserver HTTP/1.1 19:29:03.892890 Are-we-friendly question received 19:29:03.892918 Wrote request (93 bytes) input to log/17/server.input 19:29:03.892935 Identifying ourselves as friends 19:29:03.893004 Response sent (56 bytes) and written to log/17/server.response 19:29:03.893014 special request received, no persistency 19:29:03.893023 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 58844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === StaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2008 ../src/curl -q --output log/20/curl2008.out --include --trace-ascii log/20/trace2008 --trace-time ftp.test --proto-default=http --resolve ftp.test:80:127.0.0.1 -G -d hello -x http://127.0.0.1:41689/ > log/20/stdout2008 2> log/20/stderr2008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2006 ../src/curl -q --output log/21/curl2006.out --include --trace-ascii log/21/trace2006 --trace-time --netrc --netrc-file log/21/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:39881/ http://a.com/ > log/21/stdout2006 2> log/21/stderr2006 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2015 ../src/curl -q --output log/7/curl2015.out --include --trace-ascii log/7/trace2015 --trace-time http://first.host.it.is/we/want/that/page/2015 -x 127.0.0.1:40859 -b "test=yes" --location > log/7/stdout2015 2> log/7/stderr2015 rt of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 2012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file urls http://127.0.0.1:35993/2012 http://127.0.0.1:35993/20120002 === End of file urls === Start of file valgrind2012 ==178103== ==178103== Process terminating with default action of signal 4 (SIGILL) ==178103== Illegal opcode at address 0x492B75F ==178103== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178103== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178103== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178103== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178103== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178103== by 0x49908EB: curl_version_info (version.c:600) ==178103== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178103== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178103== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178103== by 0x4003269: main (tool_main.c:195) === End of file valgrind2012 test 2008 [-G with --proto-default=http and scheme-less URL starting with "ftp"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2008 ../src/curl -q --output log/20/curl2008.out --include --trace-ascii log/20/trace2008 --trace-time ftp.test --proto-default=http --resolve ftp.test:80:127.0.0.1 -G -d hello -x http://127.0.0.1:41689/ > log/20/stdout2008 2> log/20/stderr2008 2008: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2008 ../src/curl -q --output log/20/curl2008.out --include --trace-ascii log/20/trace2008 --trace-time ftp.test --proto-default=http --resolve ftp.test:80:127.0.0.1 -G -d hello -x http://127.0.0.1:41689/ > log/20/stdout2008 2> log/20/stderr2008 === End of file commands.log === Start of file http_server.log 19:29:02.803492 ====> Client connect 19:29:02.803520 accept_connection 3 returned 4 19:29:02.803538 Read 93 bytes 19:29:02.803547 Process 93 bytes request 19:29:02.803557 Got request: GET /verifiedserver HTTP/1.1 19:29:02.803565 Are-we-friendly question received 19:29:02.803593 Wrote request (93 bytes) input to log/20/server.input 19:29:02.803607 Identifying ourselves as friends 19:29:02.803662 Response sent (57 bytes) and written to log/20/server.response 19:29:02.803670 special request received, no persistency 19:29:02.803677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 46910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 2008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind2008 ==177957== ==177957== Process terminating with default action of signal 4 (SIGILL) ==177957== Illegal opcode at address 0x492B75F ==177957== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177957== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177957== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177957== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177957== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177957== by 0x49908EB: curl_version_info (version.c:600) ==177957== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177957== by 0x4003269: main (tool_main.c:195) === End of file valgrind2008 test 2006 [.netrc default with redirect plus oauth2-bearer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2006 ../src/curl -q --output log/21/curl2006.out --include --trace-ascii log/21/trace2006 --trace-time --netrc --netrc-file log/21/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:39881/ http://a.com/ > log/21/stdout2006 2> log/21/stderr2006 2006: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2006 ../src/curl -q --output log/21/curl2006.out --include --trace-ascii log/21/trace2006 --trace-time --netrc --netrc-file log/21/netrc2006 --oauth2-bearer SECRET_TOKEN -L -x http://127.0.0.1:39881/ http://a.com/ > log/21/stdout2006 2> log/21/stderr2006 === End of file commands.log === Start of file http_server.log 19:29:02.674275 ====> Client connect 19:29:02.674310 accept_connection 3 returned 4 19:29:02.674329 Read 93 bytes 19:29:02.674338 Process 93 bytes request 19:29:02.674347 Got request: GET /verifiedserver HTTP/1.1 19:29:02.674355 Are-we-friendly question received 19:29:02.674382 Wrote request (93 bytes) input to log/21/server.input 19:29:02.674398 Identifying ourselves as friends 19:29:02.674476 Response sent (56 bytes) and written to log/21/server.response 19:29:02.674486 special request received, no persistency 19:29:02.674494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 35088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file netrc2006 default login testuser password testpass === End of file netrc2006 === Start of file server.cmd Testnum 2006 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind2006 ==177838== ==177838== Process terminating with default action of signal 4 (SIGILL) ==177838== Illegal opcode at address 0x492B75F ==177838== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==177838== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==177838== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==177838== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==177838== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==177838== by 0x49908EB: curl_version_info (version.c:600) ==177838== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==177838== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==177838== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==177838== by 0x4003269: main (tool_main.c:195) === End of file valgrind2006 test 2015 [HTTP with cookie with with -b and redirect to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2040 ../src/curl -q --trace-ascii log/8/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:44467/20400100 --next --no-basic http://127.0.0.1:44467/20400200 > log/8/stdout2040 2> log/8/stderr2040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:36115 > log/18/stdout2045 2> log/18/stderr2045 memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2015 ../src/curl -q --output log/7/curl2015.out --include --trace-ascii log/7/trace2015 --trace-time http://first.host.it.is/we/want/that/page/2015 -x 127.0.0.1:40859 -b "test=yes" --location > log/7/stdout2015 2> log/7/stderr2015 2015: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 2015 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2015 ../src/curl -q --output log/7/curl2015.out --include --trace-ascii log/7/trace2015 --trace-time http://first.host.it.is/we/want/that/page/2015 -x 127.0.0.1:40859 -b "test=yes" --location > log/7/stdout2015 2> log/7/stderr2015 === End of file commands.log === Start of file http_server.log 19:29:02.926576 ====> Client connect 19:29:02.926607 accept_connection 3 returned 4 19:29:02.926628 Read 93 bytes 19:29:02.926637 Process 93 bytes request 19:29:02.926649 Got request: GET /verifiedserver HTTP/1.1 19:29:02.926658 Are-we-friendly question received 19:29:02.926709 Wrote request (93 bytes) input to log/7/server.input 19:29:02.926726 Identifying ourselves as friends 19:29:02.926785 Response sent (56 bytes) and written to log/7/server.response 19:29:02.926794 special request received, no persistency 19:29:02.926802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39246 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 2015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind2015 ==178140== ==178140== Process terminating with default action of signal 4 (SIGILL) ==178140== Illegal opcode at address 0x492B75F ==178140== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178140== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178140== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178140== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178140== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178140== by 0x49908EB: curl_version_info (version.c:600) ==178140== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178140== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178140== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178140== by 0x4003269: main (tool_main.c:195) === End of file valgrind2015 test 2040 [HTTP Basic authorization, then without authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2040 ../src/curl -q --trace-ascii log/8/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:44467/20400100 --next --no-basic http://127.0.0.1:44467/20400200 > log/8/stdout2040 2> log/8/stderr2040 2040: stdout FAILED: --- log/8/check-expected 2026-10-15 19:29:06.265559068 +0000 +++ log/8/check-generated 2026-10-15 19:29:06.262601761 +0000 @@ -1,2 +0,0 @@ -Finally, this is the real page![LF] -This is a bad password page![LF] == Contents of files in the log/8/ directory after test 2040 === Start of file check-expected Finally, this is the real page![LF] This is a bad password page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2040 ../src/curl -q --trace-ascii log/8/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:44467/20400100 --next --no-basic http://127.0.0.1:44467/20400200 > log/8/stdout2040 2> log/8/stderr2040 === End of file commands.log === Start of file http_server.log 19:29:03.487625 ====> Client connect 19:29:03.487670 accept_connection 3 returned 4 19:29:03.487697 Read 93 bytes 19:29:03.487708 Process 93 bytes request 19:29:03.487721 Got request: GET /verifiedserver HTTP/1.1 19:29:03.487730 Are-we-friendly question received 19:29:03.487758 Wrote request (93 bytes) input to log/8/server.input 19:29:03.487776 Identifying ourselves as friends 19:29:03.487863 Response sent (56 bytes) and written to log/8/server.response 19:29:03.487874 special request received, no persistency 19:29:03.487883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 32926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 2040 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind2040 ==178711== ==178711== Process terminating with default action of signal 4 (SIGILL) ==178711== Illegal opcode at address 0x492B75F ==178711== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178711== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178711== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178711== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178711== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178711== by 0x49908EB: curl_version_info (version.c:600) ==178711== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178711== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178711== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178711== by 0x4003269: main (tool_main.c:195) === End of file valgrind2040 test 2045 [Set the default protocol to ftp for a schemeless URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:36115 > log/18/stdout2045 2> log/18/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/18/ directory after test 2045 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2045 ../src/curl -q --output log/18/curl2045.out --include --trace-ascii log/18/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:36115 > log/18/stdout2045 2> log/18/stderr2045 === End of file commands.log === Start of file ftp_server.log 19:29:03.992164 ====> Client connect 19:29:03.992360 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:03.992649 < "USER anonymous" 19:29:03.992681 > "331 We are happy you popped in![CR][LF]" 19:29:03.992843 < "PASS ftp@example.com" 19:29:03.992869 > "230 Welcome you silly person[CR][LF]" 19:29:03.993028 < "PWD" 19:29:03.993061 > "257 "/" is current directory[CR][LF]" 19:29:03.993212 < "EPSV" 19:29:03.993236 ====> Passive DATA channel requested by client 19:29:03.993249 DATA sockfilt for passive data channel starting... 19:29:03.998807 DATA sockfilt for passive data channel started (pid 178784) 19:29:03.998954 DATA sockfilt for passive data channel listens on port 34131 19:29:03.999009 > "229 Entering Passive Mode (|||34131|)[CR][LF]" 19:29:03.999029 Client has been notified that upcoming DATA connection is awaited on port 34131 19:29:03.999363 Client connects to port 34131 19:29:03.999393 ====> Client established passive DATA connection on port 34131 19:29:03.999484 < "TYPE I" 19:29:03.999517 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:03.999672 < "SIZE verifiedserver" 19:29:03.999708 > "213 17[CR][LF]" 19:29:03.999846 < "RETR verifiedserver" 19:29:03.999884 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:03.999978 =====> Closing passive DATA connection... 19:29:03.999997 Server disconnects passive DATA connection 19:29:04.000220 Server disconnected passive DATA connection 19:29:04.000247 DATA sockfilt for passive data channel quits (pid 178784) 19:29:04.000514 DATA sockfilt for passive data channel quit (pid 178784) 19:29:04.000541 =====> Closed passive DATA connection 19:29:04.000567 > "226 File transfer complete[CR][LF]" 19:29:04.046352 < "QUIT" 19:29:04.046406 > "221 bye bye baby[CR][LF]" 19:29:04.055419 MAIN sockfilt said DISC 19:29:04.055486 ====> Client disconnected 19:29:04.055569 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:03.594294 ====> Client connect 19:29:03.594617 Received DATA (on stdin) 19:29:03.594631 > 146 bytes data, server => client 19:29:03.594642 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:03.594652 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:03.594662 '220 \___|\___/|_| \_\_____|\r\n' 19:29:03.594749 < 16 bytes data, client => server 19:29:03.594760 'USER anonymous\r\n' 19:29:03.594923 Received DATA (on stdin) 19:29:03.594934 > 33 bytes data, server => client 19:29:03.594944 '331 We are happy you popped in!\r\n' 19:29:03.594996 < 22 bytes data, client => server 19:29:03.595007 'PASS ftp@example.com\r\n' 19:29:03.595111 Received DATA (on stdin) 19:29:03.595123 > 30 bytes data, server => client 19:29:03.595133 '230 Welcome you silly person\r\n' 19:29:03.595186 < 5 bytes data, client => server 19:29:03.595196 'PWD\r\n' 19:29:03.595300 Received DATA (on stdin) 19:29:03.595310 > 30 bytes data, server => client 19:29:03.595319 '257 "/" is current directory\r\n' 19:29:03.595377 < 6 bytes data, client => server 19:29:03.595386 'EPSV\r\n' 19:29:03.601283 Received DATA (on stdin) 19:29:03.601299 > 39 bytes data, server => client 19:29:03.601309 '229 Entering Passive Mode (|||34131|)\r\n' 19:29:03.601521 < 8 bytes data, client => server 19:29:03.601536 'TYPE I\r\n' 19:29:03.601759 Received DATA (on stdin) 19:29:03.601770 > 33 bytes data, server => client 19:29:03.601780 '200 I modify TYPE as you wanted\r\n' 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:44711/20030001 ftp://127.0.0.1:35523/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:47779//20030003 tftp://127.0.0.1:47779//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:35523/20030002 http://127.0.0.1:44711/20030001 > log/23/stdout2003 2> log/23/stderr2003 9:03.601833 < 21 bytes data, client => server 19:29:03.601844 'SIZE verifiedserver\r\n' 19:29:03.601947 Received DATA (on stdin) 19:29:03.601957 > 8 bytes data, server => client 19:29:03.601966 '213 17\r\n' 19:29:03.602013 < 21 bytes data, client => server 19:29:03.602022 'RETR verifiedserver\r\n' 19:29:03.602326 Received DATA (on stdin) 19:29:03.602338 > 29 bytes data, server => client 19:29:03.602348 '150 Binary junk (17 bytes).\r\n' 19:29:03.602808 Received DATA (on stdin) 19:29:03.602820 > 28 bytes data, server => client 19:29:03.602830 '226 File transfer complete\r\n' 19:29:03.648407 < 6 bytes data, client => server 19:29:03.648436 'QUIT\r\n' 19:29:03.648649 Received DATA (on stdin) 19:29:03.648659 > 18 bytes data, server => client 19:29:03.648668 '221 bye bye baby\r\n' 19:29:03.657568 ====> Client disconnect 19:29:03.657810 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:03.597072 Running IPv4 version 19:29:03.597135 Listening on port 34131 19:29:03.597171 Wrote pid 178784 to log/18/server/ftp_sockdata.pid 19:29:03.600963 Received PING (on stdin) 19:29:03.601091 Received PORT (on stdin) 19:29:03.601556 ====> Client connect 19:29:03.602241 Received DATA (on stdin) 19:29:03.602252 > 17 bytes data, server => client 19:29:03.602262 'WE ROOLZ: 85350\r\n' 19:29:03.602290 Received DISC (on stdin) 19:29:03.602301 ====> Client forcibly disconnected 19:29:03.602496 Received QUIT (on stdin) 19:29:03.602507 quits 19:29:03.602575 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply Testnum 2045 === End of file server.cmd === Start of file valgrind2045 ==178832== ==178832== Process terminating with default action of signal 4 (SIGILL) ==178832== Illegal opcode at address 0x492B75F ==178832== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178832== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178832== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178832== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178832== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178832== by 0x49908EB: curl_version_info (version.c:600) ==178832== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178832== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178832== by 0x4003269: main (tool_main.c:195) === End of file valgrind2045 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/23/server/tftp_server.pid" --portfile "log/23/server/tftp_server.port" --logfile "log/23/tftp_server.log" --logdir "log/23" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 177818 port 47779 * pid tftp => 177818 177818 test 2003 [HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:44711/20030001 ftp://127.0.0.1:35523/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:47779//20030003 tftp://127.0.0.1:47779//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:35523/20030002 http://127.0.0.1:44711/20030001 > log/23/stdout2003 2> log/23/stderr2003 2003: stdout FAILED: --- log/23/check-expected 2026-10-15 19:29:06.541845910 +0000 +++ log/23/check-generated 2026-10-15 19:29:06.535934060 +0000 @@ -1,32 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] --foo-[LF] == Contents of files in the log/23/ directory after test 2003 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2003 ../src/curl -q --trace-ascii log/23/trace2003 --trace-time http://127.0.0.1:44711/20030001 ftp://127.0.0.1:35523/20030002 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt tftp://127.0.0.1:47779//20030003 tftp://127.0.0.1:47779//20030003 file://localhost/startdir/src/build-curl/tests/log/23/test2003.txt ftp://127.0.0.1:35523/20030002 http://127.0.0.1:44711/20030001 > log/23/stdout2003 2> log/23/stderr2003 === End of file commands.log === Start of file ftp_server.log 19:29:02.995454 ====> Client connect 19:29:02.995668 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:02.995943 < "USER anonymous" 19:29:02.995982 > "331 We are happy you popped in![CR][LF]" 19:29:02.996145 < "PASS ftp@example.com" 19:29:02.996173 > "230 Welcome you silly person[CR][LF]" 19:29:02.996321 < "PWD" 19:29:02.996356 > "257 "/" is current directory[CR][LF]" 19:29:02.996546 < "EPSV" 19:29:02.996575 ====> Passive DATA channel requested by client 19:29:02.996591 DATA sockfilt for passive data channel starting... 19:29:03.009750 DATA sockfilt for passive data channel started (pid 177769) 19:29:03.009938 DATA sockfilt for passive data channel listens on port 36359 19:29:03.009990 > "229 Entering Passive Mode (|||36359|)[CR][LF]" 19:29:03.010006 Client has been notified that upcoming DATA connection is awaited on port 36359 19:29:03.010388 Client connects to port 36359 19:29:03.010420 ====> Client established passive DATA connection on port 36359 19:29:03.010519 < "TYPE I" 19:29:03.010554 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:03.010756 < "SIZE verifiedserver" 19:29:03.010819 > "213 17[CR][LF]" 19:29:03.010980 < "RETR verifiedserver" 19:29:03.011013 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:03.011107 =====> Closing passive DATA connection... 19:29:03.011124 Server disconnects passive DATA connection 19:29:03.011371 Server disconnected passive DATA connection 19:29:03.011399 DATA sockfilt for passive data channel quits (pid 177769) 19:29:03.011721 DATA sockfilt for passive data channel quit (pid 177769) 19:29:03.011745 =====> Closed passive DATA connection 19:29:03.011772 > "226 File transfer complete[CR][LF]" 19:29:03.062203 < "QUIT" 19:29:03.062262 > "221 bye bye baby[CR][LF]" 19:29:03.068717 MAIN sockfilt said DISC 19:29:03.068775 ====> Client disconnected 19:29:03.068875 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:03.597565 ====> Client connect 19:29:03.597925 Received DATA (on stdin) 19:29:03.597941 > 146 bytes data, server => client 19:29:03.597952 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:03.597962 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:03.597970 '220 \___|\___/|_| \_\_____|\r\n' 19:29:03.598056 < 16 bytes data, client => server 19:29:03.598069 'USER anonymous\r\n' 19:29:03.598223 Received DATA (on stdin) 19:29:03.598234 > 33 bytes data, server => client 19:29:03.598243 '331 We are happy you popped in!\r\n' 19:29:03.598297 < 22 bytes data, client => server 19:29:03.598307 'PASS ftp@example.com\r\n' 19:29:03.598411 Received DATA (on stdin) 19:29:03.598421 > 30 bytes data, server => client 19:29:03.598430 '230 Welcome you silly person\r\n' 19:29:03.598477 < 5 bytes data, client => server 19:29:03.598486 'PWD\r\n' 19:29:03.598598 Received DATA (on stdin) 19:29:03.598610 > 30 bytes data, server => client 19:29:03.598620 '257 "/" is current directory\r\n' 19:29:03.598689 < 6 bytes data, client => server 19:29:03.598703 'EPSV\r\n' 19:29:03.612256 Received DATA (on stdin) 19:29:03.612273 > 39 bytes data, server => client 19:29:03.612284 '229 Entering Passive Mode (|||36359|)\r\n' 19:29:03.612530 < 8 bytes data, client => server 19:29:03.612545 'TYPE I\r\n' 19:29:03.612797 Received DATA (on stdin) 19:29:03.612809 > 33 bytes data, server => client 19:29:03.612819 '200 I modify TYPE as you wanted\r\n' 19:29:03.612896 < 21 bytes data, client => server 19:29:03.612907 'SIZE verifiedserver\r\n' 19:29:03.613060 Received DATA (on stdin) 19:29:03.613078 > 8 bytes data, server => client 19:29:03.613088 '213 17\r\n' 19:29:03.613138 < 21 bytes data, client => server 19:29:03.613148 'RETR verifiedserver\r\n' 19:29:03.613365 Received DATA (on stdin) 19:29:03.613376 > 29 bytes data, server => client 19:29:03.613385 '150 Binary junk (17 bytes).\r\n' 19:29:03.614014 Received DATA (on stdin) 19:29:03.614026 > 28 bytes data, server => client 19:29:03.614035 '226 File transfer complete\r\n' 19:29:03.664243 < 6 bytes data, client => server 19:29:03.664274 'QUIT\r\n' 19:29:03.664509 Received DATA (on stdin) 19:29:03.664522 > 18 bytes data, server => client 19:29:03.664531 '221 bye bye baby\r\n' 19:29:03.670884 ====> Client disconnect 19:29:03.671128 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:03.611673 Running IPv4 version 19:29:03.611742 Listening on port 36359 19:29:03.611782 Wrote pid 177769 to log/23/server/ftp_sockdata.pid 19:29:03.611803 Received PING (on stdin) 19:29:03.612064 Received PORT (on stdin) 19:29:03.612577 ====> Client connect 19:29:03.613433 Received DATA (on stdin) 19:29:03.613447 > 17 bytes data, server => client 19:29:03.613456 'WE ROOLZ: 84709\r\n' 19:29:03.613480 Received DISC (on stdin) 19:29:03.613491 ====> Client forcibly disconnected 19:29:03.613647 Received QUIT (on stdin) 19:29:03.613657 quits 19:29:03.613736 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:29:02.541659 ====> Client connect 19:29:02.541695 accept_connection 3 returned 4 19:29:02.541716 Read 93 bytes 19:29:02CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2044 ../src/curl -q --output log/22/curl2044.out --include --trace-ascii log/22/trace2044 --trace-time --proto-default DOESNOTEXIST > log/22/stdout2044 2> log/22/stderr2044 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:43733 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:43733 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:43733 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:43733 > log/9/stdout2049 2> log/9/stderr2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2046 ../src/curl -q --include --trace-ascii log/10/trace2046 --trace-time http://åäö.se:40913/2046 --resolve xn--4cab6c.se:40913:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout2046 2> log/10/stderr2046 .541725 Process 93 bytes request 19:29:02.541737 Got request: GET /verifiedserver HTTP/1.1 19:29:02.541745 Are-we-friendly question received 19:29:02.541770 Wrote request (93 bytes) input to log/23/server.input 19:29:02.541788 Identifying ourselves as friends 19:29:02.541851 Response sent (56 bytes) and written to log/23/server.response 19:29:02.541861 special request received, no persistency 19:29:02.541869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 39258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 2003 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file test2003.txt foo bar bar foo moo === End of file test2003.txt === Start of file tftp_server.log 19:29:03.716545 Wrote pid 177818 to log/23/server/tftp_server.pid 19:29:03.716620 Wrote port 47779 to log/23/server/tftp_server.port 19:29:03.716633 Running IPv4 version on port UDP/47779 === End of file tftp_server.log === Start of file valgrind2003 ==178885== ==178885== Process terminating with default action of signal 4 (SIGILL) ==178885== Illegal opcode at address 0x492B75F ==178885== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178885== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178885== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178885== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178885== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178885== by 0x49908EB: curl_version_info (version.c:600) ==178885== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178885== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178885== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178885== by 0x4003269: main (tool_main.c:195) === End of file valgrind2003 test 2044 [Attempt to set a default protocol that does not exist] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2044 ../src/curl -q --output log/22/curl2044.out --include --trace-ascii log/22/trace2044 --trace-time --proto-default DOESNOTEXIST > log/22/stdout2044 2> log/22/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/22/ directory after test 2044 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2044 ../src/curl -q --output log/22/curl2044.out --include --trace-ascii log/22/trace2044 --trace-time --proto-default DOESNOTEXIST > log/22/stdout2044 2> log/22/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==178745== ==178745== Process terminating with default action of signal 4 (SIGILL) ==178745== Illegal opcode at address 0x492B75F ==178745== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178745== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178745== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178745== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178745== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178745== by 0x49908EB: curl_version_info (version.c:600) ==178745== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178745== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178745== by 0x4003269: main (tool_main.c:195) === End of file valgrind2044 test 2049 [Connect to specific host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:43733 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:43733 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:43733 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:43733 > log/9/stdout2049 2> log/9/stderr2049 2049: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2049 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2049 ../src/curl -q --output log/9/curl2049.out --include --trace-ascii log/9/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:43733 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:43733 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:43733 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:43733 > log/9/stdout2049 2> log/9/stderr2049 === End of file commands.log === Start of file http_server.log 19:29:04.077750 ====> Client connect 19:29:04.077785 accept_connection 3 returned 4 19:29:04.077805 Read 93 bytes 19:29:04.077814 Process 93 bytes request 19:29:04.077827 Got request: GET /verifiedserver HTTP/1.1 19:29:04.077835 Are-we-friendly question received 19:29:04.077860 Wrote request (93 bytes) input to log/9/server.input 19:29:04.077876 Identifying ourselves as friends 19:29:04.077931 Response sent (56 bytes) and written to log/9/server.response 19:29:04.077940 special request received, no persistency 19:29:04.077947 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 2049 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind2049 ==179084== ==179084== Process terminating with default action of signal 4 (SIGILL) ==179084== Illegal opcode at address 0x492B75F ==179084== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179084== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179084== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179084== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179084== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179084== by 0x49908EB: curl_version_info (version.c:600) ==179084== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179084== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179084== by 0x4003269: main (tool_main.c:195) === End of file valgrind2049 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2002 ../src/curl -q --trace-ascii log/4/trace2002 --trace-time http://127.0.0.1:32943/20020001 ftp://127.0.0.1:39739/20020002 file://localhost/startdir/src/build-curl/tests/log/4/test2002.txt tftp://127.0.0.1:58670//20020003 > log/4/stdout2002 2> log/4/stderr2002 setenv LC_ALL = C.UTF-8 test 2046 [Connection reuse with IDN hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2046 ../src/curl -q --include --trace-ascii log/10/trace2046 --trace-time http://åäö.se:40913/2046 --resolve xn--4cab6c.se:40913:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout2046 2> log/10/stderr2046 2046: stdout FAILED: --- log/10/check-expected 2026-10-15 19:29:06.903429923 +0000 +++ log/10/check-generated 2026-10-15 19:29:06.899266018 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20460001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se:40913/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/10/ directory after test 2046 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20460001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se:40913/20460001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2046 ../src/curl -q --include --trace-ascii log/10/trace2046 --trace-time http://åäö.se:40913/2046 --resolve xn--4cab6c.se:40913:127.0.0.1 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/10/stdout2046 2> log/10/stderr2046 === End of file commands.log === Start of file http_server.log 19:29:03.899826 ====> Client connect 19:29:03.899863 accept_connection 3 returned 4 19:29:03.899884 Read 93 bytes 19:29:03.899893 Process 93 bytes request 19:29:03.899905 Got request: GET /verifiedserver HTTP/1.1 19:29:03.899914 Are-we-friendly question received 19:29:03.899941 Wrote request (93 bytes) input to log/10/server.input 19:29:03.899957 Identifying ourselves as friends 19:29:03.900019 Response sent (56 bytes) and written to log/10/server.response 19:29:03.900028 special request received, no persistency 19:29:03.900036 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 39486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 2046 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind2046 ==179004== ==179004== Process terminating with default action of signal 4 (SIGILL) ==179004== Illegal opcode at address 0x492B75F ==179004== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179004== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179004== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179004== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179004== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179004== by 0x49908EB: curl_version_info (version.c:600) ==179004== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179004== by 0x4003269: main (tool_main.c:195) === End of file valgrind2046 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/4/server/tftp_server.pid" --portfile "log/4/server/tftp_server.port" --logfile "log/4/tftp_server.log" --logdir "log/4" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 177739 port 58670 * pid tftp => 177739 177739 test 2002 [HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2002 ../src/curl -q --trace-ascii log/4/trace2002 --trace-time http://127.0.0.1:32943/20020001 ftp://127.0.0.1:39739/20020002 file://localhost/startdir/src/build-curl/tests/log/4/test2002.txt tftp://127.0.0.1:58670//20020003 > log/4/stdout2002 2> log/4/stderr2002 2002: stdout FAILED: --- log/4/check-expected 2026-10-15 19:29:07.148140966 +0000 +++ log/4/check-generated 2026-10-15 19:29:07.142598300 +0000 @@ -1,16 +0,0 @@ --foo-[LF] -data[LF] - to[LF] - see[LF] -that FTP[LF] -works[LF] - so does it?[LF] -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] -a chunk of[LF] -data[LF] -returned[LF] - to TFTP client[LF] == Contents of files in the log/4/ directory after test 2002 === Start of file check-expected -foo-[LF] data[LF] to[LF] see[LF] that FTP[LF] works[LF] so does it?[LF] foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] a chunk of[LF] data[LF] returned[LF] to TFTP client[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2002 ../src/curl -q --trace-ascii log/4/trace2002 --trace-time http://127.0.0.1:32943/20020001 ftp://127.0.0.1:39739/20020002 file://localhost/startdir/src/build-curl/tests/log/4/test2002.txt tftp://127.0.0.1:58670//20020003 > log/4/stdout2002 2> log/4/stderr2002 === End of file commands.log === Start of file ftp_server.log 19:29:02.902147 ====> Client connect 19:29:02.902373 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:02.902675 < "USER anonymous" 19:29:02.902707 > "331 We are happy you popped in![CR][LF]" 19:29:02.902863 < "PASS ftp@example.com" 19:29:02.902888 > "230 Welcome you silly person[CR][LF]" 19:29:02.903036 < "PWD" 19:29:02.903066 > "257 "/" is current directory[CR][LF]" 19:29:02.903230 < "EPSV" 19:29:02.903255 ====> Passive DATA channel requested by client 19:29:02.903268 DATA sockfilt for passive data channel starting... 19:29:02.909148 DATA sockfilt for passive data channel started (pid 177701) 19:29:02.909294 DATA sockfilt for passive data channel listens on port 36717 19:29:02.909343 > "229 Entering Passive Mode (|||36717|)[CR][LF]" 19:29:02.909365 Client has been notified that upcoming DATA connection is awaited on port 36717 19:29:02.909721 Client connects to port 36717 19:29:02.909752 ====> Client established passive DATA connection on port 36717 19:29:02.909841 < "TYPE I" 19:29:02.909871 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:02.910038 < "SIZE verifiedserver" 19:29:02.910077 > "213 17[CR][LF]" 19:29:02.910253 < "RETR verifiedserver" 19:29:02.910293 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:02.910381 =====> Closing passive DATA connection... 19:29:02.910398 Server disconnects passive DATA connection 19:29:02.910632 Server disconnected passive DATA connection 19:29:02.910665 DATA sockfilt for passive data channel quits (pid 177701) 19:29:02.910916 DATA sockfilt for passive data channel quit (pid 177701) 19:29:02.910943 =====> Closed passive DATA connection 19:29:02.910969 > "226 File transfer complete[CR][LF]" 19:29:02.953810 < "QUIT" 19:29:02.953866 > "221 bye bye baby[CR][LF]" 19:29:02.955141 MAIN sockfilt said DISC 19:29:02.955187 ====> Client disconnected 19:29:02.955264 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:02.500910 ====> Client connect 19:29:02.504617 Received DATA (on stdin) 19:29:02.504636 > 146 bytes data, server => client 19:29:02.504647 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:02.504657 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:02.504666 '220 \___|\___/|_| \_\_____|\r\n' 19:29:02.504793 < 16 bytes data, client => server 19:29:02.504806 'USER anonymous\r\n' 19:29:02.504947 Received DATA (on stdin) 19:29:02.504958 > 33 bytes data, server => client 19:29:02.504967 '331 We are happy you popped in!\r\n' 19:29:02.505019 < 22 bytes data, client => server 19:29:02.505030 'PASS ftp@example.com\r\n' 19:29:02.505126 Received DATA (on stdin) 19:29:02.505136 > 30 bytes data, server => client 19:29:02.505146 '230 Welcome you silly person\r\n' 19:29:02.505194 < 5 bytes data, client => server 19:29:02.505204 'PWD\r\n' 19:29:02.505305 Received DATA (on stdin) 19:29:02.505316 > 30 bytes data, server => client 19:29:02.505325 '257 "/" is current directory\r\n' 19:29:02.505387 < 6 bytes data, client => server 19:29:02.505398 'EPSV\r\n' 19:29:02.511620 Received DATA (on stdin) 19:29:02.511640 > 39 bytes data, server => client 19:29:02.511651 '229 Entering Passive Mode (|||36717|)\r\n' 19:29:02.511874 < 8 bytes data, client => server 19:29:02.511892 'TYPE I\r\n' 19:29:02.512113 Received DATA (on stdin) 19:29:02.512125 > 33 bytes data, server => client 19:29:02.512135 '200 I modify TYPE as you wanted\r\n' 19:29:02.512190 < 21 bytes data, client => server 19:29:02.512203 'SIZE verifiedserver\r\n' 19:29:02.512320 Received DATA (on stdin) 19:29:02.512331 > 8 bytes data, server => client 19:29:02.512340 '213 17\r\n' 19:29:02.512397 < 21 bytes data, client => server 19:29:02.512411 'RETR verifiedserver\r\n' 19:29:02.512641 Received DATA (on stdin) 19:29:02.512652 > 29 bytes data, server => client 19:29:02.512662 '150 Binary junk (17 bytes).\r\n' 19:29:02.513211 Received DATA (on stdin) 19:29:02.513224 > 28 bytes data, server => client 19:29:02.513235 '226 File transfer complete\r\n' 19:29:02.555836 < 6 bytes data, client => server 19:29:02.555867 'QUIT\r\n' 19:29:02.556114 Received DATA (on stdin) 19:29:02.556128 > 18 bytes data, server => client 19:29:02.556137 '221 bye bye baby\r\n' 19:29:02.557318 ====> Client disconnect 19:29:02.557514 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:02.507438 Running IPv4 version 19:29:02.507502 Listening on port 36717 19:29:02.507555 Wrote pid 177701 to log/4/server/ftp_sockdata.pid 19:29:02.511315 Received PING (on stdin) 19:29:02.511433 Received PORT (on stdin) 19:29:02.511914 ====> Client connect 19:29:02.512691 Received DATA (on stdin) 19:29:02.512703 > 17 bytes data, server => client 19:29:02.512713 'WE ROOLZ: 85249\r\n' 19:29:02.512738 Received DISC (on stdin) 19:29:02.512751 ====> Client forcibly disconnected 19:29:02.512917 Received QUIT (on stdin) 19:29:02.512929 quits 19:29:02.512994 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:29:03.414283 ====> Client connect 19:29:03.414330 accept_connection 3 returned 4 19:29:03.414353 Read 93 bytes 19:29:03.414363 Process 93 bytes request 19:29:03.414376 Got request: GET /verifiedserver HTTP/1.1 19:29:03.414385 Are-we-friendly question received 19:29:03.414416 Wrote request (93 bytes) input to log/4/server.input 19:29:03.414433 Identifying ourselves as friends 19:29:03.414517 Response sent (57 bytes) and written to log/4/server.response 19:29:03.414526 special request received, no persistency 19:29:03.414534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 47790 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: *CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2051 ../src/curl -q --include --trace-ascii log/19/trace2051 --trace-time http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:37077 http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next http://127.0.0.1:37077/2051 -w "%{num_connects}\n" > log/19/stdout2051 2> log/19/stderr2051 /* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd Testnum 2002 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file test2002.txt foo bar bar foo moo === End of file test2002.txt === Start of file tftp_server.log 19:29:03.608233 Wrote pid 177739 to log/4/server/tftp_server.pid 19:29:03.608313 Wrote port 58670 to log/4/server/tftp_server.port 19:29:03.608325 Running IPv4 version on port UDP/58670 === End of file tftp_server.log === Start of file valgrind2002 ==178785== ==178785== Process terminating with default action of signal 4 (SIGILL) ==178785== Illegal opcode at address 0x492B75F ==178785== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==178785== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==178785== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==178785== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==178785== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==178785== by 0x49908EB: curl_version_info (version.c:600) ==178785== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==178785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==178785== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==178785== by 0x4003269: main (tool_main.c:195) === End of file valgrind2002 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2047 ../src/curl -q --include --trace-ascii log/12/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:40921 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/12/stdout2047 2> log/12/stderr2047 test 2051 [Connect to specific host: Reuse existing connections if possible] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2051 ../src/curl -q --include --trace-ascii log/19/trace2051 --trace-time http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:37077 http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next http://127.0.0.1:37077/2051 -w "%{num_connects}\n" > log/19/stdout2051 2> log/19/stderr2051 2051: stdout FAILED: --- log/19/check-expected 2026-10-15 19:29:07.362700211 +0000 +++ log/19/check-generated 2026-10-15 19:29:07.359263941 +0000 @@ -1,11 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -0[LF] -OK[LF] -0[LF] == Contents of files in the log/19/ directory after test 2051 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 0[LF] OK[LF] 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2051 ../src/curl -q --include --trace-ascii log/19/trace2051 --trace-time http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:37077 http://127.0.0.1:37077/2051 -w "%{num_connects}\n" --next http://127.0.0.1:37077/2051 -w "%{num_connects}\n" > log/19/stdout2051 2> log/19/stderr2051 === End of file commands.log === Start of file http_server.log 19:29:04.623458 ====> Client connect 19:29:04.623493 accept_connection 3 returned 4 19:29:04.637695 Read 93 bytes 19:29:04.637716 Process 93 bytes request 19:29:04.637727 Got request: GET /verifiedserver HTTP/1.1 19:29:04.637736 Are-we-friendly question received 19:29:04.637771 Wrote request (93 bytes) input to log/19/server.input 19:29:04.637788 Identifying ourselves as friends 19:29:04.637846 Response sent (57 bytes) and written to log/19/server.response 19:29:04.637855 special request received, no persistency 19:29:04.637863 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 46470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 2051 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind2051 ==179282== ==179282== Process terminating with default action of signal 4 (SIGILL) ==179282== Illegal opcode at address 0x492B75F ==179282== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179282== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179282== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179282== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179282== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179282== by 0x49908EB: curl_version_info (version.c:600) ==179282== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179282== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179282== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179282== by 0x4003269: main (tool_main.c:195) === End of file valgrind2051 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2054 ../src/curl -q --output log/11/curl2054.out --include --trace-ascii log/11/trace2054 --trace-time http://127.0.0.1:40989/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40989/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::40989 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40989 --connect-to www.example.com:8084:foo:123 > log/11/stdout2054 2> log/11/stderr2054 setenv LC_ALL = C.UTF-8 test 2047 [Connection reuse with IDN hostname over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2047 ../src/curl -q --include --trace-ascii log/12/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:40921 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/12/stdout2047 2> log/12/stderr2047 2047: stdout FAILED: --- log/12/check-expected 2026-10-15 19:29:07.389430439 +0000 +++ log/12/check-generated 2026-10-15 19:29:07.385930482 +0000 @@ -1,18 +0,0 @@ -HTTP/1.1 302 OK swsbounce[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Content-Type: text/plain[LF] -Location: ./20470001[LF] -[LF] -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain; charset=us-ascii[LF] -[LF] -OK[LF] -1[LF] -1[LF] -3[LF] -http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/12/ directory after test 2047 === Start of file check-expected HTTP/1.1 302 OK swsbounce[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Content-Type: text/plain[LF] Location: ./20470001[LF] [LF] HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain; charset=us-ascii[LF] [LF] OK[LF] 1[LF] 1[LF] 3[LF] http://%c3%a5%c3%a4%c3%b6.se/20470001[LF] text/plain; charset=us-ascii[LF] 200[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2047 ../src/curl -q --include --trace-ascii log/12/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:40921 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/12/stdout2047 2> log/12/stderr2047 === End of file commands.log === Start of file http_server.log 19:29:04.017636 ====> Client connect 19:29:04.017681 accept_connection 3 returned 4 19:29:04.017704 Read 93 bytes 19:29:04.017714 Process 93 bytes request 19:29:04.017726 Got request: GET /verifiedserver HTTP/1.1 19:29:04.017734 Are-we-friendly question received 19:29:04.017758 Wrote request (93 bytes) input to log/12/server.input 19:29:04.017773 Identifying ourselves as friends 19:29:04.017871 Response sent (56 bytes) and written to log/12/server.response 19:29:04.017881 special request received, no persistency 19:29:04.017888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 53060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 2047 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind2047 ==179077== ==179077== Process terminating with default action of signal 4 (SIGILL) ==179077== Illegal opcode at address 0x492B75F ==179077== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179077== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179077== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179077== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179077== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179077== by 0x49908EB: curl_version_info (version.c:600) ==179077== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179077== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179077== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179077== by 0x4003269: main (tool_main.c:195) === End of file valgrind2047 test 2054 [Connect to specific host: use the first "connect-to" string] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2054 ../src/curl -q --output log/11/curl2054.out --include --trace-ascii log/11/trace2054 --trace-time http://127.0.0.1:40989/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40989/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::40989 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40989 --connect-to www.example.com:8084:foo:123 > log/11/stdout2054 2> log/11/stderr2054 2054: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 2054 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2054 ../src/curl -q --output log/11/curl2054.out --include --trace-ascii log/11/trace2054 --trace-time http://127.0.0.1:40989/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:40989/2054 --connect-to www.example.com::127.0.0.1: --connect-to www.example.com::foo: --next http://127.0.0.1:8083/2054 --connect-to :8083::40989 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:40989 --connect-to www.example.com:8084:foo:123 > log/11/stdout2054 2> log/11/stderr2054 === End of file commands.log === Start of file http_server.log 19:29:04.924288 ====> Client connect 19:29:04.924330 accept_connection 3 returned 4 19:29:04.924532 Read 93 bytes 19:29:04.924550 Process 93 bytes request 19:29:04.924565 Got request: GET /verifiedserver HTTP/1.1 19:29:04.924574 Are-we-friendly question received 19:29:04.924608 Wrote request (93 bytes) input to log/11/server.input 19:29:04.924629 Identifying ourselves as friends 19:29:04.924699 Response sent (56 bytes) and written to log/11/server.response 19:29:04.924711 special request received, no persistency 19:29:04.924720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 43208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 2054 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind2054 ==179481== ==179481== Process terminating with default action of signal 4 (SIGILL) ==179481== Illegal opcode at address 0x492B75F ==179481== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179481== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179481== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179481== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179481== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179481== by 0x49908EB: curl_version_info (version.c:600) ==179481== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179481== by 0x4003269: UnknownInlinedFun (tool_cfgabCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2064 ../src/curl -q --output log/17/curl2064.out --include --trace-ascii log/17/trace2064 --trace-time http://127.0.0.1:35993/2064 -u testuser:test2pass --digest > log/17/stdout2064 2> log/17/stderr2064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2052 ../src/curl -q --include --trace-ascii log/13/trace2052 --trace-time http://www.example.com:38821/2052 --resolve www.example.com:38821:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:38821 --connect-to ::127.0.0.1:38821 http://www.example.com:38821/2052 -w "%{num_connects}\n" > log/13/stdout2052 2> log/13/stderr2052 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2053 ../src/curl -q --output log/15/curl2053.out --include --trace-ascii log/15/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40321 --next http://[fc00::1]:8081/2053 --connect-to [fc00::1]:8081:127.0.0.1:40321 > log/15/stdout2053 2> log/15/stderr2053 le.c:339) ==179481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179481== by 0x4003269: main (tool_main.c:195) === End of file valgrind2054 test 2064 [HTTP with RFC7616 Digest authorization with bad password and SHA256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2064 ../src/curl -q --output log/17/curl2064.out --include --trace-ascii log/17/trace2064 --trace-time http://127.0.0.1:35993/2064 -u testuser:test2pass --digest > log/17/stdout2064 2> log/17/stderr2064 2064: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 2064 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2064 ../src/curl -q --output log/17/curl2064.out --include --trace-ascii log/17/trace2064 --trace-time http://127.0.0.1:35993/2064 -u testuser:test2pass --digest > log/17/stdout2064 2> log/17/stderr2064 === End of file commands.log === Start of file http_server.log 19:29:06.257014 ====> Client connect 19:29:06.257050 accept_connection 3 returned 4 19:29:06.257072 Read 93 bytes 19:29:06.257082 Process 93 bytes request 19:29:06.257094 Got request: GET /verifiedserver HTTP/1.1 19:29:06.257102 Are-we-friendly question received 19:29:06.257129 Wrote request (93 bytes) input to log/17/server.input 19:29:06.257145 Identifying ourselves as friends 19:29:06.257203 Response sent (56 bytes) and written to log/17/server.response 19:29:06.257212 special request received, no persistency 19:29:06.257220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 58852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 2064 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind2064 ==179884== ==179884== Process terminating with default action of signal 4 (SIGILL) ==179884== Illegal opcode at address 0x492B75F ==179884== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179884== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179884== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179884== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179884== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179884== by 0x49908EB: curl_version_info (version.c:600) ==179884== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179884== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179884== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179884== by 0x4003269: main (tool_main.c:195) === End of file valgrind2064 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2062 ../src/curl -q --output log/3/curl2062.out --include --trace-ascii log/3/trace2062 --trace-time http://127.0.0.1:36161/2062 -u testuser:testpass --digest > log/3/stdout2062 2> log/3/stderr2062 test 2052 [--connect-to: do not mix connections with and w/o a "connect to host"] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2052 ../src/curl -q --include --trace-ascii log/13/trace2052 --trace-time http://www.example.com:38821/2052 --resolve www.example.com:38821:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:38821 --connect-to ::127.0.0.1:38821 http://www.example.com:38821/2052 -w "%{num_connects}\n" > log/13/stdout2052 2> log/13/stderr2052 2052: stdout FAILED: --- log/13/check-expected 2026-10-15 19:29:07.749398125 +0000 +++ log/13/check-generated 2026-10-15 19:29:07.745928778 +0000 @@ -1,9 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 3[LF] -Content-Type: text/plain[LF] -[LF] -OK[LF] -1[LF] -OK[LF] -1[LF] == Contents of files in the log/13/ directory after test 2052 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 3[LF] Content-Type: text/plain[LF] [LF] OK[LF] 1[LF] OK[LF] 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2052 ../src/curl -q --include --trace-ascii log/13/trace2052 --trace-time http://www.example.com:38821/2052 --resolve www.example.com:38821:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:38821 --connect-to ::127.0.0.1:38821 http://www.example.com:38821/2052 -w "%{num_connects}\n" > log/13/stdout2052 2> log/13/stderr2052 === End of file commands.log === Start of file http_server.log 19:29:04.637266 ====> Client connect 19:29:04.637308 accept_connection 3 returned 4 19:29:04.637332 Read 93 bytes 19:29:04.637343 Process 93 bytes request 19:29:04.637357 Got request: GET /verifiedserver HTTP/1.1 19:29:04.637367 Are-we-friendly question received 19:29:04.637400 Wrote request (93 bytes) input to log/13/server.input 19:29:04.637419 Identifying ourselves as friends 19:29:04.637492 Response sent (56 bytes) and written to log/13/server.response 19:29:04.637504 special request received, no persistency 19:29:04.637512 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 2052 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind2052 ==179288== ==179288== Process terminating with default action of signal 4 (SIGILL) ==179288== Illegal opcode at address 0x492B75F ==179288== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179288== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179288== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179288== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179288== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179288== by 0x49908EB: curl_version_info (version.c:600) ==179288== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179288== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179288== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179288== by 0x4003269: main (tool_main.c:195) === End of file valgrind2052 test 2053 [Connect to specific host with IP addresses] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2053 ../src/curl -q --output log/15/curl2053.out --include --trace-ascii log/15/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40321 --next http://[fc00::1]:8081/2053 --connect-to [fc00::1]:8081:127.0.0.1:40321 > log/15/stdout2053 2> log/15/stderr2053 2053: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2053 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2053 ../src/curl -q --output log/15/curl2053.out --include --trace-ascii log/15/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40321 --next http://[fc00::1]:8081/2053 --connect-to [fc00::1]:8081:127.0.0.1:40321 > log/15/stdout2053 2> log/15/stderr2053 === End of file commands.log === Start of file http_server.log 19:29:05.658800 ====> Client connect 19:29:05.658838 accept_connection 3 returned 4 19:29:05.658861 Read 93 bytes 19:29:05.658872 Process 93 bytes request 19:29:05.658885 Got request: GET /verifiedserver HTTP/1.1 19:29:05.658893 Are-we-friendly question received 19:29:05.658924 Wrote request (93 bytes) input to log/15/server.input 19:29:05.658943 Identifying ourselves as friends 19:29:05.659015 Response sent (56 bytes) and written to log/15/server.response 19:29:05.659028 special request received, no persistency 19:29:05.659038 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 39582 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 2053 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind2053 ==179294== ==179294== Process terminating with default action of signal 4 (SIGILL) ==179294== Illegal opcode at address 0x492B75F ==179294== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179294== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179294== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179294== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179294== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179294== by 0x49908EB: curl_version_info (version.c:600) ==179294== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179294== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179294== by 0x4003269: main (tool_main.c:195) === End of file valgrind2053 test 2062 [HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2062 ../src/curl -q --output log/3/curl2062.out --include --trace-ascii log/3/trace2062 --trace-time http://127.0.0.1:36161/2062 -u testuser:testpass --digest > log/3/stdout2062 2> log/3/stderr2062 2062: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 2062 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet -CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2066 ../src/curl -q --output log/21/curl2066.out --include --trace-ascii log/21/trace2066 --trace-time http://127.0.0.1:39881/2066 -u testuser:test2pass --digest > log/21/stdout2066 2> log/21/stderr2066 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2058 ../src/curl -q --output log/14/curl2058.out --include --trace-ascii log/14/trace2058 --trace-time http://127.0.0.1:45467/2058 -u auser:apasswd --digest -T log/14/2058 -x http://127.0.0.1:45467 -X GET > log/14/stdout2058 2> log/14/stderr2058 -leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2062 ../src/curl -q --output log/3/curl2062.out --include --trace-ascii log/3/trace2062 --trace-time http://127.0.0.1:36161/2062 -u testuser:testpass --digest > log/3/stdout2062 2> log/3/stderr2062 === End of file commands.log === Start of file http_server.log 19:29:06.120979 ====> Client connect 19:29:06.121020 accept_connection 3 returned 4 19:29:06.121045 Read 93 bytes 19:29:06.121055 Process 93 bytes request 19:29:06.121067 Got request: GET /verifiedserver HTTP/1.1 19:29:06.121076 Are-we-friendly question received 19:29:06.121105 Wrote request (93 bytes) input to log/3/server.input 19:29:06.121125 Identifying ourselves as friends 19:29:06.121205 Response sent (56 bytes) and written to log/3/server.response 19:29:06.121218 special request received, no persistency 19:29:06.121227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 56398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 2062 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind2062 ==179646== ==179646== Process terminating with default action of signal 4 (SIGILL) ==179646== Illegal opcode at address 0x492B75F ==179646== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179646== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179646== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179646== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179646== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179646== by 0x49908EB: curl_version_info (version.c:600) ==179646== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179646== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179646== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179646== by 0x4003269: main (tool_main.c:195) === End of file valgrind2062 test 2066 [HTTP with RFC7616 Digest, bad password, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2066 ../src/curl -q --output log/21/curl2066.out --include --trace-ascii log/21/trace2066 --trace-time http://127.0.0.1:39881/2066 -u testuser:test2pass --digest > log/21/stdout2066 2> log/21/stderr2066 2066: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2066 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2066 ../src/curl -q --output log/21/curl2066.out --include --trace-ascii log/21/trace2066 --trace-time http://127.0.0.1:39881/2066 -u testuser:test2pass --digest > log/21/stdout2066 2> log/21/stderr2066 === End of file commands.log === Start of file http_server.log 19:29:05.390646 ====> Client connect 19:29:05.390690 accept_connection 3 returned 4 19:29:05.390712 Read 93 bytes 19:29:05.390722 Process 93 bytes request 19:29:05.390734 Got request: GET /verifiedserver HTTP/1.1 19:29:05.390743 Are-we-friendly question received 19:29:05.390771 Wrote request (93 bytes) input to log/21/server.input 19:29:05.390788 Identifying ourselves as friends 19:29:05.390855 Response sent (56 bytes) and written to log/21/server.response 19:29:05.390864 special request received, no persistency 19:29:05.390886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 35100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 2066 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind2066 ==180053== ==180053== Process terminating with default action of signal 4 (SIGILL) ==180053== Illegal opcode at address 0x492B75F ==180053== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180053== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180053== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180053== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180053== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180053== by 0x49908EB: curl_version_info (version.c:600) ==180053== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180053== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180053== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180053== by 0x4003269: main (tool_main.c:195) === End of file valgrind2066 test 2058 [HTTP Digest upload with a modified method and SHA-256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2058 ../src/curl -q --output log/14/curl2058.out --include --trace-ascii log/14/trace2058 --trace-time http://127.0.0.1:45467/2058 -u auser:apasswd --digest -T log/14/2058 -x http://127.0.0.1:45467 -X GET > log/14/stdout2058 2> log/14/stderr2058 2058: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 2058 === Start of file 2058 test === End of file 2058 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2058 ../src/curl -q --output log/14/curl2058.out --include --trace-ascii log/14/trace2058 --trace-time http://127.0.0.1:45467/2058 -u auser:apasswd --digest -T log/14/2058 -x http://127.0.0.1:45467 -X GET > log/14/stdout2058 2> log/14/stderr2058 === End of file commands.log === Start of file http_server.log 19:29:05.037726 ====> Client connect 19:29:05.037777 accept_connection 3 returned 4 19:29:05.037806 Read 93 bytes 19:29:05.037815 Process 93 bytes request 19:29:05.037828 Got request: GET /verifiedserver HTTP/1.1 19:29:05.037836 Are-we-friendly question received 19:29:05.037863 Wrote request (93 bytes) input to log/14/server.input 19:29:05.037878 Identifying ourselves as friends 19:29:05.037962 Response sent (56 bytes) and written to log/14/server.response 19:29:05.037972 special request received, no persistency 19:29:05.037980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 44796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [1 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2059 ../src/curl -q --output log/1/curl2059.out --include --trace-ascii log/1/trace2059 --trace-time http://127.0.0.1:38815/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:38815 -X GET > log/1/stdout2059 2> log/1/stderr2059 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2065 ../src/curl -q --output log/20/curl2065.out --include --trace-ascii log/20/trace2065 --trace-time http://127.0.0.1:41689/2065 -u testuser:test2pass --digest > log/20/stdout2065 2> log/20/stderr2065 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:33935/2061 -u testuser:testpass --digest > log/6/stdout2061 2> log/6/stderr2061 ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 2058 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind2058 ==179603== ==179603== Process terminating with default action of signal 4 (SIGILL) ==179603== Illegal opcode at address 0x492B75F ==179603== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179603== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179603== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179603== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179603== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179603== by 0x49908EB: curl_version_info (version.c:600) ==179603== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179603== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179603== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179603== by 0x4003269: main (tool_main.c:195) === End of file valgrind2058 test 2059 [HTTP Digest upload with a modified method, SHA-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2059 ../src/curl -q --output log/1/curl2059.out --include --trace-ascii log/1/trace2059 --trace-time http://127.0.0.1:38815/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:38815 -X GET > log/1/stdout2059 2> log/1/stderr2059 2059: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 2059 === Start of file 2059 test === End of file 2059 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2059 ../src/curl -q --output log/1/curl2059.out --include --trace-ascii log/1/trace2059 --trace-time http://127.0.0.1:38815/2059 -u auser:apasswd --digest -T log/1/2059 -x http://127.0.0.1:38815 -X GET > log/1/stdout2059 2> log/1/stderr2059 === End of file commands.log === Start of file http_server.log 19:29:06.024830 ====> Client connect 19:29:06.024868 accept_connection 3 returned 4 19:29:06.024893 Read 93 bytes 19:29:06.024903 Process 93 bytes request 19:29:06.024917 Got request: GET /verifiedserver HTTP/1.1 19:29:06.024926 Are-we-friendly question received 19:29:06.034557 Wrote request (93 bytes) input to log/1/server.input 19:29:06.034589 Identifying ourselves as friends 19:29:06.034665 Response sent (56 bytes) and written to log/1/server.response 19:29:06.034676 special request received, no persistency 19:29:06.034684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 41892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 2059 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind2059 ==179573== ==179573== Process terminating with default action of signal 4 (SIGILL) ==179573== Illegal opcode at address 0x492B75F ==179573== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179573== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179573== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179573== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179573== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179573== by 0x49908EB: curl_version_info (version.c:600) ==179573== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179573== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179573== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179573== by 0x4003269: main (tool_main.c:195) === End of file valgrind2059 test 2065 [HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2065 ../src/curl -q --output log/20/curl2065.out --include --trace-ascii log/20/trace2065 --trace-time http://127.0.0.1:41689/2065 -u testuser:test2pass --digest > log/20/stdout2065 2> log/20/stderr2065 2065: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2065 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2065 ../src/curl -q --output log/20/curl2065.out --include --trace-ascii log/20/trace2065 --trace-time http://127.0.0.1:41689/2065 -u testuser:test2pass --digest > log/20/stdout2065 2> log/20/stderr2065 === End of file commands.log === Start of file http_server.log 19:29:05.330924 ====> Client connect 19:29:05.330958 accept_connection 3 returned 4 19:29:05.330980 Read 93 bytes 19:29:05.330990 Process 93 bytes request 19:29:05.331002 Got request: GET /verifiedserver HTTP/1.1 19:29:05.331010 Are-we-friendly question received 19:29:05.331042 Wrote request (93 bytes) input to log/20/server.input 19:29:05.331057 Identifying ourselves as friends 19:29:05.331121 Response sent (57 bytes) and written to log/20/server.response 19:29:05.331131 special request received, no persistency 19:29:05.331140 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 46924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 2065 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind2065 ==180011== ==180011== Process terminating with default action of signal 4 (SIGILL) ==180011== Illegal opcode at address 0x492B75F ==180011== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180011== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180011== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180011== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180011== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180011== by 0x49908EB: curl_version_info (version.c:600) ==180011== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180011== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180011== by 0x4003269: main (tool_main.c:195) === End of file valgrind2065 test 2061 [HTTP with RFC7616 SHA256 Digest authorization] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:33935/2061 -u testuser:testpass --digest > log/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2063 ../src/curl -q --output log/2/curl2063.out --include --trace-ascii log/2/trace2063 --trace-time http://127.0.0.1:34531/2063 -u testuser:testpass --digest > log/2/stdout2063 2> log/2/stderr2063 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2060 ../src/curl -q --output log/24/curl2060.out --include --trace-ascii log/24/trace2060 --trace-time http://127.0.0.1:38895/2060 -u auser:apasswd --digest -T log/24/2060 -x http://127.0.0.1:38895 -X GET > log/24/stdout2060 2> log/24/stderr2060 6/stdout2061 2> log/6/stderr2061 2061: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 2061 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2061 ../src/curl -q --output log/6/curl2061.out --include --trace-ascii log/6/trace2061 --trace-time http://127.0.0.1:33935/2061 -u testuser:testpass --digest > log/6/stdout2061 2> log/6/stderr2061 === End of file commands.log === Start of file http_server.log 19:29:05.057330 ====> Client connect 19:29:05.057632 accept_connection 3 returned 4 19:29:05.057664 Read 93 bytes 19:29:05.057676 Process 93 bytes request 19:29:05.057690 Got request: GET /verifiedserver HTTP/1.1 19:29:05.057699 Are-we-friendly question received 19:29:05.057729 Wrote request (93 bytes) input to log/6/server.input 19:29:05.057748 Identifying ourselves as friends 19:29:05.057821 Response sent (56 bytes) and written to log/6/server.response 19:29:05.057833 special request received, no persistency 19:29:05.057842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 39500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 2061 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind2061 ==179619== ==179619== Process terminating with default action of signal 4 (SIGILL) ==179619== Illegal opcode at address 0x492B75F ==179619== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179619== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179619== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179619== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179619== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179619== by 0x49908EB: curl_version_info (version.c:600) ==179619== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179619== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179619== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179619== by 0x4003269: main (tool_main.c:195) === End of file valgrind2061 test 2063 [HTTP with RFC7616 SHA-256 Digest authorization and userhash=true] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2063 ../src/curl -q --output log/2/curl2063.out --include --trace-ascii log/2/trace2063 --trace-time http://127.0.0.1:34531/2063 -u testuser:testpass --digest > log/2/stdout2063 2> log/2/stderr2063 2063: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2063 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2063 ../src/curl -q --output log/2/curl2063.out --include --trace-ascii log/2/trace2063 --trace-time http://127.0.0.1:34531/2063 -u testuser:testpass --digest > log/2/stdout2063 2> log/2/stderr2063 === End of file commands.log === Start of file http_server.log 19:29:06.257371 ====> Client connect 19:29:06.257401 accept_connection 3 returned 4 19:29:06.257418 Read 93 bytes 19:29:06.257427 Process 93 bytes request 19:29:06.257436 Got request: GET /verifiedserver HTTP/1.1 19:29:06.257444 Are-we-friendly question received 19:29:06.257466 Wrote request (93 bytes) input to log/2/server.input 19:29:06.257480 Identifying ourselves as friends 19:29:06.257532 Response sent (56 bytes) and written to log/2/server.response 19:29:06.257553 special request received, no persistency 19:29:06.257560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 32870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2063 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2063 ==179891== ==179891== Process terminating with default action of signal 4 (SIGILL) ==179891== Illegal opcode at address 0x492B75F ==179891== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179891== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179891== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179891== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179891== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179891== by 0x49908EB: curl_version_info (version.c:600) ==179891== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179891== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179891== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179891== by 0x4003269: main (tool_main.c:195) === End of file valgrind2063 test 2060 [HTTP Digest upload with a modified method and SHA-512-256] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2060 ../src/curl -q --output log/24/curl2060.out --include --trace-ascii log/24/trace2060 --trace-time http://127.0.0.1:38895/2060 -u auser:apasswd --digest -T log/24/2060 -x http://127.0.0.1:38895 -X GET > log/24/stdout2060 2> log/24/stderr2060 2060: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2060 === Start of file 2060 test === End of file 2060 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2060 ../src/curl -q --output log/24/curl2060.out --include --trace-ascii log/24/trace2060 --trace-time http://127.0.0.1:38895/2060 -u auser:apasswd --digest -T log/24/2060 -x http://127.0.0.1:38895 -X GET > log/24/stdout2060 2> log/24/stderr2060 === End of file commands.log === Start of file http_server.log 19:29:05.039967 ====> Client connect 19:29:05.039996 accept_connection 3 returned 4 19:29:05.040014 Read 93 bytes 19:29:05.040022 Process 93 bytes request 19:29:05.040032 Got request: GET /verifiedserver HTTP/1.1 19:29:05.040040 Are-we-friendly question received 19:29:05.040064 Wrote request (93 bytes) input to log/24/server.input 19:29:05.040081 Identifying ourselves as friends 19:29:05.040142 Response sent (56 bytes) and written to log/24/server.response 19:29:05.040151 special request received, no persistency 19:29:05.040160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 55734 * using HTTP/1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2068 ../src/curl -q --output log/8/curl2068.out --include --trace-ascii log/8/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44467/2068 > log/8/stdout2068 2> log/8/stderr2068 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2050 ../src/curl -q --output log/5/curl2050.out --include --trace-ascii log/5/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37089 -x 127.0.0.1:35873 --next http://www.example.com.2050:37089/2050 --connect-to ::www.example.com.2050:37089 -x 127.0.0.1:35873 > log/5/stdout2050 2> log/5/stderr2050 .x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 2060 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind2060 ==179575== ==179575== Process terminating with default action of signal 4 (SIGILL) ==179575== Illegal opcode at address 0x492B75F ==179575== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==179575== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==179575== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==179575== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==179575== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==179575== by 0x49908EB: curl_version_info (version.c:600) ==179575== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==179575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==179575== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==179575== by 0x4003269: main (tool_main.c:195) === End of file valgrind2060 test 2068 [HTTP POST Digest with SHA-512-256, userhash and set Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2068 ../src/curl -q --output log/8/curl2068.out --include --trace-ascii log/8/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44467/2068 > log/8/stdout2068 2> log/8/stderr2068 2068: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 2068 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2068 ../src/curl -q --output log/8/curl2068.out --include --trace-ascii log/8/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:44467/2068 > log/8/stdout2068 2> log/8/stderr2068 === End of file commands.log === Start of file http_server.log 19:29:05.961009 ====> Client connect 19:29:05.961063 accept_connection 3 returned 4 19:29:05.961095 Read 93 bytes 19:29:05.961107 Process 93 bytes request 19:29:05.961120 Got request: GET /verifiedserver HTTP/1.1 19:29:05.961130 Are-we-friendly question received 19:29:05.961327 Wrote request (93 bytes) input to log/8/server.input 19:29:05.961352 Identifying ourselves as friends 19:29:05.961415 Response sent (56 bytes) and written to log/8/server.response 19:29:05.961424 special request received, no persistency 19:29:05.961432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 32928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 2068 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind2068 ==180264== ==180264== Process terminating with default action of signal 4 (SIGILL) ==180264== Illegal opcode at address 0x492B75F ==180264== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180264== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180264== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180264== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180264== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180264== by 0x49908EB: curl_version_info (version.c:600) ==180264== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180264== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180264== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180264== by 0x4003269: main (tool_main.c:195) === End of file valgrind2068 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/5/server/http2_server.pid" --logfile "log/5/http2_server.log" --logdir "log/5" --portfile log/5/server/http2_server.port --config log/5/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 179223 port 35873 * pid http-proxy => 179223 179223 test 2050 [--connect-to via HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2050 ../src/curl -q --output log/5/curl2050.out --include --trace-ascii log/5/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37089 -x 127.0.0.1:35873 --next http://www.example.com.2050:37089/2050 --connect-to ::www.example.com.2050:37089 -x 127.0.0.1:35873 > log/5/stdout2050 2> log/5/stderr2050 2050: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 2050 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2050 ../src/curl -q --output log/5/curl2050.out --include --trace-ascii log/5/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37089 -x 127.0.0.1:35873 --next http://www.example.com.2050:37089/2050 --connect-to ::www.example.com.2050:37089 -x 127.0.0.1:35873 > log/5/stdout2050 2> log/5/stderr2050 === End of file commands.log === Start of file http2_server.log 19:29:04.413118 Run as proxy, CONNECT to host 127.0.0.1 19:29:04.413258 Running HTTP IPv4 version on port 35873 19:29:04.413302 Wrote pid 179223 to log/5/server/http2_server.pid 19:29:04.413332 Wrote port 35873 to log/5/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:29:04.334891 ====> Client connect 19:29:04.334930 accept_connection 3 returned 4 19:29:04.334952 Read 93 bytes 19:29:04.334961 Process 93 bytes request 19:29:04.334975 Got request: GET /verifiedserver HTTP/1.1 19:29:04.334983 Are-we-friendly question received 19:29:04.335011 Wrote request (93 bytes) input to log/5/server.input 19:29:04.335028 Identifying ourselves as friends 19:29:04.335096 Response sent (56 bytes) and written to log/5/server.response 19:29:04.335106 special request received, no persistency 19:29:04.335114 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 48766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 2050 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2067 ../src/curl -q --output log/7/curl2067.out --include --trace-ascii log/7/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40859/2067 > log/7/stdout2067 2> log/7/stderr2067 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:43739/2069 > log/18/stdout2069 2> log/18/stderr2069 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2055 ../src/curl -q --output log/16/curl2055.out --include --trace-ascii log/16/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 --next http://www.example.com.2055:35903/2055 --connect-to ::www.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 > log/16/stdout2055 2> log/16/stderr2055 ROOLZ: 81869 === End of file server.response === Start of file valgrind2050 ==180004== ==180004== Process terminating with default action of signal 4 (SIGILL) ==180004== Illegal opcode at address 0x492B75F ==180004== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180004== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180004== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180004== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180004== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180004== by 0x49908EB: curl_version_info (version.c:600) ==180004== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180004== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180004== by 0x4003269: main (tool_main.c:195) === End of file valgrind2050 test 2067 [HTTP POST --digest with SHA256 and user-specified Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2067 ../src/curl -q --output log/7/curl2067.out --include --trace-ascii log/7/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40859/2067 > log/7/stdout2067 2> log/7/stderr2067 2067: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 2067 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2067 ../src/curl -q --output log/7/curl2067.out --include --trace-ascii log/7/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:40859/2067 > log/7/stdout2067 2> log/7/stderr2067 === End of file commands.log === Start of file http_server.log 19:29:05.960967 ====> Client connect 19:29:05.961013 accept_connection 3 returned 4 19:29:05.961038 Read 93 bytes 19:29:05.961049 Process 93 bytes request 19:29:05.961063 Got request: GET /verifiedserver HTTP/1.1 19:29:05.961072 Are-we-friendly question received 19:29:05.961104 Wrote request (93 bytes) input to log/7/server.input 19:29:05.961122 Identifying ourselves as friends 19:29:05.961207 Response sent (56 bytes) and written to log/7/server.response 19:29:05.961218 special request received, no persistency 19:29:05.961227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 2067 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind2067 ==180270== ==180270== Process terminating with default action of signal 4 (SIGILL) ==180270== Illegal opcode at address 0x492B75F ==180270== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180270== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180270== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180270== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180270== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180270== by 0x49908EB: curl_version_info (version.c:600) ==180270== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180270== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180270== by 0x4003269: main (tool_main.c:195) === End of file valgrind2067 test 2069 [HTTP POST Digest with SHA-256, userhash and set Content-Length header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:43739/2069 > log/18/stdout2069 2> log/18/stderr2069 2069: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 2069 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2069 ../src/curl -q --output log/18/curl2069.out --include --trace-ascii log/18/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:43739/2069 > log/18/stdout2069 2> log/18/stderr2069 === End of file commands.log === Start of file http_server.log 19:29:06.990059 ====> Client connect 19:29:06.990096 accept_connection 3 returned 4 19:29:06.990266 Read 93 bytes 19:29:06.990280 Process 93 bytes request 19:29:06.990293 Got request: GET /verifiedserver HTTP/1.1 19:29:06.990301 Are-we-friendly question received 19:29:06.990331 Wrote request (93 bytes) input to log/18/server.input 19:29:06.990347 Identifying ourselves as friends 19:29:06.990406 Response sent (56 bytes) and written to log/18/server.response 19:29:06.990414 special request received, no persistency 19:29:06.990422 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 59726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 2069 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind2069 ==180297== ==180297== Process terminating with default action of signal 4 (SIGILL) ==180297== Illegal opcode at address 0x492B75F ==180297== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180297== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180297== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180297== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180297== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180297== by 0x49908EB: curl_version_info (version.c:600) ==180297== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180297== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180297== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180297== by 0x4003269: main (tool_main.c:195) === End of file valgrind2069 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/16/server/http2_server.pid" --logfile "log/16/http2_server.log" --logdir "log/16" --portfile log/16/server/http2_server.port --config log/16/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 179477 port 38407 * pid http-proxy => 179477 179477 test 2055 [--connect-to via SOCKS proxy and HTTP proxy (tunnel mode auto)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --lCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2073 ../src/curl -q --output log/9/curl2073.out --include --trace-ascii log/9/trace2073 --trace-time http://127.0.0.1:43733/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:43733/2073 -F 'name=b;filename=b.jpg' > log/9/stdout2073 2> log/9/stderr2073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2072 ../src/curl -q --output log/22/curl2072.out --trace-ascii log/22/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/22/test2072.txt > log/22/stdout2072 2> log/22/stderr2072 eak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2055 ../src/curl -q --output log/16/curl2055.out --include --trace-ascii log/16/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 --next http://www.example.com.2055:35903/2055 --connect-to ::www.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 > log/16/stdout2055 2> log/16/stderr2055 2055: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 2055 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2055 ../src/curl -q --output log/16/curl2055.out --include --trace-ascii log/16/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 --next http://www.example.com.2055:35903/2055 --connect-to ::www.example.com.2055:35903 -x 127.0.0.1:38407 --preproxy socks5://127.0.0.1:38511 > log/16/stdout2055 2> log/16/stderr2055 === End of file commands.log === Start of file http2_server.log 19:29:05.024705 Run as proxy, CONNECT to host 127.0.0.1 19:29:05.024841 Running HTTP IPv4 version on port 38407 19:29:05.024889 Wrote pid 179477 to log/16/server/http2_server.pid 19:29:05.024922 Wrote port 38407 to log/16/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:29:05.945110 ====> Client connect 19:29:05.945143 accept_connection 3 returned 4 19:29:05.945164 Read 93 bytes 19:29:05.945173 Process 93 bytes request 19:29:05.945186 Got request: GET /verifiedserver HTTP/1.1 19:29:05.945195 Are-we-friendly question received 19:29:05.945221 Wrote request (93 bytes) input to log/16/server.input 19:29:05.945237 Identifying ourselves as friends 19:29:05.945295 Response sent (56 bytes) and written to log/16/server.response 19:29:05.945304 special request received, no persistency 19:29:05.945312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 57932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 2055 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind2055 ==180275== ==180275== Process terminating with default action of signal 4 (SIGILL) ==180275== Illegal opcode at address 0x492B75F ==180275== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180275== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180275== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180275== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180275== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180275== by 0x49908EB: curl_version_info (version.c:600) ==180275== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180275== by 0x4003269: main (tool_main.c:195) === End of file valgrind2055 test 2073 [HTTP form posts with handle reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2073 ../src/curl -q --output log/9/curl2073.out --include --trace-ascii log/9/trace2073 --trace-time http://127.0.0.1:43733/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:43733/2073 -F 'name=b;filename=b.jpg' > log/9/stdout2073 2> log/9/stderr2073 2073: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2073 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2073 ../src/curl -q --output log/9/curl2073.out --include --trace-ascii log/9/trace2073 --trace-time http://127.0.0.1:43733/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:43733/2073 -F 'name=b;filename=b.jpg' > log/9/stdout2073 2> log/9/stderr2073 === End of file commands.log === Start of file http_server.log 19:29:06.454072 ====> Client connect 19:29:06.454112 accept_connection 3 returned 4 19:29:06.454137 Read 93 bytes 19:29:06.454147 Process 93 bytes request 19:29:06.454160 Got request: GET /verifiedserver HTTP/1.1 19:29:06.454169 Are-we-friendly question received 19:29:06.454199 Wrote request (93 bytes) input to log/9/server.input 19:29:06.454231 Identifying ourselves as friends 19:29:06.454296 Response sent (56 bytes) and written to log/9/server.response 19:29:06.454304 special request received, no persistency 19:29:06.454312 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 2073 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind2073 ==180608== ==180608== Process terminating with default action of signal 4 (SIGILL) ==180608== Illegal opcode at address 0x492B75F ==180608== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180608== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180608== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180608== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180608== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180608== by 0x49908EB: curl_version_info (version.c:600) ==180608== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180608== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180608== by 0x4003269: main (tool_main.c:195) === End of file valgrind2073 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2071 ../src/curl -q --output log/23/curl2071.out --trace-ascii log/23/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/23/test2070.txt > log/23/stdout2071 2> log/23/stderr2071 test 2072 [file:// with Unix path for the case of extra slashes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2072 ../src/curl -q --output log/22/curl2072.out --trace-ascii log/22/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/22/test2072.txt > log/22/stdout2072 2> log/22/stderr2072 2072: data FAILED: --- log/22/check-expected 2026-10-15 19:29:08.910180696 +0000 +++ log/22/check-generated 2026-10-15 19:29:08.905922441 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/22/ directory after test 2072 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2072 ../src/curl -q --output log/22/curl2072.out --trace-ascii log/22/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/22/test2072.txt > log/22/stdout2072 2> log/22/stderr2072 === End of file commands.log === Start of file server.cmd Testnum 2072 === End of file server.cmd === Start of file test2072.txt foo bar bar foo moo === End of file test2072.txt === Start of file valgrind2072 ==180443== ==180443== Process terminating with default action of signal 4 (SIGILL) ==180443== Illegal opcode at address 0x492B75F ==180443== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180443== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180443== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180443== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180443== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180443== by 0x49908EB: curl_version_info (version.c:600) ==180443== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180443== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180443== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180443== by 0x4003269: main (tool_main.c:195) === End of file valgrind2072 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2074 ../src/curl -q --output log/10/curl2074.out --include --trace-ascii log/10/trace2074 --trace-time http://127.0.0.1:40913/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout2074 2> log/10/stderr2074 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:38821/2082 > log/13/stdout2082 2> log/13/stderr2082 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2078 ../src/curl -q --output log/11/curl2078.out --include --trace-ascii log/11/trace2078 --trace-time http://127.0.0.1:40989/2078 --negotiate --data name=value > log/11/stdout2078 2> log/11/stderr2078 test 2071 [basic file:// file with "127.0.0.1" hostname] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2071 ../src/curl -q --output log/23/curl2071.out --trace-ascii log/23/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/23/test2070.txt > log/23/stdout2071 2> log/23/stderr2071 2071: data FAILED: --- log/23/check-expected 2026-10-15 19:29:09.132686633 +0000 +++ log/23/check-generated 2026-10-15 19:29:09.129254391 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ directory after test 2071 === Start of file check-expected foo[LF] bar[LF] bar[LF] foo[LF] moo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2071 ../src/curl -q --output log/23/curl2071.out --trace-ascii log/23/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/23/test2070.txt > log/23/stdout2071 2> log/23/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==180446== ==180446== Process terminating with default action of signal 4 (SIGILL) ==180446== Illegal opcode at address 0x492B75F ==180446== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180446== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180446== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180446== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180446== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180446== by 0x49908EB: curl_version_info (version.c:600) ==180446== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180446== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180446== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180446== by 0x4003269: main (tool_main.c:195) === End of file valgrind2071 test 2074 [HTTP with oauth2-bearer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2074 ../src/curl -q --output log/10/curl2074.out --include --trace-ascii log/10/trace2074 --trace-time http://127.0.0.1:40913/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout2074 2> log/10/stderr2074 2074: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2074 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2074 ../src/curl -q --output log/10/curl2074.out --include --trace-ascii log/10/trace2074 --trace-time http://127.0.0.1:40913/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/10/stdout2074 2> log/10/stderr2074 === End of file commands.log === Start of file http_server.log 19:29:06.583355 ====> Client connect 19:29:06.583388 accept_connection 3 returned 4 19:29:06.583407 Read 93 bytes 19:29:06.583416 Process 93 bytes request 19:29:06.583428 Got request: GET /verifiedserver HTTP/1.1 19:29:06.583436 Are-we-friendly question received 19:29:06.583459 Wrote request (93 bytes) input to log/10/server.input 19:29:06.583473 Identifying ourselves as friends 19:29:06.583529 Response sent (56 bytes) and written to log/10/server.response 19:29:06.583537 special request received, no persistency 19:29:06.583544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 39492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 2074 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind2074 ==180664== ==180664== Process terminating with default action of signal 4 (SIGILL) ==180664== Illegal opcode at address 0x492B75F ==180664== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180664== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180664== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180664== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180664== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180664== by 0x49908EB: curl_version_info (version.c:600) ==180664== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180664== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180664== by 0x4003269: main (tool_main.c:195) === End of file valgrind2074 test 2078 [curl --negotiate should not send empty POST request only] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2078 ../src/curl -q --output log/11/curl2078.out --include --trace-ascii log/11/trace2078 --trace-time http://127.0.0.1:40989/2078 --negotiate --data name=value > log/11/stdout2078 2> log/11/stderr2078 2078: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 2078 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2078 ../src/curl -q --output log/11/curl2078.out --include --trace-ascii log/11/trace2078 --trace-time http://127.0.0.1:40989/2078 --negotiate --data name=value > log/11/stdout2078 2> log/11/stderr2078 === End of file commands.log === Start of file http_server.log 19:29:07.096460 ====> Client connect 19:29:07.096495 accept_connection 3 returned 4 19:29:07.096516 Read 93 bytes 19:29:07.096526 Process 93 bytes request 19:29:07.096538 Got request: GET /verifiedserver HTTP/1.1 19:29:07.096547 Are-we-friendly question received 19:29:07.096571 Wrote request (93 bytes) input to log/11/server.input 19:29:07.096587 Identifying ourselves as friends 19:29:07.096648 Response sent (56 bytes) and written to log/11/server.response 19:29:07.096657 special request received, no persistency 19:29:07.096665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 43220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 2078 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind2078 ==180866== ==180866== Process terminating with default action of signal 4 (SIGILL) ==180866== Illegal opcode at address 0x492B75F ==180866== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180866== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180866== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180866== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180866== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180866== by 0x49908EB: curl_version_info (version.c:600) ==180866== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180866== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180866== by 0x4003269: main (tool_main.c:195) === End of file valgrind2078 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2075 ../src/curl -q --output log/4/curl2075.out --include --trace-ascii log/4/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/4/stdout2075 2> log/4/stderr2075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39881/2084#err > log/21/stdout2084 2> log/21/stderr2084 test 2082 [Pre-request callback for HTTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:38821/2082 > log/13/stdout2082 2> log/13/stderr2082 2082: stdout FAILED: --- log/13/check-expected 2026-10-15 19:29:09.459375686 +0000 +++ log/13/check-generated 2026-10-15 19:29:09.455918898 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 38821[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/13/ directory after test 2082 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 38821[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:38821/2082 > log/13/stdout2082 2> log/13/stderr2082 === End of file commands.log === Start of file http_server.log 19:29:07.579235 ====> Client connect 19:29:07.579270 accept_connection 3 returned 4 19:29:07.579291 Read 93 bytes 19:29:07.579301 Process 93 bytes request 19:29:07.579313 Got request: GET /verifiedserver HTTP/1.1 19:29:07.579322 Are-we-friendly question received 19:29:07.579350 Wrote request (93 bytes) input to log/13/server.input 19:29:07.579366 Identifying ourselves as friends 19:29:07.579428 Response sent (56 bytes) and written to log/13/server.response 19:29:07.579437 special request received, no persistency 19:29:07.579445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54832 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 2082 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind2082 ==181169== ==181169== Process terminating with default action of signal 4 (SIGILL) ==181169== Illegal opcode at address 0x51CC63F ==181169== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==181169== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==181169== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==181169== by 0x40041AF: main (first.c:264) === End of file valgrind2082 test 2075 [Verify usernames are not allowed in url] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2075 ../src/curl -q --output log/4/curl2075.out --include --trace-ascii log/4/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/4/stdout2075 2> log/4/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/4/ directory after test 2075 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2075 ../src/curl -q --output log/4/curl2075.out --include --trace-ascii log/4/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/4/stdout2075 2> log/4/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==180729== ==180729== Process terminating with default action of signal 4 (SIGILL) ==180729== Illegal opcode at address 0x492B75F ==180729== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180729== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180729== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180729== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180729== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180729== by 0x49908EB: curl_version_info (version.c:600) ==180729== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180729== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180729== by 0x4003269: main (tool_main.c:195) === End of file valgrind2075 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:45467/2085#redir > log/14/stdout2085 2> log/14/stderr2085 test 2084 [Pre-request callback for HTTP with callback terminating transfer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39881/2084#err > log/21/stdout2084 2> log/21/stderr2084 2084: stdout FAILED: --- log/21/check-expected 2026-10-15 19:29:09.759459916 +0000 +++ log/21/check-generated 2026-10-15 19:29:09.755916917 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 39881[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/21/ directory after test 2084 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 39881[LF] Local port = stripped[LF] Returning = 1[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39881/2084#err > log/21/stdout2084 2> log/21/stderr2084 === End of file commands.log === Start of file http_server.log 19:29:07.620961 ====> Client connect 19:29:07.621001 accept_connection 3 returned 4 19:29:07.621023 Read 93 bytes 19:29:07.621032 Process 93 bytes request 19:29:07.621045 Got request: GET /verifiedserver HTTP/1.1 19:29:07.621052 Are-we-friendly question received 19:29:07.621088 Wrote request (93 bytes) input to log/21/server.input 19:29:07.621105 Identifying ourselves as friends 19:29:07.621178 Response sent (56 bytes) and written to log/21/server.response 19:29:07.621189 special request received, no persistency 19:29:07.621197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 35110 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 2084 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind2084 ==181185== ==181185== Process terminating with default action of signal 4 (SIGILL) ==181185== Illegal opcode at address 0x51CC63F ==181185== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==181185== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==181185== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==181185== by 0x40041AF: main (first.c:264) === End of file valgrind2084 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42249/test-2083/ > log/3/stdout2083 2> log/3/stderr2083 test 2085 [Pre-request callback for HTTP with location following] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:45467/2085#redir > log/14/stdout2085 2> log/14/stderr2085 2085: stdout FAILED: --- log/14/check-expected 2026-10-15 19:29:09.779446427 +0000 +++ log/14/check-generated 2026-10-15 19:29:09.775916783 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 45467[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 45467[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/14/ directory after test 2085 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 45467[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 45467[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:45467/2085#redir > log/14/stdout2085 2> log/14/stderr2085 === End of file commands.log === Start of file http_server.log 19:29:07.647413 ====> Client connect 19:29:07.647448 accept_connection 3 returned 4 19:29:07.647469 Read 93 bytes 19:29:07.647478 Process 93 bytes request 19:29:07.647489 Got request: GET /verifiedserver HTTP/1.1 19:29:07.647497 Are-we-friendly question received 19:29:07.647523 Wrote request (93 bytes) input to log/14/server.input 19:29:07.647539 Identifying ourselves as friends 19:29:07.647634 Response sent (56 bytes) and written to log/14/server.response 19:29:07.647645 special request received, no persistency 19:29:07.647654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 44806 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 2085 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind2085 ==181215== ==181215== Process terminating with default action of signal 4 (SIGILL) ==181215== Illegal opcode at address 0x51CC63F ==181215== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==181215== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==181215== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==181215== by 0x40041AF: main (first.c:264) === End of file valgrind2085 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2081 ../src/curl -q --include --trace-ascii log/15/trace2081 --trace-time http://user:pass@127.0.0.1:40321/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/15/stdout2081 2> log/15/stderr2081 test 2083 [Pre-request callback for FTP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42249/test-2083/ > log/3/stdout2083 2> log/3/stderr2083 2083: stdout FAILED: --- log/3/check-expected 2026-10-15 19:29:10.014642170 +0000 +++ log/3/check-generated 2026-10-15 19:29:10.009248572 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 42249[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/3/ directory after test 2083 === Start of file check-expected Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 42249[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42249/test-2083/ > log/3/stdout2083 2> log/3/stderr2083 === End of file commands.log === Start of file ftp_server.log 19:29:07.987837 ====> Client connect 19:29:07.988057 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:07.988332 < "USER anonymous" 19:29:07.988365 > "331 We are happy you popped in![CR][LF]" 19:29:07.992082 < "PASS ftp@example.com" 19:29:07.992119 > "230 Welcome you silly person[CR][LF]" 19:29:07.992302 < "PWD" 19:29:07.992335 > "257 "/" is current directory[CR][LF]" 19:29:07.992500 < "EPSV" 19:29:07.992526 ====> Passive DATA channel requested by client 19:29:07.992540 DATA sockfilt for passive data channel starting... 19:29:07.998881 DATA sockfilt for passive data channel started (pid 181145) 19:29:07.999011 DATA sockfilt for passive data channel listens on port 44057 19:29:07.999055 > "229 Entering Passive Mode (|||44057|)[CR][LF]" 19:29:07.999075 Client has been notified that upcoming DATA connection is awaited on port 44057 19:29:07.999377 Client connects to port 44057 19:29:07.999408 ====> Client established passive DATA connection on port 44057 19:29:07.999493 < "TYPE I" 19:29:07.999523 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:07.999682 < "SIZE verifiedserver" 19:29:07.999720 > "213 17[CR][LF]" 19:29:07.999872 < "RETR verifiedserver" 19:29:07.999906 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:07.999998 =====> Closing passive DATA connection... 19:29:08.000016 Server disconnects passive DATA connection 19:29:08.000241 Server disconnected passive DATA connection 19:29:08.000269 DATA sockfilt for passive data channel quits (pid 181145) 19:29:08.000553 DATA sockfilt for passive data channel quit (pid 181145) 19:29:08.000577 =====> Closed passive DATA connection 19:29:08.000605 > "226 File transfer complete[CR][LF]" 19:29:08.045636 < "QUIT" 19:29:08.045696 > "221 bye bye baby[CR][LF]" 19:29:08.047054 MAIN sockfilt said DISC 19:29:08.047093 ====> Client disconnected 19:29:08.047174 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:08.589955 ====> Client connect 19:29:08.590323 Received DATA (on stdin) 19:29:08.590337 > 146 bytes data, server => client 19:29:08.590349 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:08.590359 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:08.590369 '220 \___|\___/|_| \_\_____|\r\n' 19:29:08.590446 < 16 bytes data, client => server 19:29:08.590457 'USER anonymous\r\n' 19:29:08.590621 Received DATA (on stdin) 19:29:08.590632 > 33 bytes data, server => client 19:29:08.590642 '331 We are happy you popped in!\r\n' 19:29:08.590689 < 22 bytes data, client => server 19:29:08.590701 'PASS ftp@example.com\r\n' 19:29:08.594378 Received DATA (on stdin) 19:29:08.594392 > 30 bytes data, server => client 19:29:08.594403 '230 Welcome you silly person\r\n' 19:29:08.594471 < 5 bytes data, client => server 19:29:08.594482 'PWD\r\n' 19:29:08.594588 Received DATA (on stdin) 19:29:08.594599 > 30 bytes data, server => client 19:29:08.594609 '257 "/" is current directory\r\n' 19:29:08.594670 < 6 bytes data, client => server 19:29:08.594681 'EPSV\r\n' 19:29:08.601336 Received DATA (on stdin) 19:29:08.601351 > 39 bytes data, server => client 19:29:08.601362 '229 Entering Passive Mode (|||44057|)\r\n' 19:29:08.601548 < 8 bytes data, client => server 19:29:08.601562 'TYPE I\r\n' 19:29:08.601776 Received DATA (on stdin) 19:29:08.601787 > 33 bytes data, server => client 19:29:08.601798 '200 I modify TYPE as you wanted\r\n' 19:29:08.601850 < 21 bytes data, client => server 19:29:08.601861 'SIZE verifiedserver\r\n' 19:29:08.601974 Received DATA (on stdin) 19:29:08.601984 > 8 bytes data, server => client 19:29:08.601994 '213 17\r\n' 19:29:08.602045 < 21 bytes data, client => server 19:29:08.602056 'RETR verifiedserver\r\n' 19:29:08.602272 Received DATA (on stdin) 19:29:08.602283 > 29 bytes data, server => client 19:29:08.602293 '150 Binary junk (17 bytes).\r\n' 19:29:08.602858 Received DATA (on stdin) 19:29:08.602870 > 28 bytes data, server => client 19:29:08.602880 '226 File transfer complete\r\n' 19:29:08.647690 < 6 bytes data, client => server 19:29:08.647720 'QUIT\r\n' 19:29:08.647959 Received DATA (on stdin) 19:29:08.647972 > 18 bytes data, server => client 19:29:08.647983 '221 bye bye baby\r\n' 19:29:08.649253 ====> Client disconnect 19:29:08.649433 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:07.600446 Running IPv4 version 19:29:07.600555 Listening on port 44057 19:29:07.600602 Wrote pid 181145 to log/3/server/ftp_sockdata.pid 19:29:07.601055 Received PING (on stdin) 19:29:07.601169 Received PORT (on stdin) 19:29:07.601584 ====> Client connect 19:29:07.602319 Received DATA (on stdin) 19:29:07.602330 > 17 bytes data, server => client 19:29:07.602340 'WE ROOLZ: 84710\r\n' 19:29:07.602363 Received DISC (on stdin) 19:29:07.602374 ====> Client forcibly disconnected 19:29:07.602530 Received QUIT (on stdin) 19:29:07.602540 quits 19:29:07.602607 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2083 === End of file server.cmd === Start of file valgrind2083 ==181207== ==181207== Process terminating with default action of signal 4 (SIGILL) ==181207== Illegal opcode at address 0x51CC63F ==181207== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==181207== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==181207== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==181207== by 0x40041AF: main (first.c:264) === End of file valgrind2083 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2076 ../src/curl -q --output log/19/curl2076.out --include --trace-ascii log/19/trace2076 --trace-time "http://127.0.0.1:37077/2076?query" -u testuser:testpass --digest > log/19/stdout2076 2> log/19/stderr2076 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2080 ../src/curl -q --output log/17/curl2080.out --include --trace-ascii log/17/trace2080 --trace-time -K log/17/config2080 file://de\>v/null > log/17/stdout2080 2> log/17/stderr2080 test 2081 [Automatic referrer credential and anchor stripping check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2081 ../src/curl -q --include --trace-ascii log/15/trace2081 --trace-time http://user:pass@127.0.0.1:40321/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/15/stdout2081 2> log/15/stderr2081 2081: stdout FAILED: --- log/15/check-expected 2026-10-15 19:29:10.087451027 +0000 +++ log/15/check-generated 2026-10-15 19:29:10.082581353 +0000 @@ -1,10 +0,0 @@ -HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] -Location: data/20810002.txt?coolsite=yes[CR][LF] -Content-Length: 62[CR][LF] -Connection: close[CR][LF] -[CR][LF] -HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] -Connection: close[CR][LF] -[CR][LF] -Thanks for following.[LF] -http://127.0.0.1:40321/we/want/our/2081[LF] == Contents of files in the log/15/ directory after test 2081 === Start of file check-expected HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF] Location: data/20810002.txt?coolsite=yes[CR][LF] Content-Length: 62[CR][LF] Connection: close[CR][LF] [CR][LF] HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF] Connection: close[CR][LF] [CR][LF] Thanks for following.[LF] http://127.0.0.1:40321/we/want/our/2081[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2081 ../src/curl -q --include --trace-ascii log/15/trace2081 --trace-time http://user:pass@127.0.0.1:40321/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/15/stdout2081 2> log/15/stderr2081 === End of file commands.log === Start of file http_server.log 19:29:08.470964 ====> Client connect 19:29:08.471002 accept_connection 3 returned 4 19:29:08.471023 Read 93 bytes 19:29:08.471033 Process 93 bytes request 19:29:08.471047 Got request: GET /verifiedserver HTTP/1.1 19:29:08.471056 Are-we-friendly question received 19:29:08.471082 Wrote request (93 bytes) input to log/15/server.input 19:29:08.471099 Identifying ourselves as friends 19:29:08.471172 Response sent (56 bytes) and written to log/15/server.response 19:29:08.471181 special request received, no persistency 19:29:08.471189 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 39588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 2081 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind2081 ==181108== ==181108== Process terminating with default action of signal 4 (SIGILL) ==181108== Illegal opcode at address 0x492B75F ==181108== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181108== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181108== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181108== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181108== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181108== by 0x49908EB: curl_version_info (version.c:600) ==181108== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181108== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181108== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181108== by 0x4003269: main (tool_main.c:195) === End of file valgrind2081 test 2076 [HTTP with digest auth and URI contains query] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2076 ../src/curl -q --output log/19/curl2076.out --include --trace-ascii log/19/trace2076 --trace-time "http://127.0.0.1:37077/2076?query" -u testuser:testpass --digest > log/19/stdout2076 2> log/19/stderr2076 2076: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 2076 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2076 ../src/curl -q --output log/19/curl2076.out --include --trace-ascii log/19/trace2076 --trace-time "http://127.0.0.1:37077/2076?query" -u testuser:testpass --digest > log/19/stdout2076 2> log/19/stderr2076 === End of file commands.log === Start of file http_server.log 19:29:07.054290 ====> Client connect 19:29:07.054336 accept_connection 3 returned 4 19:29:07.054361 Read 93 bytes 19:29:07.054373 Process 93 bytes request 19:29:07.054387 Got request: GET /verifiedserver HTTP/1.1 19:29:07.054396 Are-we-friendly question received 19:29:07.054438 Wrote request (93 bytes) input to log/19/server.input 19:29:07.054459 Identifying ourselves as friends 19:29:07.054537 Response sent (57 bytes) and written to log/19/server.response 19:29:07.054550 special request received, no persistency 19:29:07.054559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 46482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 2076 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind2076 ==180855== ==180855== Process terminating with default action of signal 4 (SIGILL) ==180855== Illegal opcode at address 0x492B75F ==180855== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180855== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180855== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180855== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180855== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180855== by 0x49908EB: curl_version_info (version.c:600) ==180855== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180855== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180855== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180855== by 0x4003269: main (tool_main.c:195) === End of file valgrind2076 test 2080 [config file with overly long option] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2080 ../src/curl -q --output log/17/curl2080.out --include --trace-ascii log/17/trace2080 --trace-time -K log/17/config2080 file://de\>v/null > log/17/stdout2080 2> log/17/stderr2080 curl returned 132, when expecting 2 2080: exit FAILED == Contents of files in the log/17/ directory after test 2080 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2080 ../src/curl -q --output log/17/curl2080.out --include --trace-ascii log/17/trace2080 --trace-time -K log/17/config2080 file://de\>v/null > log/17/stdout2080 2> log/17/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2086 ./libtest/libtests lib2082 [::1]:45455/2086#ipv6 > log/1/stdout2086 2> log/1/stderr2086 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==180907== ==180907== Process terminating with default action of signal 4 (SIGILL) ==180907== Illegal opcode at address 0x492B75F ==180907== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180907== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180907== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180907== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180907== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180907== by 0x49908EB: curl_version_info (version.c:600) ==180907== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180907== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180907== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180907== by 0x4003269: main (tool_main.c:195) === End of file valgrind2080 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2093 ../src/curl -q --output log/2/curl2093.out --include --trace-ascii log/2/trace2093 --trace-time http://127.0.0.1:34531/2093 -# -d "sending data" > log/2/stdout2093 2> log/2/stderr2093 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2077 ../src/curl -q --output log/12/curl2077.out --include --trace-ascii log/12/trace2077 --trace-time http://127.0.0.1:40921/2077 --fail --negotiate > log/12/stdout2077 2> log/12/stderr2077 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/1/server/http_ipv6_server.pid" --logfile "log/1/http_ipv6_server.log" --logdir "log/1" --portfile log/1/server/http_ipv6_server.port --config log/1/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 181133 port 45455 * pid http-ipv6 => 181133 181133 setenv MSYS2_ARG_CONV_EXCL = * test 2086 [Pre-request callback for HTTP IPv6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2086 ./libtest/libtests lib2082 [::1]:45455/2086#ipv6 > log/1/stdout2086 2> log/1/stderr2086 2086: stdout FAILED: --- log/1/check-expected 2026-10-15 19:29:10.428349097 +0000 +++ log/1/check-generated 2026-10-15 19:29:10.426850166 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 45455[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/1/ directory after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 45455[LF] Local port = stripped[LF] Returning = 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2086 ./libtest/libtests lib2082 [::1]:45455/2086#ipv6 > log/1/stdout2086 2> log/1/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 19:29:08.644775 Running HTTP IPv6 version on port 45455 19:29:08.644882 Wrote pid 181133 to log/1/server/http_ipv6_server.pid 19:29:08.644920 Wrote port 45455 to log/1/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 2086 === End of file server.cmd === Start of file valgrind2086 ==181929== ==181929== Process terminating with default action of signal 4 (SIGILL) ==181929== Illegal opcode at address 0x51CC63F ==181929== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==181929== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==181929== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==181929== by 0x40041AF: main (first.c:264) === End of file valgrind2086 test 2093 [HTTP POST a few bytes with 2^63-1 bytes response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2093 ../src/curl -q --output log/2/curl2093.out --include --trace-ascii log/2/trace2093 --trace-time http://127.0.0.1:34531/2093 -# -d "sending data" > log/2/stdout2093 2> log/2/stderr2093 2093: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2093 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2093 ../src/curl -q --output log/2/curl2093.out --include --trace-ascii log/2/trace2093 --trace-time http://127.0.0.1:34531/2093 -# -d "sending data" > log/2/stdout2093 2> log/2/stderr2093 === End of file commands.log === Start of file http_server.log 19:29:08.920966 ====> Client connect 19:29:08.921007 accept_connection 3 returned 4 19:29:08.921178 Read 93 bytes 19:29:08.921195 Process 93 bytes request 19:29:08.921209 Got request: GET /verifiedserver HTTP/1.1 19:29:08.921218 Are-we-friendly question received 19:29:08.921253 Wrote request (93 bytes) input to log/2/server.input 19:29:08.921271 Identifying ourselves as friends 19:29:08.921337 Response sent (56 bytes) and written to log/2/server.response 19:29:08.921348 special request received, no persistency 19:29:08.921356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 32882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2093 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2093 ==181515== ==181515== Process terminating with default action of signal 4 (SIGILL) ==181515== Illegal opcode at address 0x492B75F ==181515== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181515== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181515== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181515== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181515== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181515== by 0x49908EB: curl_version_info (version.c:600) ==181515== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181515== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181515== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181515== by 0x4003269: main (tool_main.c:195) === End of file valgrind2093 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2106 ../src/curl -q --output log/8/curl2106.out --include --trace-ascii log/8/trace2106 --trace-time http://127.0.0.1:44467/2106 > log/8/stdout2106 2> log/8/stderr2106 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:41689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:41689/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 test 2077 [curl --fail --negotiate to unauthenticated service fails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2077 ../src/curl -q --output log/12/curl2077.out --include --trace-ascii log/12/trace2077 --trace-time http://127.0.0.1:40921/2077 --fail --negotiate > log/12/stdout2077 2> log/12/stderr2077 2077: data FAILED: --- log/12/check-expected 2026-10-15 19:29:10.552493090 +0000 +++ log/12/check-generated 2026-10-15 19:29:10.550823701 +0000 @@ -1,4 +0,0 @@ -HTTP/1.1 200 OK swsclose[CR][LF] -Content-Length: 23[CR][LF] -[CR][LF] -This IS the real page![LF] == Contents of files in the log/12/ directory after test 2077 === Start of file check-expected HTTP/1.1 200 OK swsclose[CR][LF] Content-Length: 23[CR][LF] [CR][LF] This IS the real page![LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2077 ../src/curl -q --output log/12/curl2077.out --include --trace-ascii log/12/trace2077 --trace-time http://127.0.0.1:40921/2077 --fail --negotiate > log/12/stdout2077 2> log/12/stderr2077 === End of file commands.log === Start of file http_server.log 19:29:07.087978 ====> Client connect 19:29:07.088017 accept_connection 3 returned 4 19:29:07.088192 Read 93 bytes 19:29:07.088209 Process 93 bytes request 19:29:07.088223 Got request: GET /verifiedserver HTTP/1.1 19:29:07.088232 Are-we-friendly question received 19:29:07.088266 Wrote request (93 bytes) input to log/12/server.input 19:29:07.088285 Identifying ourselves as friends 19:29:07.088356 Response sent (56 bytes) and written to log/12/server.response 19:29:07.088369 special request received, no persistency 19:29:07.088378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 53070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 2077 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind2077 ==180857== ==180857== Process terminating with default action of signal 4 (SIGILL) ==180857== Illegal opcode at address 0x492B75F ==180857== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==180857== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==180857== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==180857== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==180857== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==180857== by 0x49908EB: curl_version_info (version.c:600) ==180857== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==180857== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==180857== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==180857== by 0x4003269: main (tool_main.c:195) === End of file valgrind2077 test 2106 [HTTP chunked response with a NUL byte in the trailer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2106 ../src/curl -q --output log/8/curl2106.out --include --trace-ascii log/8/trace2106 --trace-time http://127.0.0.1:44467/2106 > log/8/stdout2106 2> log/8/stderr2106 2106: protocol FAILED! There was no content at all in the file log/8/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/8/ directory after test 2106 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2106 ../src/curl -q --output log/8/curl2106.out --include --trace-ascii log/8/trace2106 --trace-time http://127.0.0.1:44467/2106 > log/8/stdout2106 2> log/8/stderr2106 === End of file commands.log === Start of file http_server.log 19:29:08.136996 ====> Client connect 19:29:08.137032 accept_connection 3 returned 4 19:29:08.137055 Read 93 bytes 19:29:08.137066 Process 93 bytes request 19:29:08.137078 Got request: GET /verifiedserver HTTP/1.1 19:29:08.137087 Are-we-friendly question received 19:29:08.137117 Wrote request (93 bytes) input to log/8/server.input 19:29:08.137136 Identifying ourselves as friends 19:29:08.137212 Response sent (56 bytes) and written to log/8/server.response 19:29:08.137565 special request received, no persistency 19:29:08.137582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 32942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 2106 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind2106 ==181668== ==181668== Process terminating with default action of signal 4 (SIGILL) ==181668== Illegal opcode at address 0x492B75F ==181668== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181668== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181668== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181668== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181668== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181668== by 0x49908EB: curl_version_info (version.c:600) ==181668== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181668== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181668== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181668== by 0x4003269: main (tool_main.c:195) === End of file valgrind2106 test 2091 [HTTP Digest auth with OWS and escaped quotes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:41689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:41689/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 2091: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 2091 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2091 ../src/curl -q --output log/20/curl2091.out --include --trace-ascii log/20/trace2091 --trace-time http://127.0.0.1:41689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:41689/20910003 -u testuser:testpass --digest > log/20/stdout2091 2> log/20/stderr2091 === End of file commands.log === Start of file http_server.log 19:29:07.712093 ====> Client connect 19:29:07.712122 accept_connection 3 returned 4 19:29:07.712141 Read 93 bytes 19:29:07.712150 Process 93 bytes reqCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2092 ../src/curl -q --output log/6/curl2092.out --include --trace-ascii log/6/trace2092 --trace-time "127.0.0.1:33935/[0-1][9223372036854775806-9223372036854775807]/2092" > log/6/stdout2092 2> log/6/stderr2092 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2107 ../src/curl -q --output log/5/curl2107.out --include --trace-ascii log/5/trace2107 --trace-time http://127.0.0.1:37089/2107 -p -x http://127.0.0.1:35873 > log/5/stdout2107 2> log/5/stderr2107 uest 19:29:07.712161 Got request: GET /verifiedserver HTTP/1.1 19:29:07.712169 Are-we-friendly question received 19:29:07.712197 Wrote request (93 bytes) input to log/20/server.input 19:29:07.712211 Identifying ourselves as friends 19:29:07.712262 Response sent (57 bytes) and written to log/20/server.response 19:29:07.712270 special request received, no persistency 19:29:07.712277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 46936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 2091 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind2091 ==181307== ==181307== Process terminating with default action of signal 4 (SIGILL) ==181307== Illegal opcode at address 0x492B75F ==181307== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181307== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181307== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181307== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181307== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181307== by 0x49908EB: curl_version_info (version.c:600) ==181307== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181307== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181307== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181307== by 0x4003269: main (tool_main.c:195) === End of file valgrind2091 test 2092 [glob range that ends with 9223372036854775807] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2092 ../src/curl -q --output log/6/curl2092.out --include --trace-ascii log/6/trace2092 --trace-time "127.0.0.1:33935/[0-1][9223372036854775806-9223372036854775807]/2092" > log/6/stdout2092 2> log/6/stderr2092 curl returned 132, when expecting 3 2092: exit FAILED == Contents of files in the log/6/ directory after test 2092 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2092 ../src/curl -q --output log/6/curl2092.out --include --trace-ascii log/6/trace2092 --trace-time "127.0.0.1:33935/[0-1][9223372036854775806-9223372036854775807]/2092" > log/6/stdout2092 2> log/6/stderr2092 === End of file commands.log === Start of file http_server.log 19:29:07.857633 ====> Client connect 19:29:07.857669 accept_connection 3 returned 4 19:29:07.857691 Read 93 bytes 19:29:07.857701 Process 93 bytes request 19:29:07.857714 Got request: GET /verifiedserver HTTP/1.1 19:29:07.857722 Are-we-friendly question received 19:29:07.857750 Wrote request (93 bytes) input to log/6/server.input 19:29:07.857767 Identifying ourselves as friends 19:29:07.857837 Response sent (56 bytes) and written to log/6/server.response 19:29:07.857848 special request received, no persistency 19:29:07.857856 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 39508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 2092 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind2092 ==181466== ==181466== Process terminating with default action of signal 4 (SIGILL) ==181466== Illegal opcode at address 0x492B75F ==181466== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181466== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181466== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181466== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181466== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181466== by 0x49908EB: curl_version_info (version.c:600) ==181466== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181466== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181466== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181466== by 0x4003269: main (tool_main.c:195) === End of file valgrind2092 test 2107 [HTTP CONNECT response with a NUL byte in a header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2107 ../src/curl -q --output log/5/curl2107.out --include --trace-ascii log/5/trace2107 --trace-time http://127.0.0.1:37089/2107 -p -x http://127.0.0.1:35873 > log/5/stdout2107 2> log/5/stderr2107 curl returned 132, when expecting 8 2107: exit FAILED == Contents of files in the log/5/ directory after test 2107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2107 ../src/curl -q --output log/5/curl2107.out --include --trace-ascii log/5/trace2107 --trace-time http://127.0.0.1:37089/2107 -p -x http://127.0.0.1:35873 > log/5/stdout2107 2> log/5/stderr2107 === End of file commands.log === Start of file http2_server.log 19:29:08.327781 ====> Client connect 19:29:08.327820 accept_connection 3 returned 4 19:29:08.327848 Read 93 bytes 19:29:08.327859 Process 93 bytes request 19:29:08.327883 Got request: GET /verifiedserver HTTP/1.1 19:29:08.327892 Are-we-friendly question received 19:29:08.327920 Wrote request (93 bytes) input to log/5/proxy.input 19:29:08.327939 Identifying ourselves as friends 19:29:08.328011 Response sent (57 bytes) and written to log/5/proxy.response 19:29:08.328020 special request received, no persistency 19:29:08.328029 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35873... * Established connection to 127.0.0.1 (127.0.0.1 port 35873) from 127.0.0.1 port 46484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35873 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:35873 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 179223 === End of file http2_verify.out === Start of file http_server.log 19:29:08.251312 ====> Client connect 19:29:08.251366 accept_connection 3 returned 4 19:29:08.251385 Read 93 bytes 19:29:08.251393 Process 93 bytes request 19:29:08.251404 Got request: GET /verifiedserver HTTP/1.1 19:29:08.251411 Are-we-friendly question received 19:29:08.251431 Wrote request (93 bytes) input to log/5/server.input 19:29:08.251444 Identifying ourselves as friends 19:29:08.251501 Response sent (56 bytes) and written to log/5/server.response 19:29:08.251508 special request received, no persistency 19:29:08.251515 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 48770 * using HTCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2105 ../src/curl -q --output log/24/curl2105.out --include --trace-ascii log/24/trace2105 --trace-time http://127.0.0.1:38895/2105 > log/24/stdout2105 2> log/24/stderr2105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2110 ../src/curl -q --output log/16/curl2110.out --include --trace-ascii log/16/trace2110 --trace-time smtp://127.0.0.1:33205/2110 --mail-rcpt recipient@example.com -K log/16/test2110.config -T log/16/test2110.eml > log/16/stdout2110 2> log/16/stderr2110 TP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 179223 === End of file proxy.response === Start of file server.cmd Testnum 2107 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind2107 ==181768== ==181768== Process terminating with default action of signal 4 (SIGILL) ==181768== Illegal opcode at address 0x492B75F ==181768== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181768== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181768== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181768== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181768== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181768== by 0x49908EB: curl_version_info (version.c:600) ==181768== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181768== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181768== by 0x4003269: main (tool_main.c:195) === End of file valgrind2107 test 2105 [HTTP with spurious CR in received header] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2105 ../src/curl -q --output log/24/curl2105.out --include --trace-ascii log/24/trace2105 --trace-time http://127.0.0.1:38895/2105 > log/24/stdout2105 2> log/24/stderr2105 2105: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2105 ../src/curl -q --output log/24/curl2105.out --include --trace-ascii log/24/trace2105 --trace-time http://127.0.0.1:38895/2105 > log/24/stdout2105 2> log/24/stderr2105 === End of file commands.log === Start of file http_server.log 19:29:07.931675 ====> Client connect 19:29:07.931714 accept_connection 3 returned 4 19:29:07.931738 Read 93 bytes 19:29:07.931748 Process 93 bytes request 19:29:07.931761 Got request: GET /verifiedserver HTTP/1.1 19:29:07.931770 Are-we-friendly question received 19:29:07.931796 Wrote request (93 bytes) input to log/24/server.input 19:29:07.931811 Identifying ourselves as friends 19:29:07.931881 Response sent (56 bytes) and written to log/24/server.response 19:29:07.931891 special request received, no persistency 19:29:07.931899 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 55750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 2105 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind2105 ==181521== ==181521== Process terminating with default action of signal 4 (SIGILL) ==181521== Illegal opcode at address 0x492B75F ==181521== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181521== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181521== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181521== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181521== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181521== by 0x49908EB: curl_version_info (version.c:600) ==181521== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181521== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181521== by 0x4003269: main (tool_main.c:195) === End of file valgrind2105 test 2110 [SMTP --mail-from with embedded CRLF is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2110 ../src/curl -q --output log/16/curl2110.out --include --trace-ascii log/16/trace2110 --trace-time smtp://127.0.0.1:33205/2110 --mail-rcpt recipient@example.com -K log/16/test2110.config -T log/16/test2110.eml > log/16/stdout2110 2> log/16/stderr2110 2110: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 2110 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2110 ../src/curl -q --output log/16/curl2110.out --include --trace-ascii log/16/trace2110 --trace-time smtp://127.0.0.1:33205/2110 --mail-rcpt recipient@example.com -K log/16/test2110.config -T log/16/test2110.eml > log/16/stdout2110 2> log/16/stderr2110 === End of file commands.log === Start of file server.cmd Testnum 2110 === End of file server.cmd === Start of file smtp_server.log 19:29:08.899105 ====> Client connect 19:29:08.899269 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:08.900557 < "EHLO verifiedserver" 19:29:08.900610 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:08.900835 < "HELP" 19:29:08.900879 > "214 WE ROOLZ: 127808[CR][LF]" 19:29:08.900898 return proof we are we 19:29:08.901162 < "QUIT" 19:29:08.901197 > "221 curl ESMTP server signing off[CR][LF]" 19:29:08.902450 MAIN sockfilt said DISC 19:29:08.902485 ====> Client disconnected 19:29:08.902559 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:09.501248 ====> Client connect 19:29:09.501543 Received DATA (on stdin) 19:29:09.501559 > 146 bytes data, server => client 19:29:09.501571 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:09.501581 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:09.501591 '220 \___|\___/|_| \_\_____|\r\n' 19:29:09.502640 < 21 bytes data, client => server 19:29:09.502659 'EHLO verifiedserver\r\n' 19:29:09.502877 Received DATA (on stdin) 19:29:09.502890 > 53 bytes data, server => client 19:29:09.502901 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:09.502972 < 6 bytes data, client => server 19:29:09.502988 'HELP\r\n' 19:29:09.503160 Received DATA (on stdin) 19:29:09.503173 > 22 bytes data, server => client 19:29:09.503183 '214 WE ROOLZ: 127808\r\n' 19:29:09.503313 < 6 bytes data, client => server 19:29:09.503328 'QUIT\r\n' 19:29:09.503462 Received DATA (on stdin) 19:29:09.503475 > 35 bytes data, server => client 19:29:09.503486 '221 curl ESMTP server signing off\r\n' 19:29:09.504655 ====> Client disconnect 19:29:09.504822 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file test2110.config mail-from = "sender@example.com\r\nDATA" === End of file test2110.config === Start of file test2110.eml From: different To: another body === End of file test2110.eml === Start of file valgrind2110 ==181889== ==CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2113 ../src/curl -q --output log/9/curl2113.out --include --trace-ascii log/9/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:43733 -H "Authorization : s3cr3t" --proxy-user testing:this --location > log/9/stdout2113 2> log/9/stderr2113 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2108 ../src/curl -q --output log/7/curl2108.out --include --trace-ascii log/7/trace2108 --trace-time ftp://127.0.0.1:44283/2108 > log/7/stdout2108 2> log/7/stderr2108 181889== Process terminating with default action of signal 4 (SIGILL) ==181889== Illegal opcode at address 0x492B75F ==181889== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181889== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181889== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181889== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181889== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181889== by 0x49908EB: curl_version_info (version.c:600) ==181889== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181889== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181889== by 0x4003269: main (tool_main.c:195) === End of file valgrind2110 test 2113 [Authorization: with whitespace before colon and redir to new host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2113 ../src/curl -q --output log/9/curl2113.out --include --trace-ascii log/9/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:43733 -H "Authorization : s3cr3t" --proxy-user testing:this --location > log/9/stdout2113 2> log/9/stderr2113 2113: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2113 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2113 ../src/curl -q --output log/9/curl2113.out --include --trace-ascii log/9/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:43733 -H "Authorization : s3cr3t" --proxy-user testing:this --location > log/9/stdout2113 2> log/9/stderr2113 === End of file commands.log === Start of file http_server.log 19:29:08.567656 ====> Client connect 19:29:08.567701 accept_connection 3 returned 4 19:29:08.567727 Read 93 bytes 19:29:08.567736 Process 93 bytes request 19:29:08.567750 Got request: GET /verifiedserver HTTP/1.1 19:29:08.567758 Are-we-friendly question received 19:29:08.567785 Wrote request (93 bytes) input to log/9/server.input 19:29:08.567801 Identifying ourselves as friends 19:29:08.567883 Response sent (56 bytes) and written to log/9/server.response 19:29:08.567892 special request received, no persistency 19:29:08.567900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35646 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 2113 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind2113 ==181957== ==181957== Process terminating with default action of signal 4 (SIGILL) ==181957== Illegal opcode at address 0x492B75F ==181957== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181957== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181957== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181957== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181957== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181957== by 0x49908EB: curl_version_info (version.c:600) ==181957== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181957== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181957== by 0x4003269: main (tool_main.c:195) === End of file valgrind2113 test 2108 [FTP rejects a NUL byte in a server response line] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2108 ../src/curl -q --output log/7/curl2108.out --include --trace-ascii log/7/trace2108 --trace-time ftp://127.0.0.1:44283/2108 > log/7/stdout2108 2> log/7/stderr2108 2108: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 2108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2108 ../src/curl -q --output log/7/curl2108.out --include --trace-ascii log/7/trace2108 --trace-time ftp://127.0.0.1:44283/2108 > log/7/stdout2108 2> log/7/stderr2108 === End of file commands.log === Start of file ftp_server.log 19:29:08.695446 ====> Client connect 19:29:08.695862 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:08.696005 < "USER anonymous" 19:29:08.696172 > "331 We are happy you popped in![CR][LF]" 19:29:08.696246 < "PASS ftp@example.com" 19:29:08.698676 > "230 Welcome you silly person[CR][LF]" 19:29:08.702169 < "PWD" 19:29:08.702212 > "257 "/" is current directory[CR][LF]" 19:29:08.705565 < "EPSV" 19:29:08.705599 ====> Passive DATA channel requested by client 19:29:08.705613 DATA sockfilt for passive data channel starting... 19:29:08.710055 DATA sockfilt for passive data channel started (pid 181753) 19:29:08.718775 DATA sockfilt for passive data channel listens on port 34257 19:29:08.718855 > "229 Entering Passive Mode (|||34257|)[CR][LF]" 19:29:08.718874 Client has been notified that upcoming DATA connection is awaited on port 34257 19:29:08.719165 Client connects to port 34257 19:29:08.719194 ====> Client established passive DATA connection on port 34257 19:29:08.719320 < "TYPE I" 19:29:08.719356 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:08.719510 < "SIZE verifiedserver" 19:29:08.719549 > "213 17[CR][LF]" 19:29:08.719698 < "RETR verifiedserver" 19:29:08.719733 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:08.719820 =====> Closing passive DATA connection... 19:29:08.719837 Server disconnects passive DATA connection 19:29:08.719945 Server disconnected passive DATA connection 19:29:08.719967 DATA sockfilt for passive data channel quits (pid 181753) 19:29:08.720245 DATA sockfilt for passive data channel quit (pid 181753) 19:29:08.720270 =====> Closed passive DATA connection 19:29:08.720295 > "226 File transfer complete[CR][LF]" 19:29:08.772204 < "QUIT" 19:29:08.772260 > "221 bye bye baby[CR][LF]" 19:29:08.775380 MAIN sockfilt said DISC 19:29:08.775432 ====> Client disconnected 19:29:08.775522 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:09.297576 ====> Client connect 19:29:09.297901 Received DATA (on stdin) 19:29:09.297921 > 146 bytes data, server => client 19:29:09.297941 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:09.297951 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:09.297960 '220 \___|\___/|_| \_\_____|\r\n' 19:29:09.298055 < 16 bytes data, client => server 19:29:09.298069 'USER anonymous\r\n' 19:29:09.298282 Received DATA (on stdin) 19:29:09.298295 > 33 bytes data, server => client 19:29:09.298314 '331 We are happy you popped in!\r\n' 19:29:09.298371 < 22 bytes data, client => server 19:29:09.298386 'PASS ftp@example.com\r\n' 19:29:09.298514 Received DATA (on stdin) 19:29:09.298527 > 30 bytes data, server => client 19:29:09.304232 '230 Welcome you silly person\r\n' 19:29:09.304315 < 5 bytes CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2114 ../src/curl -q --output log/22/curl2114.out --include --trace-ascii log/22/trace2114 --trace-time ftp://127.0.0.1:33255/2114 -K log/22/test2114.config > log/22/stdout2114 2> log/22/stderr2114 data, client => server 19:29:09.304328 'PWD\r\n' 19:29:09.304471 Received DATA (on stdin) 19:29:09.304482 > 30 bytes data, server => client 19:29:09.304492 '257 "/" is current directory\r\n' 19:29:09.304559 < 6 bytes data, client => server 19:29:09.304572 'EPSV\r\n' 19:29:09.321142 Received DATA (on stdin) 19:29:09.321157 > 39 bytes data, server => client 19:29:09.321167 '229 Entering Passive Mode (|||34257|)\r\n' 19:29:09.321471 < 8 bytes data, client => server 19:29:09.321481 'TYPE I\r\n' 19:29:09.321614 Received DATA (on stdin) 19:29:09.321624 > 33 bytes data, server => client 19:29:09.321633 '200 I modify TYPE as you wanted\r\n' 19:29:09.321686 < 21 bytes data, client => server 19:29:09.321696 'SIZE verifiedserver\r\n' 19:29:09.321806 Received DATA (on stdin) 19:29:09.321816 > 8 bytes data, server => client 19:29:09.321825 '213 17\r\n' 19:29:09.321875 < 21 bytes data, client => server 19:29:09.321885 'RETR verifiedserver\r\n' 19:29:09.322554 Received DATA (on stdin) 19:29:09.322564 > 29 bytes data, server => client 19:29:09.322573 '150 Binary junk (17 bytes).\r\n' 19:29:09.322596 Received DATA (on stdin) 19:29:09.322605 > 28 bytes data, server => client 19:29:09.322615 '226 File transfer complete\r\n' 19:29:09.374259 < 6 bytes data, client => server 19:29:09.374300 'QUIT\r\n' 19:29:09.374521 Received DATA (on stdin) 19:29:09.374532 > 18 bytes data, server => client 19:29:09.374542 '221 bye bye baby\r\n' 19:29:09.377567 ====> Client disconnect 19:29:09.377786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:08.311982 Running IPv4 version 19:29:08.312176 Listening on port 34257 19:29:08.312220 Wrote pid 181753 to log/7/server/ftp_sockdata.pid 19:29:08.312240 Received PING (on stdin) 19:29:08.317574 Received PORT (on stdin) 19:29:08.321370 ====> Client connect 19:29:08.322097 Received DATA (on stdin) 19:29:08.322108 > 17 bytes data, server => client 19:29:08.322117 'WE ROOLZ: 84721\r\n' 19:29:08.322144 Received DISC (on stdin) 19:29:08.322155 ====> Client forcibly disconnected 19:29:08.322229 Received QUIT (on stdin) 19:29:08.322238 quits 19:29:08.322328 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 230 logged\x00 in Testnum 2108 === End of file server.cmd === Start of file valgrind2108 ==181791== ==181791== Process terminating with default action of signal 4 (SIGILL) ==181791== Illegal opcode at address 0x492B75F ==181791== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==181791== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==181791== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==181791== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==181791== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==181791== by 0x49908EB: curl_version_info (version.c:600) ==181791== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==181791== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==181791== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==181791== by 0x4003269: main (tool_main.c:195) === End of file valgrind2108 test 2114 [FTP username with embedded CRLF is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2114 ../src/curl -q --output log/22/curl2114.out --include --trace-ascii log/22/trace2114 --trace-time ftp://127.0.0.1:33255/2114 -K log/22/test2114.config > log/22/stdout2114 2> log/22/stderr2114 curl returned 132, when expecting 43 2114: exit FAILED == Contents of files in the log/22/ directory after test 2114 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2114 ../src/curl -q --output log/22/curl2114.out --include --trace-ascii log/22/trace2114 --trace-time ftp://127.0.0.1:33255/2114 -K log/22/test2114.config > log/22/stdout2114 2> log/22/stderr2114 === End of file commands.log === Start of file ftp_server.log 19:29:09.015485 ====> Client connect 19:29:09.015686 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:09.015977 < "USER anonymous" 19:29:09.016013 > "331 We are happy you popped in![CR][LF]" 19:29:09.016180 < "PASS ftp@example.com" 19:29:09.016206 > "230 Welcome you silly person[CR][LF]" 19:29:09.016354 < "PWD" 19:29:09.016388 > "257 "/" is current directory[CR][LF]" 19:29:09.016539 < "EPSV" 19:29:09.016562 ====> Passive DATA channel requested by client 19:29:09.016576 DATA sockfilt for passive data channel starting... 19:29:09.025347 DATA sockfilt for passive data channel started (pid 181949) 19:29:09.025512 DATA sockfilt for passive data channel listens on port 37041 19:29:09.025572 > "229 Entering Passive Mode (|||37041|)[CR][LF]" 19:29:09.025598 Client has been notified that upcoming DATA connection is awaited on port 37041 19:29:09.027072 Client connects to port 37041 19:29:09.027114 ====> Client established passive DATA connection on port 37041 19:29:09.027218 < "TYPE I" 19:29:09.027256 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:09.027461 < "SIZE verifiedserver" 19:29:09.027508 > "213 17[CR][LF]" 19:29:09.027704 < "RETR verifiedserver" 19:29:09.027760 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:09.027895 =====> Closing passive DATA connection... 19:29:09.027921 Server disconnects passive DATA connection 19:29:09.028178 Server disconnected passive DATA connection 19:29:09.028204 DATA sockfilt for passive data channel quits (pid 181949) 19:29:09.028632 DATA sockfilt for passive data channel quit (pid 181949) 19:29:09.028672 =====> Closed passive DATA connection 19:29:09.028714 > "226 File transfer complete[CR][LF]" 19:29:09.082144 < "QUIT" 19:29:09.082205 > "221 bye bye baby[CR][LF]" 19:29:09.083564 MAIN sockfilt said DISC 19:29:09.083607 ====> Client disconnected 19:29:09.083697 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:09.617579 ====> Client connect 19:29:09.617959 Received DATA (on stdin) 19:29:09.617974 > 146 bytes data, server => client 19:29:09.617986 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:09.617995 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:09.618004 '220 \___|\___/|_| \_\_____|\r\n' 19:29:09.618088 < 16 bytes data, client => server 19:29:09.618099 'USER anonymous\r\n' 19:29:09.618273 Received DATA (on stdin) 19:29:09.618284 > 33 bytes data, server => client 19:29:09.618293 '331 We are happy you popped in!\r\n' 19:29:09.618346 < 22 bytes data, client => server 19:29:09.618357 'PASS ftp@example.com\r\n' 19:29:09.618464 Received DATA (on stdin) 19:29:09.618474 > 30 bytes data, server => client 19:29:09.618484 '230 Welcome you silly person\r\n' 19:29:09.618532 < 5 bytes data, client => server 19:29:09.618542 'PWD\r\n' 19:29:09.618645 Received DATA (on stdin) 19:29:09.618655 > 30 bytes data, server => client 19:29:09.618665 '257 "/" is current directory\r\n' 19:29:09.618720 < 6 bytes data, client => server 19:29:09.618729 'EPSV\r\n' 19:29:09.627872 Received DATA (on stdin) 19:29:09.627891 > 39 bytes data, server => client 19:29:09.627902 '229 Entering Passive Mode (|||37041|)\r\n' 19:29:09.628580 < 8 bytes data, client => server 19:29:09.628599 'TYPE I\r\n' 19:29:09.629520 Received DATA (on stdin) 19:29:09.629536 > 33 bytes data, server => client 19:29:09.629546 '200 I modify TYPE as you wanted\r\n' 19:29:09.629614 < 21 bytes data, client => server 19:29:09.629629 'SIZE verifiedserver\r\n' 19:29:09.629774 Received DATA (on stdin) 19:29:09.629787 > 8 bytes data, server => client 19:29:09.629797 '213 17\r\n' 19:29:09.629860 < 21 bytes data, client => server 19:29:09.629875 'RETR verifiedserver\r\n' 19:29:09.630188 Received DATA (on stdin) 19:29:09.630202 > 29 bytes data, server => client CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2115 ../src/curl -q --output log/23/curl2115.out --include --trace-ascii log/23/trace2115 --trace-time ftp://127.0.0.1:35523/2115 -K log/23/test2115.config > log/23/stdout2115 2> log/23/stderr2115 19:29:09.630213 '150 Binary junk (17 bytes).\r\n' 19:29:09.630986 Received DATA (on stdin) 19:29:09.631000 > 28 bytes data, server => client 19:29:09.631010 '226 File transfer complete\r\n' 19:29:09.677592 < 6 bytes data, client => server 19:29:09.677628 'QUIT\r\n' 19:29:09.684477 Received DATA (on stdin) 19:29:09.684498 > 18 bytes data, server => client 19:29:09.684509 '221 bye bye baby\r\n' 19:29:09.685760 ====> Client disconnect 19:29:09.685957 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:09.620404 Running IPv4 version 19:29:09.620473 Listening on port 37041 19:29:09.620518 Wrote pid 181949 to log/22/server/ftp_sockdata.pid 19:29:09.625363 Received PING (on stdin) 19:29:09.627665 Received PORT (on stdin) 19:29:09.629272 ====> Client connect 19:29:09.630296 Received DATA (on stdin) 19:29:09.630315 > 17 bytes data, server => client 19:29:09.630326 'WE ROOLZ: 84714\r\n' 19:29:09.630361 Received DISC (on stdin) 19:29:09.630376 ====> Client forcibly disconnected 19:29:09.630557 Received QUIT (on stdin) 19:29:09.630574 quits 19:29:09.630663 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2114 === End of file server.cmd === Start of file test2114.config user = "anonymous\r\nSTOR: /2114" === End of file test2114.config === Start of file valgrind2114 ==182037== ==182037== Process terminating with default action of signal 4 (SIGILL) ==182037== Illegal opcode at address 0x492B75F ==182037== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182037== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182037== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182037== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182037== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182037== by 0x49908EB: curl_version_info (version.c:600) ==182037== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182037== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182037== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182037== by 0x4003269: main (tool_main.c:195) === End of file valgrind2114 test 2115 [FTP --ftp-account with embedded CRLF is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2115 ../src/curl -q --output log/23/curl2115.out --include --trace-ascii log/23/trace2115 --trace-time ftp://127.0.0.1:35523/2115 -K log/23/test2115.config > log/23/stdout2115 2> log/23/stderr2115 2115: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 2115 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2115 ../src/curl -q --output log/23/curl2115.out --include --trace-ascii log/23/trace2115 --trace-time ftp://127.0.0.1:35523/2115 -K log/23/test2115.config > log/23/stdout2115 2> log/23/stderr2115 === End of file commands.log === Start of file ftp_server.log 19:29:09.162999 ====> Client connect 19:29:09.163207 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:09.163471 < "USER anonymous" 19:29:09.163503 > "331 We are happy you popped in![CR][LF]" 19:29:09.163660 < "PASS ftp@example.com" 19:29:09.163684 > "230 Welcome you silly person[CR][LF]" 19:29:09.163826 < "PWD" 19:29:09.163854 > "257 "/" is current directory[CR][LF]" 19:29:09.164003 < "EPSV" 19:29:09.164027 ====> Passive DATA channel requested by client 19:29:09.164041 DATA sockfilt for passive data channel starting... 19:29:09.166453 DATA sockfilt for passive data channel started (pid 182102) 19:29:09.166553 DATA sockfilt for passive data channel listens on port 40495 19:29:09.166590 > "229 Entering Passive Mode (|||40495|)[CR][LF]" 19:29:09.166606 Client has been notified that upcoming DATA connection is awaited on port 40495 19:29:09.166865 Client connects to port 40495 19:29:09.166895 ====> Client established passive DATA connection on port 40495 19:29:09.168771 < "TYPE I" 19:29:09.168806 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:09.174592 < "SIZE verifiedserver" 19:29:09.174667 > "213 17[CR][LF]" 19:29:09.189311 < "RETR verifiedserver" 19:29:09.189424 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:09.189548 =====> Closing passive DATA connection... 19:29:09.189567 Server disconnects passive DATA connection 19:29:09.193963 Server disconnected passive DATA connection 19:29:09.194021 DATA sockfilt for passive data channel quits (pid 182102) 19:29:09.199005 DATA sockfilt for passive data channel quit (pid 182102) 19:29:09.199058 =====> Closed passive DATA connection 19:29:09.199100 > "226 File transfer complete[CR][LF]" 19:29:09.235525 < "QUIT" 19:29:09.235580 > "221 bye bye baby[CR][LF]" 19:29:09.236833 MAIN sockfilt said DISC 19:29:09.236925 ====> Client disconnected 19:29:09.237098 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:09.765129 ====> Client connect 19:29:09.765480 Received DATA (on stdin) 19:29:09.765494 > 146 bytes data, server => client 19:29:09.765505 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:09.765515 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:09.765524 '220 \___|\___/|_| \_\_____|\r\n' 19:29:09.765595 < 16 bytes data, client => server 19:29:09.765606 'USER anonymous\r\n' 19:29:09.765765 Received DATA (on stdin) 19:29:09.765776 > 33 bytes data, server => client 19:29:09.765786 '331 We are happy you popped in!\r\n' 19:29:09.765836 < 22 bytes data, client => server 19:29:09.765847 'PASS ftp@example.com\r\n' 19:29:09.765942 Received DATA (on stdin) 19:29:09.765952 > 30 bytes data, server => client 19:29:09.765962 '230 Welcome you silly person\r\n' 19:29:09.766008 < 5 bytes data, client => server 19:29:09.766018 'PWD\r\n' 19:29:09.766112 Received DATA (on stdin) 19:29:09.766121 > 30 bytes data, server => client 19:29:09.766131 '257 "/" is current directory\r\n' 19:29:09.766187 < 6 bytes data, client => server 19:29:09.766196 'EPSV\r\n' 19:29:09.768871 Received DATA (on stdin) 19:29:09.768882 > 39 bytes data, server => client 19:29:09.768892 '229 Entering Passive Mode (|||40495|)\r\n' 19:29:09.770908 < 8 bytes data, client => server 19:29:09.770928 'TYPE I\r\n' 19:29:09.771070 Received DATA (on stdin) 19:29:09.771081 > 33 bytes data, server => client 19:29:09.771091 '200 I modify TYPE as you wanted\r\n' 19:29:09.776650 < 21 bytes data, client => server 19:29:09.776682 'SIZE verifiedserver\r\n' 19:29:09.776937 Received DATA (on stdin) 19:29:09.776951 > 8 bytes data, server => client 19:29:09.776962 '213 17\r\n' 19:29:09.787601 < 21 bytes data, client => server 19:29:09.787640 'RETR verifiedserver\r\n' 19:29:09.791836 Received DATA (on stdin) 19:29:09.791855 > 29 bytes data, server => client 19:29:09.791865 '150 Binary junk (17 bytes).\r\n' 19:29:09.801374 Received DATA (on stdin) 19:29:09.801392 > 28 bytes data, server => client 19:29:09.801402 '226 File transfer complete\r\n' 19:29:09.837588 < 6 bytes data, client => server 19:29:09.837624 'QUIT\r\n' 19:29:09.837846 Received DATA (on stdin) 19:29:09.837858 > 18 bytes data, server => client 19:29:09.837868 '221 bye bye baby\r\n' 19:29:09.839037 ====> Client disconnect 19:29:09.839114 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:09.767840 Running IPv4 version 19:29:09.768005 Listening on port 40495 19:29:09.768045 Wrote pid 182102 to log/23/server/ftp_sockdata.pid 19:29:09.768656 Received PING (on stdin) 19:29:09.768733 Received PORT (on stdin) 19:29:09.769066 ====> Client connect 19:29:09.795090 Received DATA (on stdin) 19:29:09.795116 > 17 bytes data, CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2109 ../src/curl -q --output log/18/curl2109.out --include --trace log/18/trace2109 --trace-time mqtt://127.0.0.1:39995/aa%00bb > log/18/stdout2109 2> log/18/stderr2109 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39371/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2116 ../src/curl -q --output log/10/curl2116.out --include --trace-ascii log/10/trace2116 --trace-time ftp://127.0.0.1:44817/2116/ -K log/10/test2116.config > log/10/stdout2116 2> log/10/stderr2116 server => client 19:29:09.795126 'WE ROOLZ: 84709\r\n' 19:29:09.795188 Received DISC (on stdin) 19:29:09.795205 ====> Client forcibly disconnected 19:29:09.800908 Received QUIT (on stdin) 19:29:09.800940 quits 19:29:09.801031 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PASS 332 please provide account name Testnum 2115 === End of file server.cmd === Start of file test2115.config ftp-account = "one\r\nDELE 2115" === End of file test2115.config === Start of file valgrind2115 ==182141== ==182141== Process terminating with default action of signal 4 (SIGILL) ==182141== Illegal opcode at address 0x492B75F ==182141== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182141== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182141== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182141== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182141== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182141== by 0x49908EB: curl_version_info (version.c:600) ==182141== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182141== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182141== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182141== by 0x4003269: main (tool_main.c:195) === End of file valgrind2115 startnew: ./server/servers mqttd --port 0 --pidfile log/18/server/mqtt_server.pid --portfile log/18/server/mqtt_server.port --config log/18/server.cmd --logfile log/18/mqtt_server.log --logdir log/18 RUN: MQTT server is now running PID 181762 on PORT 39995 * pid mqtt => 181762 181762 test 2109 [MQTT rejects a control byte in the topic] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2109 ../src/curl -q --output log/18/curl2109.out --include --trace log/18/trace2109 --trace-time mqtt://127.0.0.1:39995/aa%00bb > log/18/stdout2109 2> log/18/stderr2109 2109: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 2109 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2109 ../src/curl -q --output log/18/curl2109.out --include --trace log/18/trace2109 --trace-time mqtt://127.0.0.1:39995/aa%00bb > log/18/stdout2109 2> log/18/stderr2109 === End of file commands.log === Start of file mqtt_server.log 19:29:08.347006 Running IPv4 version 19:29:08.347103 Listening on port 39995 19:29:08.347146 Wrote pid 181762 to log/18/server/mqtt_server.pid 19:29:08.347180 Wrote port 39995 to log/18/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 2109 === End of file server.cmd === Start of file valgrind2109 ==182428== ==182428== Process terminating with default action of signal 4 (SIGILL) ==182428== Illegal opcode at address 0x492B75F ==182428== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182428== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182428== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182428== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182428== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182428== by 0x49908EB: curl_version_info (version.c:600) ==182428== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182428== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182428== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182428== by 0x4003269: main (tool_main.c:195) === End of file valgrind2109 test 2201 [MQTT PUBLISH with user and password valid] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39371/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 2201: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 2201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2201 ../src/curl -q --output log/21/curl2201.out --include --trace log/21/trace2201 --trace-time mqtt://127.0.0.1:39371/2201 -d something -u testuser:testpasswd > log/21/stdout2201 2> log/21/stderr2201 === End of file commands.log === Start of file server.cmd Testnum 2201 === End of file server.cmd === Start of file valgrind2201 ==182454== ==182454== Process terminating with default action of signal 4 (SIGILL) ==182454== Illegal opcode at address 0x492B75F ==182454== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182454== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182454== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182454== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182454== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182454== by 0x49908EB: curl_version_info (version.c:600) ==182454== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182454== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182454== by 0x4003269: main (tool_main.c:195) === End of file valgrind2201 test 2116 [FTP --ftp-alternative-to-user with embedded CRLF is rejected] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2116 ../src/curl -q --output log/10/curl2116.out --include --trace-ascii log/10/trace2116 --trace-time ftp://127.0.0.1:44817/2116/ -K log/10/test2116.config > log/10/stdout2116 2> log/10/stderr2116 2116: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2116 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2116 ../src/curl -q --output log/10/curl2116.out --include --trace-ascii log/10/trace2116 --trace-time ftp://127.0.0.1:44817/2116/ -K log/10/test2116.config > log/10/stdout2116 2> log/10/stderr2116 === End of file commands.log === Start of file ftp_server.log 19:29:09.352161 ====> Client connect 19:29:09.352408 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:09.360900 < "USER anonymous" 19:29:09.360965 > "331 We are happy you popped in![CR][LF]" 19:29:09.361247 < "PASS ftp@example.com" 19:29:09.361291 > "230 Welcome you silly person[CR][LF]" 19:29:09.361475 < "PWD" 19:29:09.361513 > "257 "/" is current directory[CR][LF]" 19:29:09.361711 < "EPSV" 19:29:09.361741 ====> Passive DATA channel requested by client 19:29:09.361758 DATA sockfilt for passive data channel starting... 19:29:09.372121 DATA sockfilt for passive data channel started (pid 182194) 19:29:09.372310 DATA sockfilt for passive data channel listens on port 38243 19:29:09.372377 > "229 Entering Passive Mode (|||38243|)[CR][LF]" 19:29:09.372398 Client has been notified that upcoming DATA connection is awaited on port 38243 19:29:09.372721 Client connects to port 38243 19:29:09.372761 ====> Client established passive DATA connection on port 38243 19:29:09.372935 < "TYPE I" 19:29:09.372985 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:09.373184 < "SIZE verifiedserver" 19:29:09.373231 > "213CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2119 ../src/curl -q --output log/11/curl2119.out --include --trace-ascii log/11/trace2119 --trace-time http://127.0.0.1:40989/2119 -sS > log/11/stdout2119 2> log/11/stderr2119 17[CR][LF]" 19:29:09.373409 < "RETR verifiedserver" 19:29:09.373450 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:09.373551 =====> Closing passive DATA connection... 19:29:09.373570 Server disconnects passive DATA connection 19:29:09.373827 Server disconnected passive DATA connection 19:29:09.373860 DATA sockfilt for passive data channel quits (pid 182194) 19:29:09.374226 DATA sockfilt for passive data channel quit (pid 182194) 19:29:09.374252 =====> Closed passive DATA connection 19:29:09.374292 > "226 File transfer complete[CR][LF]" 19:29:09.422304 < "QUIT" 19:29:09.422361 > "221 bye bye baby[CR][LF]" 19:29:09.423645 MAIN sockfilt said DISC 19:29:09.423694 ====> Client disconnected 19:29:09.423787 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:09.954260 ====> Client connect 19:29:09.954694 Received DATA (on stdin) 19:29:09.954714 > 146 bytes data, server => client 19:29:09.954725 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:09.954735 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:09.954745 '220 \___|\___/|_| \_\_____|\r\n' 19:29:09.962913 < 16 bytes data, client => server 19:29:09.962944 'USER anonymous\r\n' 19:29:09.963242 Received DATA (on stdin) 19:29:09.963258 > 33 bytes data, server => client 19:29:09.963269 '331 We are happy you popped in!\r\n' 19:29:09.963381 < 22 bytes data, client => server 19:29:09.963398 'PASS ftp@example.com\r\n' 19:29:09.963560 Received DATA (on stdin) 19:29:09.963572 > 30 bytes data, server => client 19:29:09.963581 '230 Welcome you silly person\r\n' 19:29:09.963644 < 5 bytes data, client => server 19:29:09.963655 'PWD\r\n' 19:29:09.963775 Received DATA (on stdin) 19:29:09.963786 > 30 bytes data, server => client 19:29:09.963796 '257 "/" is current directory\r\n' 19:29:09.963871 < 6 bytes data, client => server 19:29:09.963886 'EPSV\r\n' 19:29:09.974672 Received DATA (on stdin) 19:29:09.974689 > 39 bytes data, server => client 19:29:09.974700 '229 Entering Passive Mode (|||38243|)\r\n' 19:29:09.975049 < 8 bytes data, client => server 19:29:09.975063 'TYPE I\r\n' 19:29:09.975254 Received DATA (on stdin) 19:29:09.975269 > 33 bytes data, server => client 19:29:09.975279 '200 I modify TYPE as you wanted\r\n' 19:29:09.975344 < 21 bytes data, client => server 19:29:09.975357 'SIZE verifiedserver\r\n' 19:29:09.975495 Received DATA (on stdin) 19:29:09.975510 > 8 bytes data, server => client 19:29:09.975519 '213 17\r\n' 19:29:09.975578 < 21 bytes data, client => server 19:29:09.975589 'RETR verifiedserver\r\n' 19:29:09.975928 Received DATA (on stdin) 19:29:09.975940 > 29 bytes data, server => client 19:29:09.975951 '150 Binary junk (17 bytes).\r\n' 19:29:09.976560 Received DATA (on stdin) 19:29:09.976572 > 28 bytes data, server => client 19:29:09.976581 '226 File transfer complete\r\n' 19:29:10.024370 < 6 bytes data, client => server 19:29:10.024401 'QUIT\r\n' 19:29:10.024627 Received DATA (on stdin) 19:29:10.024640 > 18 bytes data, server => client 19:29:10.024649 '221 bye bye baby\r\n' 19:29:10.025846 ====> Client disconnect 19:29:10.026056 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:09.966022 Running IPv4 version 19:29:09.966125 Listening on port 38243 19:29:09.966165 Wrote pid 182194 to log/10/server/ftp_sockdata.pid 19:29:09.974253 Received PING (on stdin) 19:29:09.974455 Received PORT (on stdin) 19:29:09.974922 ====> Client connect 19:29:09.975836 Received DATA (on stdin) 19:29:09.975850 > 17 bytes data, server => client 19:29:09.975860 'WE ROOLZ: 85153\r\n' 19:29:09.975890 Received DISC (on stdin) 19:29:09.975902 ====> Client forcibly disconnected 19:29:09.976137 Received QUIT (on stdin) 19:29:09.976150 quits 19:29:09.976253 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY USER 530 go away Testnum 2116 === End of file server.cmd === Start of file test2116.config ftp-alternative-to-user = "USER me\r\nDELE 2116" === End of file test2116.config === Start of file valgrind2116 ==182227== ==182227== Process terminating with default action of signal 4 (SIGILL) ==182227== Illegal opcode at address 0x492B75F ==182227== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182227== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182227== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182227== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182227== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182227== by 0x49908EB: curl_version_info (version.c:600) ==182227== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182227== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182227== by 0x4003269: main (tool_main.c:195) === End of file valgrind2116 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2270 ./libtest/libtests lib2270 http://127.0.0.1:44467/2270 > log/8/stdout2270 2> log/8/stderr2270 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2202 ../src/curl -q --output log/14/curl2202.out --include --trace log/14/trace2202 --trace-time mqtt://127.0.0.1:45407/2202 -d something -u fakeuser:fakepasswd > log/14/stdout2202 2> log/14/stderr2202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2173 ../src/curl -q --output log/13/curl2173.out --include --trace-ascii log/13/trace2173 --trace-time http://test.2173:38821/we/want/that/page/2173 -p -x 127.0.0.1:38663 --user 'iam:my:;self' --anyauth > log/13/stdout2173 2> log/13/stderr2173 test 2119 [Reject unsolicited Transfer-Encoding token with an identity prefix] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2119 ../src/curl -q --output log/11/curl2119.out --include --trace-ascii log/11/trace2119 --trace-time http://127.0.0.1:40989/2119 -sS > log/11/stdout2119 2> log/11/stderr2119 2119: stderr FAILED: --- log/11/check-expected 2026-10-15 19:29:12.039448933 +0000 +++ log/11/check-generated 2026-10-15 19:29:12.035898995 +0000 @@ -1 +0,0 @@ -curl: (61) Unsolicited Transfer-Encoding (identityx) found[CR][LF] == Contents of files in the log/11/ directory after test 2119 === Start of file check-expected curl: (61) Unsolicited Transfer-Encoding (identityx) found[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind2119 ../src/curl -q --output log/11/curl2119.out --include --trace-ascii log/11/trace2119 --trace-time http://127.0.0.1:40989/2119 -sS > log/11/stdout2119 2> log/11/stderr2119 === End of file commands.log === Start of file http_server.log 19:29:09.103979 ====> Client connect 19:29:09.104013 accept_connection 3 returned 4 19:29:09.104034 Read 93 bytes 19:29:09.104044 Process 93 bytes request 19:29:09.104056 Got request: GET /verifiedserver HTTP/1.1 19:29:09.104064 Are-we-friendly question received 19:29:09.104089 Wrote request (93 bytes) input to log/11/server.input 19:29:09.104104 Identifying ourselves as friends 19:29:09.104166 Response sent (56 bytes) and written to log/11/server.response 19:29:09.104175 special request received, no persistency 19:29:09.104183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 43226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 2119 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind2119 ==182289== ==182289== Process terminating with default action of signal 4 (SIGILL) ==182289== Illegal opcode at address 0x492B75F ==182289== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182289== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182289== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182289== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182289== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182289== by 0x49908EB: curl_version_info (version.c:600) ==182289== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182289== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182289== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182289== by 0x4003269: main (tool_main.c:195) === End of file valgrind2119 test 2270 [reject HTTP form and MIME upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2270 ./libtest/libtests lib2270 http://127.0.0.1:44467/2270 > log/8/stdout2270 2> log/8/stderr2270 libtests returned 132, when expecting 0 2270: exit FAILED == Contents of files in the log/8/ directory after test 2270 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind2270 ./libtest/libtests lib2270 http://127.0.0.1:44467/2270 > log/8/stdout2270 2> log/8/stderr2270 === End of file commands.log === Start of file http_server.log 19:29:10.260995 ====> Client connect 19:29:10.261047 accept_connection 3 returned 4 19:29:10.261072 Read 93 bytes 19:29:10.261081 Process 93 bytes request 19:29:10.261092 Got request: GET /verifiedserver HTTP/1.1 19:29:10.261101 Are-we-friendly question received 19:29:10.261124 Wrote request (93 bytes) input to log/8/server.input 19:29:10.261138 Identifying ourselves as friends 19:29:10.261227 Response sent (56 bytes) and written to log/8/server.response 19:29:10.261235 special request received, no persistency 19:29:10.261243 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 32946 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 2270 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind2270 ==182906== ==182906== Process terminating with default action of signal 4 (SIGILL) ==182906== Illegal opcode at address 0x51CC63F ==182906== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==182906== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==182906== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==182906== by 0x40041AF: main (first.c:264) === End of file valgrind2270 test 2202 [MQTT PUBLISH with invalid user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2202 ../src/curl -q --output log/14/curl2202.out --include --trace log/14/trace2202 --trace-time mqtt://127.0.0.1:45407/2202 -d something -u fakeuser:fakepasswd > log/14/stdout2202 2> log/14/stderr2202 2202: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 2202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind2202 ../src/curl -q --output log/14/curl2202.out --include --trace log/14/trace2202 --trace-time mqtt://127.0.0.1:45407/2202 -d something -u fakeuser:fakepasswd > log/14/stdout2202 2> log/14/stderr2202 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==182462== ==182462== Process terminating with default action of signal 4 (SIGILL) ==182462== Illegal opcode at address 0x492B75F ==182462== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182462== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182462== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182462== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182462== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182462== by 0x49908EB: curl_version_info (version.c:600) ==182462== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182462== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182462== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182462== by 0x4003269: main (tool_main.c:195) === End of file valgrind2202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37089/2306 http://127.0.0.1:37089/23060002 > log/5/stdout2306 2> log/5/stderr2306 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:33583/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 test 2173 [HTTP over proxy-tunnel with site wrong 401 response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2173 ../src/curl -q --output log/13/curl2173.out --include --trace-ascii log/13/trace2173 --trace-time http://test.2173:38821/we/want/that/page/2173 -p -x 127.0.0.1:38663 --user 'iam:my:;self' --anyauth > log/13/stdout2173 2> log/13/stderr2173 2173: data FAILED: --- log/13/check-expected 2026-10-15 19:29:12.373191924 +0000 +++ log/13/check-generated 2026-10-15 19:29:12.369229207 +0000 @@ -1,3 +0,0 @@ -HTTP/1.1 401 Tricking You[CR][LF] -WWW-Authenticate: Basic[CR][LF] -[CR][LF] == Contents of files in the log/13/ directory after test 2173 === Start of file check-expected HTTP/1.1 401 Tricking You[CR][LF] WWW-Authenticate: Basic[CR][LF] [CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2173 ../src/curl -q --output log/13/curl2173.out --include --trace-ascii log/13/trace2173 --trace-time http://test.2173:38821/we/want/that/page/2173 -p -x 127.0.0.1:38663 --user 'iam:my:;self' --anyauth > log/13/stdout2173 2> log/13/stderr2173 === End of file commands.log === Start of file http2_server.log 19:29:09.199904 ====> Client connect 19:29:09.199948 accept_connection 3 returned 4 19:29:09.199973 Read 93 bytes 19:29:09.199984 Process 93 bytes request 19:29:09.199996 Got request: GET /verifiedserver HTTP/1.1 19:29:09.200005 Are-we-friendly question received 19:29:09.200038 Wrote request (93 bytes) input to log/13/proxy.input 19:29:09.200057 Identifying ourselves as friends 19:29:09.200133 Response sent (57 bytes) and written to log/13/proxy.response 19:29:09.200146 special request received, no persistency 19:29:09.200155 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38663... * Established connection to 127.0.0.1 (127.0.0.1 port 38663) from 127.0.0.1 port 50328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38663 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38663 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 146612 === End of file http2_verify.out === Start of file http_server.log 19:29:09.132213 ====> Client connect 19:29:09.132250 accept_connection 3 returned 4 19:29:09.132349 Read 93 bytes 19:29:09.132362 Process 93 bytes request 19:29:09.132374 Got request: GET /verifiedserver HTTP/1.1 19:29:09.132383 Are-we-friendly question received 19:29:09.132414 Wrote request (93 bytes) input to log/13/server.input 19:29:09.132431 Identifying ourselves as friends 19:29:09.132495 Response sent (56 bytes) and written to log/13/server.response 19:29:09.132505 special request received, no persistency 19:29:09.132514 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 54846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 146612 === End of file proxy.response === Start of file server.cmd Testnum 2173 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind2173 ==182355== ==182355== Process terminating with default action of signal 4 (SIGILL) ==182355== Illegal opcode at address 0x492B75F ==182355== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182355== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182355== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182355== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182355== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182355== by 0x49908EB: curl_version_info (version.c:600) ==182355== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182355== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182355== by 0x4003269: main (tool_main.c:195) === End of file valgrind2173 test 2306 [HTTP GET reused handle with first header folded] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37089/2306 http://127.0.0.1:37089/23060002 > log/5/stdout2306 2> log/5/stderr2306 2306: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 2306 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:37089/2306 http://127.0.0.1:37089/23060002 > log/5/stdout2306 2> log/5/stderr2306 === End of file commands.log === Start of file http_server.log 19:29:10.590998 ====> Client connect 19:29:10.591037 accept_connection 3 returned 4 19:29:10.591060 Read 93 bytes 19:29:10.591070 Process 93 bytes request 19:29:10.591082 Got request: GET /verifiedserver HTTP/1.1 19:29:10.591091 Are-we-friendly question received 19:29:10.591119 Wrote request (93 bytes) input to log/5/server.input 19:29:10.591137 Identifying ourselves as friends 19:29:10.591221 Response sent (56 bytes) and written to log/5/server.response 19:29:10.591234 special request received, no persistency 19:29:10.591244 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 48780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 2306 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind2306 ==183177== ==183177== Process terminating with default action of signal 4 (SIGILL) ==183177== Illegal opcode at address 0x51CC63F ==183177== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183177== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183177== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183177== by 0x40041AF: main (first.c:264) === End of file valgrind2306 test 2204 [MQTT SUBSCRIBE with user and password] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:33583/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 2204: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failureCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:35903/2308 > log/16/stdout2308 2> log/16/stderr2308 ? Returned: 132 == Contents of files in the log/15/ directory after test 2204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2204 ../src/curl -q --output log/15/curl2204.out --include --trace log/15/trace2204 --trace-time mqtt://127.0.0.1:33583/2204 -u testuser:testpasswd > log/15/stdout2204 2> log/15/stderr2204 === End of file commands.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==182604== ==182604== Process terminating with default action of signal 4 (SIGILL) ==182604== Illegal opcode at address 0x492B75F ==182604== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182604== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182604== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182604== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182604== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182604== by 0x49908EB: curl_version_info (version.c:600) ==182604== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182604== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182604== by 0x4003269: main (tool_main.c:195) === End of file valgrind2204 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2200 ../src/curl -q --output log/4/curl2200.out --include --trace log/4/trace2200 --trace-time mqtt://127.0.0.1:44187/2200 -u fakeuser:fakepasswd > log/4/stdout2200 2> log/4/stderr2200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2205 ../src/curl -q --output log/19/curl2205.out --include --trace log/19/trace2205 --trace-time mqtt://127.0.0.1:33933/2205 -K log/19/input2205 > log/19/stdout2205 2> log/19/stderr2205 test 2308 [verify return code when write callback returns error] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:35903/2308 > log/16/stdout2308 2> log/16/stderr2308 2308: stdout FAILED: --- log/16/check-expected 2026-10-15 19:29:12.692658126 +0000 +++ log/16/check-generated 2026-10-15 19:29:12.691201497 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/16/ directory after test 2308 === Start of file check-expected Returned 23, should be 23.[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:35903/2308 > log/16/stdout2308 2> log/16/stderr2308 === End of file commands.log === Start of file http_server.log 19:29:11.874323 ====> Client connect 19:29:11.874369 accept_connection 3 returned 4 19:29:11.874396 Read 93 bytes 19:29:11.874407 Process 93 bytes request 19:29:11.874422 Got request: GET /verifiedserver HTTP/1.1 19:29:11.874431 Are-we-friendly question received 19:29:11.874462 Wrote request (93 bytes) input to log/16/server.input 19:29:11.874480 Identifying ourselves as friends 19:29:11.874578 Response sent (56 bytes) and written to log/16/server.response 19:29:11.874591 special request received, no persistency 19:29:11.874600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 57944 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 2308 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind2308 ==183337== ==183337== Process terminating with default action of signal 4 (SIGILL) ==183337== Illegal opcode at address 0x51CC63F ==183337== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183337== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183337== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183337== by 0x40041AF: main (first.c:264) === End of file valgrind2308 startnew: ./server/servers mqttd --port 0 --pidfile log/4/server/mqtt_server.pid --portfile log/4/server/mqtt_server.port --config log/4/server.cmd --logfile log/4/mqtt_server.log --logdir log/4 RUN: MQTT server is now running PID 182274 on PORT 44187 * pid mqtt => 182274 182274 test 2200 [MQTT SUBSCRIBE with user and password, not authorized] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2200 ../src/curl -q --output log/4/curl2200.out --include --trace log/4/trace2200 --trace-time mqtt://127.0.0.1:44187/2200 -u fakeuser:fakepasswd > log/4/stdout2200 2> log/4/stderr2200 2200: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 2200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2200 ../src/curl -q --output log/4/curl2200.out --include --trace log/4/trace2200 --trace-time mqtt://127.0.0.1:44187/2200 -u fakeuser:fakepasswd > log/4/stdout2200 2> log/4/stderr2200 === End of file commands.log === Start of file mqtt_server.log 19:29:09.100494 Running IPv4 version 19:29:09.100618 Listening on port 44187 19:29:09.100673 Wrote pid 182274 to log/4/server/mqtt_server.pid 19:29:09.100710 Wrote port 44187 to log/4/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==182713== ==182713== Process terminating with default action of signal 4 (SIGILL) ==182713== Illegal opcode at address 0x492B75F ==182713== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182713== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182713== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182713== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182713== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182713== by 0x49908EB: curl_version_info (version.c:600) ==182713== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182713== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182713== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182713== by 0x4003269: main (tool_main.c:195) === End of file valgrind2200 test 2205 [MQTT with 64 KiB long username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2205 ../src/curl -q --output log/19/curl2205.out --include --trace log/19/trace2205 --trace-time mqtt://127.0.0.1:33933/2205 -K log/19/input2205 > log/19/stdout2205 2> log/19/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/19/ directory after test 2205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2205 ../src/curl -q --output log/19/curl2205.out --include --trace log/19/trace2205 --trace-time mqtt://127.0.0.1:33933/2205 -K log/19/input2205 > log/19/stdout2205 2> log/19/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2271 ../src/curl -q --output log/20/curl2271.out --include --trace-ascii log/20/trace2271 --trace-time http://127.0.0.1:41689/2271 -d foobar -C - > log/20/stdout2271 2> log/20/stderr2271 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file server.cmd Testnum 2205 === End of file server.cmd === Start of file valgrind2205 ==182674== ==182674== Process terminating with default action of signal 4 (SIGILL) ==182674== Illegal opcode at address 0x492B75F ==182674== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182674== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182674== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182674== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182674== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182674== by 0x49908EB: curl_version_info (version.c:600) ==182674== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182674== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182674== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182674== by 0x4003269: main (tool_main.c:195) === End of file valgrind2205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2305 ../src/curl -q --output log/6/curl2305.out --include --trace-ascii log/6/trace2305 --trace-time http://127.0.0.1:33935/2305 --compressed --silent --show-error > log/6/stdout2305 2> log/6/stderr2305 test 2271 [reject automatic HTTP data upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2271 ../src/curl -q --output log/20/curl2271.out --include --trace-ascii log/20/trace2271 --trace-time http://127.0.0.1:41689/2271 -d foobar -C - > log/20/stdout2271 2> log/20/stderr2271 2271: stderr FAILED: --- log/20/check-expected 2026-10-15 19:29:12.794255868 +0000 +++ log/20/check-generated 2026-10-15 19:29:12.789719540 +0000 @@ -1 +0,0 @@ -curl: (43) HTTP upload cannot be resumed[CR][LF] == Contents of files in the log/20/ directory after test 2271 === Start of file check-expected curl: (43) HTTP upload cannot be resumed[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2271 ../src/curl -q --output log/20/curl2271.out --include --trace-ascii log/20/trace2271 --trace-time http://127.0.0.1:41689/2271 -d foobar -C - > log/20/stdout2271 2> log/20/stderr2271 === End of file commands.log === Start of file http_server.log 19:29:10.240838 ====> Client connect 19:29:10.240867 accept_connection 3 returned 4 19:29:10.251348 Read 93 bytes 19:29:10.251390 Process 93 bytes request 19:29:10.251420 Got request: GET /verifiedserver HTTP/1.1 19:29:10.251428 Are-we-friendly question received 19:29:10.251461 Wrote request (93 bytes) input to log/20/server.input 19:29:10.251477 Identifying ourselves as friends 19:29:10.251545 Response sent (57 bytes) and written to log/20/server.response 19:29:10.251554 special request received, no persistency 19:29:10.251562 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 46938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 2271 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind2271 ==182905== ==182905== Process terminating with default action of signal 4 (SIGILL) ==182905== Illegal opcode at address 0x492B75F ==182905== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182905== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182905== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182905== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182905== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182905== by 0x49908EB: curl_version_info (version.c:600) ==182905== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182905== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182905== by 0x4003269: main (tool_main.c:195) === End of file valgrind2271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2309 ./libtest/libtests lib2309 http://github.com log/9/netrc2309 http://127.0.0.1:43733/ > log/9/stdout2309 2> log/9/stderr2309 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2208 ../src/curl -q --output log/12/curl2208.out --include --trace-ascii log/12/trace2208 --trace-time -x http://127.0.0.1:40921 http://firsthost.com -L -u joe:secret > log/12/stdout2208 2> log/12/stderr2208 test 2305 [HTTP GET gzip compressed content with two concatenated gzip members] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2305 ../src/curl -q --output log/6/curl2305.out --include --trace-ascii log/6/trace2305 --trace-time http://127.0.0.1:33935/2305 --compressed --silent --show-error > log/6/stdout2305 2> log/6/stderr2305 2305: stderr FAILED: --- log/6/check-expected 2026-10-15 19:29:12.898259469 +0000 +++ log/6/check-generated 2026-10-15 19:29:12.894229127 +0000 @@ -1 +0,0 @@ -curl: (23) Multi-member gzip response not supported[CR][LF] == Contents of files in the log/6/ directory after test 2305 === Start of file check-expected curl: (23) Multi-member gzip response not supported[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2305 ../src/curl -q --output log/6/curl2305.out --include --trace-ascii log/6/trace2305 --trace-time http://127.0.0.1:33935/2305 --compressed --silent --show-error > log/6/stdout2305 2> log/6/stderr2305 === End of file commands.log === Start of file http_server.log 19:29:10.387654 ====> Client connect 19:29:10.387697 accept_connection 3 returned 4 19:29:10.387724 Read 93 bytes 19:29:10.387735 Process 93 bytes request 19:29:10.387748 Got request: GET /verifiedserver HTTP/1.1 19:29:10.387757 Are-we-friendly question received 19:29:10.387788 Wrote request (93 bytes) input to log/6/server.input 19:29:10.387807 Identifying ourselves as friends 19:29:10.387898 Response sent (56 bytes) and written to log/6/server.response 19:29:10.387909 special request received, no persistency 19:29:10.387917 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 39518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 2305 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind2305 ==183043== ==183043== Process terminating with default action of signal 4 (SIGILL) ==183043== Illegal opcode at address 0x492B75F ==183043== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183043== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183043== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183043== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183043== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183043== by 0x49908EB: curl_version_info (version.c:600) ==183043== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183043== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183043== by 0x4003269: main (tool_main.c:195) === End of file valgrind2305 test 2309 [HTTP with .netrc using duped easy handle] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2309 ./libtest/libtests lib2309 http://github.com log/9/netrc2309 http://127.0.0.1:43733/ > log/9/stdout2309 2> log/9/stderr2309 2309: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2309 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2309 ./libtest/libtests lib2309 http://github.com log/9/netrc2309 http://127.0.0.1:43733/ > log/9/stdout2309 2> log/9/stderr2309 === End of file commands.log === Start of file http_server.log 19:29:11.017667 ====> Client connect 19:29:11.017714 accept_connection 3 returned 4 19:29:11.017743 Read 93 bytes 19:29:11.017755 Process 93 bytes request 19:29:11.017769 Got request: GET /verifiedserver HTTP/1.1 19:29:11.017778 Are-we-friendly question received 19:29:11.017810 Wrote request (93 bytes) input to log/9/server.input 19:29:11.017829 Identifying ourselves as friends 19:29:11.017922 Response sent (56 bytes) and written to log/9/server.response 19:29:11.017933 special request received, no persistency 19:29:11.017942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 35656 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file netrc2309 machine github.com login daniel password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1 === End of file netrc2309 === Start of file server.cmd Testnum 2309 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind2309 ==183428== ==183428== Process terminating with default action of signal 4 (SIGILL) ==183428== Illegal opcode at address 0x51CC63F ==183428== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183428== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183428== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183428== by 0x40041AF: main (first.c:264) === End of file valgrind2309 test 2208 [HTTP auth on redirect with empty URL userinfo] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2208 ../src/curl -q --output log/12/curl2208.out --include --trace-ascii log/12/trace2208 --trace-time -x http://127.0.0.1:40921 http://firsthost.com -L -u joe:secret > log/12/stdout2208 2> log/12/stderr2208 2208: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 2208 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2208 ../src/curl -q --output log/12/curl2208.out --include --trace-ascii log/12/trace2208 --trace-time -x http://127.0.0.1:40921 http://firsthost.com -L -u joe:secret > log/12/stdout2208 2> log/12/stderr2208 === End of file commands.log === Start of file http_server.log 19:29:10.236412 ====> Client connect 19:29:10.236445 accept_connection 3 returned 4 19:29:10.236466 Read 93 bytes 19:29:10.236475 Process 93 bytes request 19:29:10.236487 Got request: GET /verifiedserver HTTP/1.1 19:29:10.236496 Are-we-friendly question received 19:29:10.236522 Wrote request (93 bytes) input to log/12/server.input 19:29:10.236538 Identifying ourselves as friends 19:29:10.236599 Response sent (56 bytes) and written to log/12/server.response 19:29:10.236608 special request received, no persistency 19:29:10.236616 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2206 ../src/curl -q --output log/17/curl2206.out --include --trace log/17/trace2206 --trace-time mqtt://127.0.0.1:36463/2206 > log/17/stdout2206 2> log/17/stderr2206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2272 ../src/curl -q --output log/2/curl2272.out --include --trace-ascii log/2/trace2272 --trace-time http://127.0.0.1:34531/2272 -F name=value -C - > log/2/stdout2272 2> log/2/stderr2272 .0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 53084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 2208 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind2208 ==182876== ==182876== Process terminating with default action of signal 4 (SIGILL) ==182876== Illegal opcode at address 0x492B75F ==182876== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182876== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182876== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182876== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182876== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182876== by 0x49908EB: curl_version_info (version.c:600) ==182876== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182876== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182876== by 0x4003269: main (tool_main.c:195) === End of file valgrind2208 test 2206 [MQTT reject PINGRESP with nonzero remaining_length in place of CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2206 ../src/curl -q --output log/17/curl2206.out --include --trace log/17/trace2206 --trace-time mqtt://127.0.0.1:36463/2206 > log/17/stdout2206 2> log/17/stderr2206 2206: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 2206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2206 ../src/curl -q --output log/17/curl2206.out --include --trace log/17/trace2206 --trace-time mqtt://127.0.0.1:36463/2206 > log/17/stdout2206 2> log/17/stderr2206 === End of file commands.log === Start of file server.cmd PINGRESP-as-CONNACK TRUE Testnum 2206 === End of file server.cmd === Start of file valgrind2206 ==182681== ==182681== Process terminating with default action of signal 4 (SIGILL) ==182681== Illegal opcode at address 0x492B75F ==182681== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182681== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182681== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182681== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182681== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182681== by 0x49908EB: curl_version_info (version.c:600) ==182681== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182681== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182681== by 0x4003269: main (tool_main.c:195) === End of file valgrind2206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2380 ./libtest/libtests lib2380 log/21/write2380 > log/21/stdout2380 2> log/21/stderr2380 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2330 ./libtest/libtests cli_ev_download -n 1 -t 1000 -m 3000 ftp://127.0.0.1:36115/2330 > log/18/stdout2330 2> log/18/stderr2330 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2203 ../src/curl -q --output log/3/curl2203.out --include --trace log/3/trace2203 --trace-time mqtt://127.0.0.1:42257/2203 > log/3/stdout2203 2> log/3/stderr2203 * kill pid for ftp-ctrl => 85378 RUN: Process with pid 85350 signalled to die RUN: Process with pid 85350 gracefully died test 2272 [reject automatic HTTP form upload resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2272 ../src/curl -q --output log/2/curl2272.out --include --trace-ascii log/2/trace2272 --trace-time http://127.0.0.1:34531/2272 -F name=value -C - > log/2/stdout2272 2> log/2/stderr2272 2272: stderr FAILED: --- log/2/check-expected 2026-10-15 19:29:13.147136382 +0000 +++ log/2/check-generated 2026-10-15 19:29:13.142555176 +0000 @@ -1 +0,0 @@ -curl: (43) HTTP upload cannot be resumed[CR][LF] == Contents of files in the log/2/ directory after test 2272 === Start of file check-expected curl: (43) HTTP upload cannot be resumed[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2272 ../src/curl -q --output log/2/curl2272.out --include --trace-ascii log/2/trace2272 --trace-time http://127.0.0.1:34531/2272 -F name=value -C - > log/2/stdout2272 2> log/2/stderr2272 === End of file commands.log === Start of file http_server.log 19:29:11.324149 ====> Client connect 19:29:11.324187 accept_connection 3 returned 4 19:29:11.324211 Read 93 bytes 19:29:11.324221 Process 93 bytes request 19:29:11.324251 Got request: GET /verifiedserver HTTP/1.1 19:29:11.324260 Are-we-friendly question received 19:29:11.324287 Wrote request (93 bytes) input to log/2/server.input 19:29:11.324303 Identifying ourselves as friends 19:29:11.324363 Response sent (56 bytes) and written to log/2/server.response 19:29:11.324372 special request received, no persistency 19:29:11.324380 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 32884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2272 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2272 ==182967== ==182967== Process terminating with default action of signal 4 (SIGILL) ==182967== Illegal opcode at address 0x492B75F ==182967== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==182967== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==182967== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==182967== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==182967== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==182967== by 0x49908EB: curl_version_info (version.c:600) ==182967== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==182967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==182967== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==182967== by 0x4003269: main (tool_main.c:195) === End of file valgrind2272 test 2380 [curl_mprintf errors on out of space] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2380 ./libtest/libtests lib2380 log/21/write2380 > log/21/stdout2380 2> log/21/stderr2380 libtests returned 132, when expecting 0 2380: exit FAILED == Contents of files in the log/21/ directory after test 2380 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind2380 ./libtest/libtests lib2380 log/21/write2380 > log/21/stdout2380 2> log/21/stderr2380 === End of file commands.log === Start of file server.cmd Testnum 2380 === End of file server.cmd === Start of file valgrind2380 ==183696== ==183696== Process terminating with default action of signal 4 (SIGILL) ==183696== Illegal opcode at address 0x51CC63F ==183696== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183696== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183696== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183696== by 0x40041AF: main (first.c:264) === End of file valgrind2380 startnew: ./server/servers mqttd --port 0 --pidfile log/3/server/mqtt_server.pid --portfile log/3/server/mqtt_server.port --config log/3/server.cmd --logfile log/3/mqtt_server.log --logdir log/3 RUN: MQTT server is now running PID 182599 on PORT 42257 * pid mqtt => 182599 182599 test 2203 [MQTT with "no user or password" CONNACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2203 ../src/curl -q --output log/3/curl2203.out --include --trace log/3/trace2203 --trace-time mqtt://127.0.0.1:42257/2203 > log/3/stdout2203 2> log/3/stderr2203 2203: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 2203 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2203 ../src/curl -q --output log/3/curl2203.out --include --trace log/3/trace2203 --trace-time mqtt://127.0.0.1:42257/2203 > log/3/stdout2203 2> log/3/stderr2203 === End of file commands.log === Start of file mqtt_server.log 19:29:10.653818 Running IPv4 version 19:29:10.653901 Listening on port 42257 19:29:10.653942 Wrote pid 182599 to log/3/server/mqtt_server.pid 19:29:10.653973 Wrote port 42257 to log/3/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmd === Start of file valgrind2203 ==183203== ==183203== Process terminating with default action of signal 4 (SIGILL) ==183203== Illegal opcode at address 0x492B75F ==183203== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183203== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183203== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183203== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183203== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183203== by 0x49908EB: curl_version_info (version.c:600) ==183203== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183203== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183203== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183203== by 0x4003269: main (tool_main.c:195) === End of file valgrind2203 test 2330 [FTP server response timeout with the socket action API] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2330 ./libtest/libtests cli_ev_download -n 1 -t 1000 -m 3000 ftp://127.0.0.1:36115/2330 > log/18/stdout2330 2> log/18/stderr2330 libtests returned 132, when expecting 28 2330: exit FAILED == Contents of files in the log/18/ directory after test 2330 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2330 ./libtest/libtests cli_ev_download -n 1 -t 1000 -m 3000 ftp://127.0.0.1:36115/2330 > log/18/stdout2330 2> log/18/stderr2330 === End of file commands.log === Start of file ftp_server.log 19:29:11.886760 ====> Client connect 19:29:11.886999 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2307 ../src/curl -q --output log/24/curl2307.out --include --trace-ascii log/24/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37215/2307 > log/24/stdout2307 2> log/24/stderr2307 | |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:11.890155 < "USER anonymous" 19:29:11.890204 > "331 We are happy you popped in![CR][LF]" 19:29:11.891049 < "PASS ftp@example.com" 19:29:11.891090 > "230 Welcome you silly person[CR][LF]" 19:29:11.891281 < "PWD" 19:29:11.891325 > "257 "/" is current directory[CR][LF]" 19:29:11.892724 < "EPSV" 19:29:11.892753 ====> Passive DATA channel requested by client 19:29:11.892768 DATA sockfilt for passive data channel starting... 19:29:11.899739 DATA sockfilt for passive data channel started (pid 183688) 19:29:11.899871 DATA sockfilt for passive data channel listens on port 38927 19:29:11.899917 > "229 Entering Passive Mode (|||38927|)[CR][LF]" 19:29:11.899934 Client has been notified that upcoming DATA connection is awaited on port 38927 19:29:11.900258 Client connects to port 38927 19:29:11.900289 ====> Client established passive DATA connection on port 38927 19:29:11.900387 < "TYPE I" 19:29:11.900425 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:11.900766 < "SIZE verifiedserver" 19:29:11.900814 > "213 17[CR][LF]" 19:29:11.901003 < "RETR verifiedserver" 19:29:11.901043 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:11.901125 =====> Closing passive DATA connection... 19:29:11.901140 Server disconnects passive DATA connection 19:29:11.901355 Server disconnected passive DATA connection 19:29:11.901381 DATA sockfilt for passive data channel quits (pid 183688) 19:29:11.901596 DATA sockfilt for passive data channel quit (pid 183688) 19:29:11.901621 =====> Closed passive DATA connection 19:29:11.901648 > "226 File transfer complete[CR][LF]" 19:29:11.945659 < "QUIT" 19:29:11.945724 > "221 bye bye baby[CR][LF]" 19:29:11.947724 MAIN sockfilt said DISC 19:29:11.947775 ====> Client disconnected 19:29:11.947865 Awaiting input 19:29:13.314332 Failed to read input 19:29:13.314383 Error: FTP server, read zero 19:29:13.314402 Exited from sysread_or_die() at /startdir/src/curl/tests/ftpserver.pl line 3130. FTP server, read zero === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:11.488909 ====> Client connect 19:29:11.489306 Received DATA (on stdin) 19:29:11.489323 > 146 bytes data, server => client 19:29:11.489335 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:11.489346 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:11.489355 '220 \___|\___/|_| \_\_____|\r\n' 19:29:11.492238 < 16 bytes data, client => server 19:29:11.492259 'USER anonymous\r\n' 19:29:11.492494 Received DATA (on stdin) 19:29:11.492508 > 33 bytes data, server => client 19:29:11.492518 '331 We are happy you popped in!\r\n' 19:29:11.493195 < 22 bytes data, client => server 19:29:11.493213 'PASS ftp@example.com\r\n' 19:29:11.493376 Received DATA (on stdin) 19:29:11.493388 > 30 bytes data, server => client 19:29:11.493398 '230 Welcome you silly person\r\n' 19:29:11.493458 < 5 bytes data, client => server 19:29:11.493472 'PWD\r\n' 19:29:11.494414 Received DATA (on stdin) 19:29:11.494434 > 30 bytes data, server => client 19:29:11.494446 '257 "/" is current directory\r\n' 19:29:11.494900 < 6 bytes data, client => server 19:29:11.494918 'EPSV\r\n' 19:29:11.502222 Received DATA (on stdin) 19:29:11.502238 > 39 bytes data, server => client 19:29:11.502249 '229 Entering Passive Mode (|||38927|)\r\n' 19:29:11.502457 < 8 bytes data, client => server 19:29:11.502473 'TYPE I\r\n' 19:29:11.502707 Received DATA (on stdin) 19:29:11.502719 > 33 bytes data, server => client 19:29:11.502729 '200 I modify TYPE as you wanted\r\n' 19:29:11.502790 < 21 bytes data, client => server 19:29:11.502804 'SIZE verifiedserver\r\n' 19:29:11.503102 Received DATA (on stdin) 19:29:11.503115 > 8 bytes data, server => client 19:29:11.503125 '213 17\r\n' 19:29:11.503188 < 21 bytes data, client => server 19:29:11.503203 'RETR verifiedserver\r\n' 19:29:11.503504 Received DATA (on stdin) 19:29:11.503514 > 29 bytes data, server => client 19:29:11.503523 '150 Binary junk (17 bytes).\r\n' 19:29:11.503929 Received DATA (on stdin) 19:29:11.503940 > 28 bytes data, server => client 19:29:11.503950 '226 File transfer complete\r\n' 19:29:11.547723 < 6 bytes data, client => server 19:29:11.547756 'QUIT\r\n' 19:29:11.548023 Received DATA (on stdin) 19:29:11.548040 > 18 bytes data, server => client 19:29:11.548050 '221 bye bye baby\r\n' 19:29:11.549368 ====> Client disconnect 19:29:11.550152 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:11.501822 Running IPv4 version 19:29:11.501901 Listening on port 38927 19:29:11.501939 Wrote pid 183688 to log/18/server/ftp_sockdata.pid 19:29:11.501957 Received PING (on stdin) 19:29:11.502053 Received PORT (on stdin) 19:29:11.502494 ====> Client connect 19:29:11.503421 Received DATA (on stdin) 19:29:11.503433 > 17 bytes data, server => client 19:29:11.503443 'WE ROOLZ: 85350\r\n' 19:29:11.503470 Received DISC (on stdin) 19:29:11.503480 ====> Client forcibly disconnected 19:29:11.503668 Received QUIT (on stdin) 19:29:11.503679 quits 19:29:11.503735 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd DELAY USER 5 Testnum 2330 === End of file server.cmd === Start of file valgrind2330 ==183759== ==183759== Process terminating with default action of signal 4 (SIGILL) ==183759== Illegal opcode at address 0x51CC63F ==183759== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183759== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183759== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183759== by 0x40041AF: main (first.c:264) === End of file valgrind2330 test 2307 [FTP retrieve a byte-range with end larger than file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2307 ../src/curl -q --output log/24/curl2307.out --include --trace-ascii log/24/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37215/2307 > log/24/stdout2307 2> log/24/stderr2307 2307: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2307 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2307 ../src/curl -q --output log/24/curl2307.out --include --trace-ascii log/24/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:37215/2307 > log/24/stdout2307 2> log/24/stderr2307 === End of file commands.log === Start of file ftp_server.log 19:29:11.122154 ====> Client connect 19:29:11.122374 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:11.122702 < "USER anonymous" 19:29:11.122736 > "331 We are happy you popped in![CR][LF]" 19:29:11.132162 < "PASS ftp@example.com" 19:29:11.132223 > "230 Welcome you silly person[CR][LF]" 19:29:11.132458 < "PWD" 19:29:11.132492 > "257 "/" is current directory[CR][LF]" 19:29:11.132657 < "EPSV" 19:29:11.132681 ====> Passive DATA channel requested by client 19:29:11.132695 DATA sockfilt for passive data channel starting... 19:29:11.138732 DATA sockfilt for passive data channel started (pid 183246) 19:29:11.138901 DATA sockfilt for passive data channel listens on port 36941 19:29:11.138960 > "229 Entering Passive Mode (|||36941|)[CR][LF]" 19:29:11.138978 Client has been notified that upcoming DATA connection is awaited on port 36941 19:29:11.139314 Client connects to port 36941 19:29:11.139348 ====> Client established passive DATA connection on port 36941 19:29:11.139451 < "TYPE I" 19:29:11.139488 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:11.139671 < "SIZE verifiedserver" 19:29:11.139712 > "213 17[CR][LF]" 19:29:11.139856 < "RETR verifiedserveCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:40913/2397 > log/10/stdout2397 2> log/10/stderr2397 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2310 ../src/curl -q --output log/7/curl2310.out --include --trace-ascii log/7/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:40859/{{VAR:64dec:trim}}' > log/7/stdout2310 2> log/7/stderr2310 r" 19:29:11.139888 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:11.139968 =====> Closing passive DATA connection... 19:29:11.139983 Server disconnects passive DATA connection 19:29:11.140165 Server disconnected passive DATA connection 19:29:11.140189 DATA sockfilt for passive data channel quits (pid 183246) 19:29:11.140474 DATA sockfilt for passive data channel quit (pid 183246) 19:29:11.140497 =====> Closed passive DATA connection 19:29:11.140524 > "226 File transfer complete[CR][LF]" 19:29:11.182597 < "QUIT" 19:29:11.182663 > "221 bye bye baby[CR][LF]" 19:29:11.185378 MAIN sockfilt said DISC 19:29:11.185424 ====> Client disconnected 19:29:11.185511 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:11.724274 ====> Client connect 19:29:11.724661 Received DATA (on stdin) 19:29:11.724675 > 146 bytes data, server => client 19:29:11.724687 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:11.724697 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:11.724707 '220 \___|\___/|_| \_\_____|\r\n' 19:29:11.724831 < 16 bytes data, client => server 19:29:11.724843 'USER anonymous\r\n' 19:29:11.725013 Received DATA (on stdin) 19:29:11.725024 > 33 bytes data, server => client 19:29:11.725034 '331 We are happy you popped in!\r\n' 19:29:11.725087 < 22 bytes data, client => server 19:29:11.725098 'PASS ftp@example.com\r\n' 19:29:11.734511 Received DATA (on stdin) 19:29:11.734530 > 30 bytes data, server => client 19:29:11.734541 '230 Welcome you silly person\r\n' 19:29:11.734648 < 5 bytes data, client => server 19:29:11.734659 'PWD\r\n' 19:29:11.734766 Received DATA (on stdin) 19:29:11.734776 > 30 bytes data, server => client 19:29:11.734786 '257 "/" is current directory\r\n' 19:29:11.734849 < 6 bytes data, client => server 19:29:11.734859 'EPSV\r\n' 19:29:11.741263 Received DATA (on stdin) 19:29:11.741279 > 39 bytes data, server => client 19:29:11.741289 '229 Entering Passive Mode (|||36941|)\r\n' 19:29:11.741500 < 8 bytes data, client => server 19:29:11.741518 'TYPE I\r\n' 19:29:11.741769 Received DATA (on stdin) 19:29:11.741782 > 33 bytes data, server => client 19:29:11.741792 '200 I modify TYPE as you wanted\r\n' 19:29:11.741855 < 21 bytes data, client => server 19:29:11.741864 'SIZE verifiedserver\r\n' 19:29:11.741985 Received DATA (on stdin) 19:29:11.741995 > 8 bytes data, server => client 19:29:11.742004 '213 17\r\n' 19:29:11.742051 < 21 bytes data, client => server 19:29:11.742061 'RETR verifiedserver\r\n' 19:29:11.742257 Received DATA (on stdin) 19:29:11.742267 > 29 bytes data, server => client 19:29:11.742276 '150 Binary junk (17 bytes).\r\n' 19:29:11.742800 Received DATA (on stdin) 19:29:11.742811 > 28 bytes data, server => client 19:29:11.742821 '226 File transfer complete\r\n' 19:29:11.784659 < 6 bytes data, client => server 19:29:11.784692 'QUIT\r\n' 19:29:11.784951 Received DATA (on stdin) 19:29:11.784967 > 18 bytes data, server => client 19:29:11.784979 '221 bye bye baby\r\n' 19:29:11.787588 ====> Client disconnect 19:29:11.787786 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:11.739006 Running IPv4 version 19:29:11.739109 Listening on port 36941 19:29:11.739159 Wrote pid 183246 to log/24/server/ftp_sockdata.pid 19:29:11.740929 Received PING (on stdin) 19:29:11.741060 Received PORT (on stdin) 19:29:11.741539 ====> Client connect 19:29:11.742333 Received DATA (on stdin) 19:29:11.742345 > 17 bytes data, server => client 19:29:11.742355 'WE ROOLZ: 85113\r\n' 19:29:11.742379 Received DISC (on stdin) 19:29:11.742390 ====> Client forcibly disconnected 19:29:11.742517 Received QUIT (on stdin) 19:29:11.742529 quits 19:29:11.742595 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==183284== ==183284== Process terminating with default action of signal 4 (SIGILL) ==183284== Illegal opcode at address 0x492B75F ==183284== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183284== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183284== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183284== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183284== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183284== by 0x49908EB: curl_version_info (version.c:600) ==183284== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183284== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183284== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183284== by 0x4003269: main (tool_main.c:195) === End of file valgrind2307 test 2397 [Get CURLINFO_REFERER set CURLOPT_REFERER] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:40913/2397 > log/10/stdout2397 2> log/10/stderr2397 2397: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2397 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:40913/2397 > log/10/stdout2397 2> log/10/stderr2397 === End of file commands.log === Start of file http_server.log 19:29:11.644459 ====> Client connect 19:29:11.644500 accept_connection 3 returned 4 19:29:11.644524 Read 93 bytes 19:29:11.644534 Process 93 bytes request 19:29:11.644547 Got request: GET /verifiedserver HTTP/1.1 19:29:11.644556 Are-we-friendly question received 19:29:11.644585 Wrote request (93 bytes) input to log/10/server.input 19:29:11.644607 Identifying ourselves as friends 19:29:11.644682 Response sent (56 bytes) and written to log/10/server.response 19:29:11.644693 special request received, no persistency 19:29:11.644702 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 43478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 2397 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind2397 ==183837== ==183837== Process terminating with default action of signal 4 (SIGILL) ==183837== Illegal opcode at address 0x51CC63F ==183837== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==183837== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==183837== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==183837== by 0x40041AF: main (first.c:264) === End of file valgrind2397 test 2310 [variable decode and trim] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2310 ../src/curl -q --output log/7/curl2310.out --include --trace-ascii log/7/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:40859/{{VAR:64dec:trim}}' > log/7/stdout2310 2> log/7/stderr2310 2310: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 2310 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressionsCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2207 ../src/curl -q --output log/1/curl2207.out --include --trace log/1/trace2207 --trace-time mqtt://127.0.0.1:39717/2207 > log/1/stdout2207 2> log/1/stderr2207 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2413 ./unit/units unit2413 - > log/6/stdout2413 2> log/6/stderr2413 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:41689/2412 > log/20/stdout2412 2> log/20/stderr2412 =/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2310 ../src/curl -q --output log/7/curl2310.out --include --trace-ascii log/7/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:40859/{{VAR:64dec:trim}}' > log/7/stdout2310 2> log/7/stderr2310 === End of file commands.log === Start of file http_server.log 19:29:11.106206 ====> Client connect 19:29:11.106239 accept_connection 3 returned 4 19:29:11.111135 Read 93 bytes 19:29:11.111158 Process 93 bytes request 19:29:11.111172 Got request: GET /verifiedserver HTTP/1.1 19:29:11.111181 Are-we-friendly question received 19:29:11.111221 Wrote request (93 bytes) input to log/7/server.input 19:29:11.111239 Identifying ourselves as friends 19:29:11.111298 Response sent (56 bytes) and written to log/7/server.response 19:29:11.111307 special request received, no persistency 19:29:11.111315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 39260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 2310 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind2310 ==183469== ==183469== Process terminating with default action of signal 4 (SIGILL) ==183469== Illegal opcode at address 0x492B75F ==183469== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183469== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183469== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183469== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183469== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183469== by 0x49908EB: curl_version_info (version.c:600) ==183469== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183469== by 0x4003269: main (tool_main.c:195) === End of file valgrind2310 startnew: ./server/servers mqttd --port 0 --pidfile log/1/server/mqtt_server.pid --portfile log/1/server/mqtt_server.port --config log/1/server.cmd --logfile log/1/mqtt_server.log --logdir log/1 RUN: MQTT server is now running PID 182677 on PORT 39717 * pid mqtt => 182677 182677 test 2207 [MQTT reject DISCONNECT with nonzero remaining_length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2207 ../src/curl -q --output log/1/curl2207.out --include --trace log/1/trace2207 --trace-time mqtt://127.0.0.1:39717/2207 > log/1/stdout2207 2> log/1/stderr2207 2207: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 2207 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2207 ../src/curl -q --output log/1/curl2207.out --include --trace log/1/trace2207 --trace-time mqtt://127.0.0.1:39717/2207 > log/1/stdout2207 2> log/1/stderr2207 === End of file commands.log === Start of file mqtt_server.log 19:29:10.056781 Running IPv4 version 19:29:10.056867 Listening on port 39717 19:29:10.056911 Wrote pid 182677 to log/1/server/mqtt_server.pid 19:29:10.056947 Wrote port 39717 to log/1/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd DISCONNECT-malformed TRUE Testnum 2207 === End of file server.cmd === Start of file valgrind2207 ==183440== ==183440== Process terminating with default action of signal 4 (SIGILL) ==183440== Illegal opcode at address 0x492B75F ==183440== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183440== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183440== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183440== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183440== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183440== by 0x49908EB: curl_version_info (version.c:600) ==183440== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183440== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183440== by 0x4003269: main (tool_main.c:195) === End of file valgrind2207 test 2413 [Curl_peer unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2413 ./unit/units unit2413 - > log/6/stdout2413 2> log/6/stderr2413 units returned 132, when expecting 0 2413: exit FAILED == Contents of files in the log/6/ directory after test 2413 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2413 ./unit/units unit2413 - > log/6/stdout2413 2> log/6/stderr2413 === End of file commands.log === Start of file server.cmd Testnum 2413 === End of file server.cmd === Start of file valgrind2413 ==184305== ==184305== Process terminating with default action of signal 4 (SIGILL) ==184305== Illegal opcode at address 0x4091F7F ==184305== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==184305== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==184305== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==184305== by 0x400B1A9: main (first.c:264) === End of file valgrind2413 test 2412 [checking curl_multi_fdset on nothing to do] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:41689/2412 > log/20/stdout2412 2> log/20/stderr2412 libtests returned 132, when expecting 0 2412: exit FAILED == Contents of files in the log/20/ directory after test 2412 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:41689/2412 > log/20/stdout2412 2> log/20/stderr2412 === End of file commands.log === Start of file http_server.log 19:29:12.496162 ====> Client connect 19:29:12.496195 accept_connection 3 returned 4 19:29:12.496215 Read 93 bytes 19:29:12.496223 Process 93 bytes request 19:29:12.496235 Got request: GET /verifiedserver HTTP/1.1 19:29:12.496244 Are-we-friendly question received 19:29:12.496273 Wrote request (93 bytes) input to log/20/server.input 19:29:12.496289 Identifying ourselves as friends 19:29:12.496347 Response sent (57 bytes) and written to log/20/server.response 19:29:12.496357 special request received, no persistency 19:29:12.496365 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 39680 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file hCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:38821/2405 > log/13/stdout2405 2> log/13/stderr2405 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2318 ../src/curl -q --output log/23/curl2318.out --include --trace-ascii log/23/trace2318 --trace-time --resolve github.io:44711:127.0.0.1 --resolve attacker.github.io:44711:127.0.0.1 -b "" http://github.io:44711/2318 http://attacker.github.io:44711/23180002 http://github.io:44711/2318 > log/23/stdout2318 2> log/23/stderr2318 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2311 ../src/curl -q --output log/22/curl2311.out --include --trace-ascii log/22/trace2311 --trace-time http://example.fake/2311 -b log/22/injar2311 -x 127.0.0.1:35989 > log/22/stdout2311 2> log/22/stderr2311 ttp_verify.out === Start of file server.cmd Testnum 2412 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind2412 ==184309== ==184309== Process terminating with default action of signal 4 (SIGILL) ==184309== Illegal opcode at address 0x51CC63F ==184309== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184309== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184309== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184309== by 0x40041AF: main (first.c:264) === End of file valgrind2412 test 2405 [checking curl_multi_waitfds functionality] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:38821/2405 > log/13/stdout2405 2> log/13/stderr2405 libtests returned 132, when expecting 0 2405: exit FAILED == Contents of files in the log/13/ directory after test 2405 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:38821/2405 > log/13/stdout2405 2> log/13/stderr2405 === End of file commands.log === Start of file http_server.log 19:29:12.069960 ====> Client connect 19:29:12.069994 accept_connection 3 returned 4 19:29:12.070015 Read 93 bytes 19:29:12.070025 Process 93 bytes request 19:29:12.070037 Got request: GET /verifiedserver HTTP/1.1 19:29:12.070046 Are-we-friendly question received 19:29:12.070073 Wrote request (93 bytes) input to log/13/server.input 19:29:12.070090 Identifying ourselves as friends 19:29:12.070152 Response sent (56 bytes) and written to log/13/server.response 19:29:12.070161 special request received, no persistency 19:29:12.070169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 38292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 2405 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind2405 ==184030== ==184030== Process terminating with default action of signal 4 (SIGILL) ==184030== Illegal opcode at address 0x51CC63F ==184030== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184030== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184030== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184030== by 0x40041AF: main (first.c:264) === End of file valgrind2405 test 2318 [Get cookies from PSL domain then use *.domain] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2318 ../src/curl -q --output log/23/curl2318.out --include --trace-ascii log/23/trace2318 --trace-time --resolve github.io:44711:127.0.0.1 --resolve attacker.github.io:44711:127.0.0.1 -b "" http://github.io:44711/2318 http://attacker.github.io:44711/23180002 http://github.io:44711/2318 > log/23/stdout2318 2> log/23/stderr2318 2318: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 2318 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2318 ../src/curl -q --output log/23/curl2318.out --include --trace-ascii log/23/trace2318 --trace-time --resolve github.io:44711:127.0.0.1 --resolve attacker.github.io:44711:127.0.0.1 -b "" http://github.io:44711/2318 http://attacker.github.io:44711/23180002 http://github.io:44711/2318 > log/23/stdout2318 2> log/23/stderr2318 === End of file commands.log === Start of file http_server.log 19:29:11.399844 ====> Client connect 19:29:11.399880 accept_connection 3 returned 4 19:29:11.399902 Read 93 bytes 19:29:11.399911 Process 93 bytes request 19:29:11.399923 Got request: GET /verifiedserver HTTP/1.1 19:29:11.399932 Are-we-friendly question received 19:29:11.399957 Wrote request (93 bytes) input to log/23/server.input 19:29:11.399974 Identifying ourselves as friends 19:29:11.400039 Response sent (56 bytes) and written to log/23/server.response 19:29:11.400048 special request received, no persistency 19:29:11.400055 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 33998 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 2318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind2318 ==183641== ==183641== Process terminating with default action of signal 4 (SIGILL) ==183641== Illegal opcode at address 0x492B75F ==183641== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183641== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183641== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183641== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183641== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183641== by 0x49908EB: curl_version_info (version.c:600) ==183641== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183641== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183641== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183641== by 0x4003269: main (tool_main.c:195) === End of file valgrind2318 test 2311 [Cookie from file: control octet rejected, prefixes case sensitive] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2311 ../src/curl -q --output log/22/curl2311.out --include --trace-ascii log/22/trace2311 --trace-time http://example.fake/2311 -b log/22/injar2311 -x 127.0.0.1:35989 > log/22/stdout2311 2> log/22/stderr2311 2311: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 2311 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2311 ../src/curl -q --output log/22/curl2311.out --include --trace-ascii log/22/trace2311 --trace-time http://example.fake/2311 -b log/22/injar2311 -x 127.0.0.1:35989 > log/22/stdout2311 2> log/22/stderr2311 === End of file commands.log === Start of file http_server.log 19:29:11.388315 ====> Client connect 19:29:11.388350 accept_connection 3 returned 4 19:29:11.388373 Read 93 bytes 19:29:11.388382 Process 93 bytes request 19:29:11.388396 Got request: GET /verifiedserver HTTP/1.1 19:29:11.388404 Are-we-friendly question received 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2414 ./libtest/libtests lib2414 - > log/9/stdout2414 2> log/9/stderr2414 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2453 ./libtest/libtests lib2453 http://127.0.0.1:34531/2453 > log/2/stdout2453 2> log/2/stderr2453 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2408 ../src/curl -q --include --trace-ascii log/15/trace2408 --trace-time "127.0.0.1:40321/{2408,24080002,24080003}" -o "log/15/dump-#" > log/15/stdout2408 2> log/15/stderr2408 :29:11.388428 Wrote request (93 bytes) input to log/22/server.input 19:29:11.388443 Identifying ourselves as friends 19:29:11.388502 Response sent (56 bytes) and written to log/22/server.response 19:29:11.388511 special request received, no persistency 19:29:11.388519 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 58666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file injar2311 example.fake FALSE / FALSE 0 clean good example.fake FALSE / FALSE 0 bad bad example.fake FALSE / FALSE 0 __secure-x yes example.fake FALSE / FALSE 0 __Secure-y no === End of file injar2311 === Start of file server.cmd Testnum 2311 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind2311 ==183640== ==183640== Process terminating with default action of signal 4 (SIGILL) ==183640== Illegal opcode at address 0x492B75F ==183640== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==183640== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==183640== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==183640== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==183640== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==183640== by 0x49908EB: curl_version_info (version.c:600) ==183640== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==183640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==183640== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==183640== by 0x4003269: main (tool_main.c:195) === End of file valgrind2311 test 2414 [wakeup, perform and poll needs to exit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2414 ./libtest/libtests lib2414 - > log/9/stdout2414 2> log/9/stderr2414 libtests returned 132, when expecting 0 2414: exit FAILED == Contents of files in the log/9/ directory after test 2414 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2414 ./libtest/libtests lib2414 - > log/9/stdout2414 2> log/9/stderr2414 === End of file commands.log === Start of file server.cmd Testnum 2414 === End of file server.cmd === Start of file valgrind2414 ==184363== ==184363== Process terminating with default action of signal 4 (SIGILL) ==184363== Illegal opcode at address 0x51CC63F ==184363== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184363== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184363== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184363== by 0x40041AF: main (first.c:264) === End of file valgrind2414 test 2453 [CURLMINFO_XFERS_DONE tracks unread completion messages] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2453 ./libtest/libtests lib2453 http://127.0.0.1:34531/2453 > log/2/stdout2453 2> log/2/stderr2453 2453: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2453 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2453 ./libtest/libtests lib2453 http://127.0.0.1:34531/2453 > log/2/stdout2453 2> log/2/stderr2453 === End of file commands.log === Start of file http_server.log 19:29:13.823129 ====> Client connect 19:29:13.823166 accept_connection 3 returned 4 19:29:13.823187 Read 93 bytes 19:29:13.823197 Process 93 bytes request 19:29:13.823211 Got request: GET /verifiedserver HTTP/1.1 19:29:13.823220 Are-we-friendly question received 19:29:13.823247 Wrote request (93 bytes) input to log/2/server.input 19:29:13.823263 Identifying ourselves as friends 19:29:13.823324 Response sent (56 bytes) and written to log/2/server.response 19:29:13.823333 special request received, no persistency 19:29:13.823341 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2453 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2453 ==184562== ==184562== Process terminating with default action of signal 4 (SIGILL) ==184562== Illegal opcode at address 0x51CC63F ==184562== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184562== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184562== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184562== by 0x40041AF: main (first.c:264) === End of file valgrind2453 test 2408 [multiple requests using named {} globs in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2408 ../src/curl -q --include --trace-ascii log/15/trace2408 --trace-time "127.0.0.1:40321/{2408,24080002,24080003}" -o "log/15/dump-#" > log/15/stdout2408 2> log/15/stderr2408 2408: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2408 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2408 ../src/curl -q --include --trace-ascii log/15/trace2408 --trace-time "127.0.0.1:40321/{2408,24080002,24080003}" -o "log/15/dump-#" > log/15/stdout2408 2> log/15/stderr2408 === End of file commands.log === Start of file http_server.log 19:29:13.151240 ====> Client connect 19:29:13.151280 accept_connection 3 returned 4 19:29:13.151304 Read 93 bytes 19:29:13.151314 Process 93 bytes request 19:29:13.151328 Got request: GET /verifiedserver HTTP/1.1 19:29:13.151337 Are-we-friendly question received 19:29:13.151365 Wrote request (93 bytes) input to log/15/server.input 19:29:13.151382 Identifying ourselves as friends 19:29:13.151447 Response sent (56 bytes) and written to log/15/server.response 19:29:13.151457 special request received, no persistency 19:29:13.151466 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 50638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start ofCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2409 ../src/curl -q --include --trace-ascii log/16/trace2409 --trace-time "127.0.0.1:35903/hello[7-9]" -o "log/16/dump-#" > log/16/stdout2409 2> log/16/stderr2409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2410 ../src/curl -q --include --trace-ascii log/4/trace2410 --trace-time "https://dummy.example/{A,B}{C,D}" -o "log/4/dump" > log/4/stdout2410 2> log/4/stderr2410 file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 2408 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind2408 ==184065== ==184065== Process terminating with default action of signal 4 (SIGILL) ==184065== Illegal opcode at address 0x492B75F ==184065== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184065== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184065== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184065== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184065== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184065== by 0x49908EB: curl_version_info (version.c:600) ==184065== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184065== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184065== by 0x4003269: main (tool_main.c:195) === End of file valgrind2408 test 2409 [multiple requests using named [] globs in URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2409 ../src/curl -q --include --trace-ascii log/16/trace2409 --trace-time "127.0.0.1:35903/hello[7-9]" -o "log/16/dump-#" > log/16/stdout2409 2> log/16/stderr2409 2409: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 2409 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind2409 ../src/curl -q --include --trace-ascii log/16/trace2409 --trace-time "127.0.0.1:35903/hello[7-9]" -o "log/16/dump-#" > log/16/stdout2409 2> log/16/stderr2409 === End of file commands.log === Start of file http_server.log 19:29:13.362129 ====> Client connect 19:29:13.362161 accept_connection 3 returned 4 19:29:13.362257 Read 93 bytes 19:29:13.362268 Process 93 bytes request 19:29:13.362279 Got request: GET /verifiedserver HTTP/1.1 19:29:13.362288 Are-we-friendly question received 19:29:13.362318 Wrote request (93 bytes) input to log/16/server.input 19:29:13.362336 Identifying ourselves as friends 19:29:13.362388 Response sent (56 bytes) and written to log/16/server.response 19:29:13.362397 special request received, no persistency 19:29:13.362405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 56654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 2409 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind2409 ==184178== ==184178== Process terminating with default action of signal 4 (SIGILL) ==184178== Illegal opcode at address 0x492B75F ==184178== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184178== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184178== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184178== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184178== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184178== by 0x49908EB: curl_version_info (version.c:600) ==184178== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184178== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184178== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184178== by 0x4003269: main (tool_main.c:195) === End of file valgrind2409 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:36161 > log/3/stdout2504 2> log/3/stderr2504 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2601 ./unit/units unit2601 - > log/7/stdout2601 2> log/7/stderr2601 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:38895 http://site.example/ log/24/netrc2506 > log/24/stdout2506 2> log/24/stderr2506 test 2410 [duplicate named glob] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2410 ../src/curl -q --include --trace-ascii log/4/trace2410 --trace-time "https://dummy.example/{A,B}{C,D}" -o "log/4/dump" > log/4/stdout2410 2> log/4/stderr2410 2410: stderr FAILED: --- log/4/check-expected 2026-10-15 19:29:14.617441944 +0000 +++ log/4/check-generated 2026-10-15 19:29:14.612539536 +0000 @@ -1,3 +0,0 @@ -curl: (3) Duplicate glob name in position 40:[CR][LF] -https://dummy.example/{A,B}{C,D}[CR][LF] - ^[CR][LF] == Contents of files in the log/4/ directory after test 2410 === Start of file check-expected curl: (3) Duplicate glob name in position 40:[CR][LF] https://dummy.example/{A,B}{C,D}[CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2410 ../src/curl -q --include --trace-ascii log/4/trace2410 --trace-time "https://dummy.example/{A,B}{C,D}" -o "log/4/dump" > log/4/stdout2410 2> log/4/stderr2410 === End of file commands.log === Start of file server.cmd Testnum 2410 === End of file server.cmd === Start of file valgrind2410 ==184145== ==184145== Process terminating with default action of signal 4 (SIGILL) ==184145== Illegal opcode at address 0x492B75F ==184145== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184145== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184145== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184145== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184145== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184145== by 0x49908EB: curl_version_info (version.c:600) ==184145== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184145== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184145== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184145== by 0x4003269: main (tool_main.c:195) === End of file valgrind2410 test 2504 [custom Host with cookie, handle reuse, no custom Host:] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:36161 > log/3/stdout2504 2> log/3/stderr2504 2504: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 2504 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:36161 > log/3/stdout2504 2> log/3/stderr2504 === End of file commands.log === Start of file http_server.log 19:29:14.030422 ====> Client connect 19:29:14.030461 accept_connection 3 returned 4 19:29:14.030482 Read 93 bytes 19:29:14.030492 Process 93 bytes request 19:29:14.030503 Got request: GET /verifiedserver HTTP/1.1 19:29:14.030511 Are-we-friendly question received 19:29:14.030535 Wrote request (93 bytes) input to log/3/server.input 19:29:14.030549 Identifying ourselves as friends 19:29:14.030606 Response sent (56 bytes) and written to log/3/server.response 19:29:14.030615 special request received, no persistency 19:29:14.030622 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 57858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 2504 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind2504 ==184715== ==184715== Process terminating with default action of signal 4 (SIGILL) ==184715== Illegal opcode at address 0x51CC63F ==184715== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184715== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184715== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184715== by 0x40041AF: main (first.c:264) === End of file valgrind2504 test 2601 [bufq unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2601 ./unit/units unit2601 - > log/7/stdout2601 2> log/7/stderr2601 units returned 132, when expecting 0 2601: exit FAILED == Contents of files in the log/7/ directory after test 2601 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2601 ./unit/units unit2601 - > log/7/stdout2601 2> log/7/stderr2601 === End of file commands.log === Start of file server.cmd Testnum 2601 === End of file server.cmd === Start of file valgrind2601 ==184844== ==184844== Process terminating with default action of signal 4 (SIGILL) ==184844== Illegal opcode at address 0x4091F7F ==184844== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==184844== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==184844== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==184844== by 0x400B1A9: main (first.c:264) === End of file valgrind2601 test 2506 [netrc with redirect using proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:38895 http://site.example/ log/24/netrc2506 > log/24/stdout2506 2> log/24/stderr2506 2506: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 2506 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:38895 http://site.example/ log/24/netrc2506 > log/24/stdout2506 2> log/24/stderr2506 === End of file commands.log === Start of file http_server.log 19:29:13.207658 ====> Client connect 19:29:13.207692 accept_connection 3 returned 4 19:29:13.207714 Read 93 bytes 19:29:13.207724 Process 93 bytes request 19:29:13.207737 Got request: GET /verifiedserver HTTP/1.1 19:29:13.207745 Are-we-friendly question received 19:29:13.207771 Wrote request (93 bytes) input to log/24/server.input 19:29:13.207788 Identifying ourselves as friends 19:29:13.207853 Response sent (56 bytes) and written to log/24/server.response 19:29:13.207863 special request received, no persistency 19:29:13.207871 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 33046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of fCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2411 ../src/curl -q --include --trace-ascii log/19/trace2411 --trace-time "127.0.0.1:37077/{A,B}{C,D}" -o "somewhere/#" > log/19/stdout2411 2> log/19/stderr2411 ile http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file netrc2506 machine site.example login batman password robin === End of file netrc2506 === Start of file server.cmd Testnum 2506 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind2506 ==184819== ==184819== Process terminating with default action of signal 4 (SIGILL) ==184819== Illegal opcode at address 0x51CC63F ==184819== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184819== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184819== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184819== by 0x40041AF: main (first.c:264) === End of file valgrind2506 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:43739 > log/18/stdout2505 2> log/18/stderr2505 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2602 ./unit/units unit2602 - > log/1/stdout2602 2> log/1/stderr2602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2415 ../src/curl -q --include --trace-ascii log/12/trace2415 --trace-time "127.0.0.1:40921/test" -o "somewhere/#" > log/12/stdout2415 2> log/12/stderr2415 test 2411 [reference a named glob not set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2411 ../src/curl -q --include --trace-ascii log/19/trace2411 --trace-time "127.0.0.1:37077/{A,B}{C,D}" -o "somewhere/#" > log/19/stdout2411 2> log/19/stderr2411 2411: stderr FAILED: --- log/19/check-expected 2026-10-15 19:29:15.210360220 +0000 +++ log/19/check-generated 2026-10-15 19:29:15.209372760 +0000 @@ -1,3 +0,0 @@ -curl: (43) no glob exists with this name in position 16:[CR][LF] -somewhere/#[CR][LF] - ^[CR][LF] == Contents of files in the log/19/ directory after test 2411 === Start of file check-expected curl: (43) no glob exists with this name in position 16:[CR][LF] somewhere/#[CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind2411 ../src/curl -q --include --trace-ascii log/19/trace2411 --trace-time "127.0.0.1:37077/{A,B}{C,D}" -o "somewhere/#" > log/19/stdout2411 2> log/19/stderr2411 === End of file commands.log === Start of file http_server.log 19:29:12.476592 ====> Client connect 19:29:12.476627 accept_connection 3 returned 4 19:29:12.481072 Read 93 bytes 19:29:12.481092 Process 93 bytes request 19:29:12.481106 Got request: GET /verifiedserver HTTP/1.1 19:29:12.481115 Are-we-friendly question received 19:29:12.481152 Wrote request (93 bytes) input to log/19/server.input 19:29:12.481170 Identifying ourselves as friends 19:29:12.481235 Response sent (57 bytes) and written to log/19/server.response 19:29:12.481245 special request received, no persistency 19:29:12.481253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 53100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd Testnum 2411 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind2411 ==184279== ==184279== Process terminating with default action of signal 4 (SIGILL) ==184279== Illegal opcode at address 0x492B75F ==184279== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184279== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184279== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184279== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184279== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184279== by 0x49908EB: curl_version_info (version.c:600) ==184279== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184279== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184279== by 0x4003269: main (tool_main.c:195) === End of file valgrind2411 test 2505 [verify CURLOPT_AUTOREFERER switched off] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:43739 > log/18/stdout2505 2> log/18/stderr2505 2505: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 2505 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:43739 > log/18/stdout2505 2> log/18/stderr2505 === End of file commands.log === Start of file http_server.log 19:29:14.109366 ====> Client connect 19:29:14.109406 accept_connection 3 returned 4 19:29:14.109427 Read 93 bytes 19:29:14.109437 Process 93 bytes request 19:29:14.109450 Got request: GET /verifiedserver HTTP/1.1 19:29:14.109458 Are-we-friendly question received 19:29:14.109486 Wrote request (93 bytes) input to log/18/server.input 19:29:14.109501 Identifying ourselves as friends 19:29:14.109562 Response sent (56 bytes) and written to log/18/server.response 19:29:14.109571 special request received, no persistency 19:29:14.109578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 44356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 2505 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind2505 ==184752== ==184752== Process terminating with default action of signal 4 (SIGILL) ==184752== Illegal opcode at address 0x51CC63F ==184752== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==184752== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==184752== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==184752== by 0x40041AF: main (first.c:264) === End of file valgrind2505 test 2602 [dynhds unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2602 ./unit/units unit2602 - > log/1/stdout2602 2> log/1/stderr2602 units returned 132, when expecting 0 2602: exit FAILED == Contents of files in the log/1/ directory after test 2602 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind2602 ./unit/units unit2602 - > log/1/stdout2602 2> log/1/stderr2602 === End of file commands.log === Start of file server.cmd Testnum 2602 === End of file server.cmd === Start of file valgrind2602 ==184993== ==184993== Process terminating with default action of signal 4 (SIGILL) ==184993== Illegal opcode at address 0x4091F7F ==184993== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==184993== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==184993== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==184993== by 0x400B1A9: main (first.c:264) === End of file valgrind2602 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2603 ./unit/units unit2603 - > log/6/stdout2603 2> log/6/stderr2603 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2604 ./unit/units unit2604 - > log/20/stdout2604 2> log/20/stderr2604 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2429 ../src/curl -q --output log/17/curl2429.out --include --trace-ascii log/17/trace2429 --trace-time http://127.0.0.1:35993/2429 --netrc --netrc-file log/17/netrc > log/17/stdout2429 2> log/17/stderr2429 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2605 ./unit/units unit2605 - > log/13/stdout2605 2> log/13/stderr2605 test 2415 [reference a named glob with a literal URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2415 ../src/curl -q --include --trace-ascii log/12/trace2415 --trace-time "127.0.0.1:40921/test" -o "somewhere/#" > log/12/stdout2415 2> log/12/stderr2415 2415: stderr FAILED: --- log/12/check-expected 2026-10-15 19:29:15.299377429 +0000 +++ log/12/check-generated 2026-10-15 19:29:15.295864980 +0000 @@ -1,3 +0,0 @@ -curl: (43) no glob exists with this name in position 16:[CR][LF] -somewhere/#[CR][LF] - ^[CR][LF] == Contents of files in the log/12/ directory after test 2415 === Start of file check-expected curl: (43) no glob exists with this name in position 16:[CR][LF] somewhere/#[CR][LF] ^[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind2415 ../src/curl -q --include --trace-ascii log/12/trace2415 --trace-time "127.0.0.1:40921/test" -o "somewhere/#" > log/12/stdout2415 2> log/12/stderr2415 === End of file commands.log === Start of file http_server.log 19:29:12.699754 ====> Client connect 19:29:12.699792 accept_connection 3 returned 4 19:29:12.699890 Read 93 bytes 19:29:12.699905 Process 93 bytes request 19:29:12.699918 Got request: GET /verifiedserver HTTP/1.1 19:29:12.699927 Are-we-friendly question received 19:29:12.699958 Wrote request (93 bytes) input to log/12/server.input 19:29:12.699976 Identifying ourselves as friends 19:29:12.700039 Response sent (56 bytes) and written to log/12/server.response 19:29:12.700050 special request received, no persistency 19:29:12.700059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 2415 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind2415 ==184481== ==184481== Process terminating with default action of signal 4 (SIGILL) ==184481== Illegal opcode at address 0x492B75F ==184481== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184481== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184481== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184481== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184481== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184481== by 0x49908EB: curl_version_info (version.c:600) ==184481== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184481== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184481== by 0x4003269: main (tool_main.c:195) === End of file valgrind2415 test 2603 [http1 parser unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2603 ./unit/units unit2603 - > log/6/stdout2603 2> log/6/stderr2603 units returned 132, when expecting 0 2603: exit FAILED == Contents of files in the log/6/ directory after test 2603 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind2603 ./unit/units unit2603 - > log/6/stdout2603 2> log/6/stderr2603 === End of file commands.log === Start of file server.cmd Testnum 2603 === End of file server.cmd === Start of file valgrind2603 ==185008== ==185008== Process terminating with default action of signal 4 (SIGILL) ==185008== Illegal opcode at address 0x4091F7F ==185008== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==185008== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==185008== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==185008== by 0x400B1A9: main (first.c:264) === End of file valgrind2603 test 2604 [Curl_get_pathname unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2604 ./unit/units unit2604 - > log/20/stdout2604 2> log/20/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/20/ directory after test 2604 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind2604 ./unit/units unit2604 - > log/20/stdout2604 2> log/20/stderr2604 === End of file commands.log === Start of file server.cmd Testnum 2604 === End of file server.cmd === Start of file valgrind2604 ==185070== ==185070== Process terminating with default action of signal 4 (SIGILL) ==185070== Illegal opcode at address 0x4091F7F ==185070== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==185070== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==185070== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==185070== by 0x400B1A9: main (first.c:264) === End of file valgrind2604 test 2429 [use netrc file with only comments] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2429 ../src/curl -q --output log/17/curl2429.out --include --trace-ascii log/17/trace2429 --trace-time http://127.0.0.1:35993/2429 --netrc --netrc-file log/17/netrc > log/17/stdout2429 2> log/17/stderr2429 2429: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 2429 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind2429 ../src/curl -q --output log/17/curl2429.out --include --trace-ascii log/17/trace2429 --trace-time http://127.0.0.1:35993/2429 --netrc --netrc-file log/17/netrc > log/17/stdout2429 2> log/17/stderr2429 === End of file commands.log === Start of file http_server.log 19:29:13.771980 ====> Client connect 19:29:13.772017 accept_connection 3 returned 4 19:29:13.772037 Read 93 bytes 19:29:13.772047 Process 93 bytes request 19:29:13.772059 Got request: GET /verifiedserver HTTP/1.1 19:29:13.772068 Are-we-friendly question received 19:29:13.772094 Wrote request (93 bytes) input to log/17/server.input 19:29:13.772109 Identifying ourselves as friends 19:29:13.772174 Response sent (56 bytes) and written to log/17/server.response 19:29:13.772184 special request received, no persistency 19:29:13.772193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2606 ./unit/units unit2606 - > log/23/stdout2606 2> log/23/stderr2606 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2582 ../src/curl -q --output log/10/curl2582.out --include --trace-ascii log/10/trace2582 --trace-time --resolve my-machine:40913:127.0.0.1 -b "log/10/dump2582" http://my-machine:40913/2582 > log/10/stdout2582 2> log/10/stderr2582 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2924 ./libtest/libtests lib2924 http://127.0.0.1:40321/2924 > log/15/stdout2924 2> log/15/stderr2924 nd of file http_verify.out === Start of file netrc # only a comment line === End of file netrc === Start of file server.cmd Testnum 2429 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind2429 ==184533== ==184533== Process terminating with default action of signal 4 (SIGILL) ==184533== Illegal opcode at address 0x492B75F ==184533== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184533== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184533== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184533== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184533== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184533== by 0x49908EB: curl_version_info (version.c:600) ==184533== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184533== by 0x4003269: main (tool_main.c:195) === End of file valgrind2429 test 2605 [Curl_ssh_range unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2605 ./unit/units unit2605 - > log/13/stdout2605 2> log/13/stderr2605 units returned 132, when expecting 0 2605: exit FAILED == Contents of files in the log/13/ directory after test 2605 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind2605 ./unit/units unit2605 - > log/13/stdout2605 2> log/13/stderr2605 === End of file commands.log === Start of file server.cmd Testnum 2605 === End of file server.cmd === Start of file valgrind2605 ==185071== ==185071== Process terminating with default action of signal 4 (SIGILL) ==185071== Illegal opcode at address 0x4091F7F ==185071== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==185071== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==185071== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==185071== by 0x400B1A9: main (first.c:264) === End of file valgrind2605 test 2606 [Curl_conn_adjust_pollset unit test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2606 ./unit/units unit2606 - > log/23/stdout2606 2> log/23/stderr2606 units returned 132, when expecting 0 2606: exit FAILED == Contents of files in the log/23/ directory after test 2606 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind2606 ./unit/units unit2606 - > log/23/stdout2606 2> log/23/stderr2606 === End of file commands.log === Start of file server.cmd Testnum 2606 === End of file server.cmd === Start of file valgrind2606 ==185097== ==185097== Process terminating with default action of signal 4 (SIGILL) ==185097== Illegal opcode at address 0x4091F7F ==185097== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==185097== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==185097== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==185097== by 0x400B1A9: main (first.c:264) === End of file valgrind2606 test 2582 [Get cookies from jar using single-component domain name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2582 ../src/curl -q --output log/10/curl2582.out --include --trace-ascii log/10/trace2582 --trace-time --resolve my-machine:40913:127.0.0.1 -b "log/10/dump2582" http://my-machine:40913/2582 > log/10/stdout2582 2> log/10/stderr2582 2582: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/10/ directory after test 2582 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind2582 ../src/curl -q --output log/10/curl2582.out --include --trace-ascii log/10/trace2582 --trace-time --resolve my-machine:40913:127.0.0.1 -b "log/10/dump2582" http://my-machine:40913/2582 > log/10/stdout2582 2> log/10/stderr2582 === End of file commands.log === Start of file dump2582 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. my-machine FALSE / FALSE 0 world crazy === End of file dump2582 === Start of file http_server.log 19:29:13.307686 ====> Client connect 19:29:13.307728 accept_connection 3 returned 4 19:29:13.307752 Read 93 bytes 19:29:13.307761 Process 93 bytes request 19:29:13.307774 Got request: GET /verifiedserver HTTP/1.1 19:29:13.307782 Are-we-friendly question received 19:29:13.307808 Wrote request (93 bytes) input to log/10/server.input 19:29:13.307823 Identifying ourselves as friends 19:29:13.307904 Response sent (56 bytes) and written to log/10/server.response 19:29:13.307914 special request received, no persistency 19:29:13.307922 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40913... * Established connection to 127.0.0.1 (127.0.0.1 port 40913) from 127.0.0.1 port 43484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40913 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40913 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79067 === End of file http_verify.out === Start of file server.cmd Testnum 2582 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79067 === End of file server.response === Start of file valgrind2582 ==184886== ==184886== Process terminating with default action of signal 4 (SIGILL) ==184886== Illegal opcode at address 0x492B75F ==184886== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==184886== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==184886== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==184886== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==184886== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==184886== by 0x49908EB: curl_version_info (version.c:600) ==184886== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==184886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==184886== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==184886== by 0x4003269: main (tool_main.c:195) === End of file valgrind2582 test 2924 [CURLOPT_HTTP_TRANSFER_DECODING, chunked + Content-Length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2924 ./libtest/libtests lib2924 http://127.0.0.1:40321/2924 > log/15/stdout2924 2> log/15/stderr2924 2924: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 2924 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2924 ./libtest/libtests lib2924 http://127.0.0.1:40321/2924 > log/15/stdout2924 2> log/15/stderr2924 === End of file commands.log === Start of file http_server.log 19:29:15.179016 ====> Client connect 19:29:15.179056 accept_connection 3 returned 4 19:29:15.179081 Read 93 bytes 1CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2805 ./libtest/libtests lib2805 ftp://127.0.0.1:33255/fully_simulated/percen%74/*.txt > log/22/stdout2805 2> log/22/stderr2805 9:29:15.179092 Process 93 bytes request 19:29:15.179105 Got request: GET /verifiedserver HTTP/1.1 19:29:15.179114 Are-we-friendly question received 19:29:15.179143 Wrote request (93 bytes) input to log/15/server.input 19:29:15.179162 Identifying ourselves as friends 19:29:15.179232 Response sent (56 bytes) and written to log/15/server.response 19:29:15.179244 special request received, no persistency 19:29:15.179252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40321... * Established connection to 127.0.0.1 (127.0.0.1 port 40321) from 127.0.0.1 port 50654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40321 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40321 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78991 === End of file http_verify.out === Start of file server.cmd Testnum 2924 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78991 === End of file server.response === Start of file valgrind2924 ==185330== ==185330== Process terminating with default action of signal 4 (SIGILL) ==185330== Illegal opcode at address 0x51CC63F ==185330== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==185330== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==185330== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==185330== by 0x40041AF: main (first.c:264) === End of file valgrind2924 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40921/3010 > log/12/stdout3010 2> log/12/stderr3010 test 2805 [FTP wildcards with percent sign in file name] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2805 ./libtest/libtests lib2805 ftp://127.0.0.1:33255/fully_simulated/percen%74/*.txt > log/22/stdout2805 2> log/22/stderr2805 2805: stdout FAILED: --- log/22/check-expected 2026-10-15 19:29:15.942511318 +0000 +++ log/22/check-generated 2026-10-15 19:29:15.939190557 +0000 @@ -1,4 +0,0 @@ -match: 'someothertext.txt' against pattern '*.txt'[LF] -match: 'some%2etxt' against pattern '*.txt'[LF] -Some junk ;-) This file does not really exist.[LF] -percent in file name.[LF] == Contents of files in the log/22/ directory after test 2805 === Start of file check-expected match: 'someothertext.txt' against pattern '*.txt'[LF] match: 'some%2etxt' against pattern '*.txt'[LF] Some junk ;-) This file does not really exist.[LF] percent in file name.[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind2805 ./libtest/libtests lib2805 ftp://127.0.0.1:33255/fully_simulated/percen%74/*.txt > log/22/stdout2805 2> log/22/stderr2805 === End of file commands.log === Start of file ftp_server.log 19:29:14.324499 ====> Client connect 19:29:14.324729 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.325075 < "USER anonymous" 19:29:14.325118 > "331 We are happy you popped in![CR][LF]" 19:29:14.325394 < "PASS ftp@example.com" 19:29:14.325435 > "230 Welcome you silly person[CR][LF]" 19:29:14.325626 < "PWD" 19:29:14.325669 > "257 "/" is current directory[CR][LF]" 19:29:14.325868 < "EPSV" 19:29:14.325896 ====> Passive DATA channel requested by client 19:29:14.325913 DATA sockfilt for passive data channel starting... 19:29:14.338697 DATA sockfilt for passive data channel started (pid 185206) 19:29:14.338883 DATA sockfilt for passive data channel listens on port 38253 19:29:14.338936 > "229 Entering Passive Mode (|||38253|)[CR][LF]" 19:29:14.338954 Client has been notified that upcoming DATA connection is awaited on port 38253 19:29:14.339249 Client connects to port 38253 19:29:14.339286 ====> Client established passive DATA connection on port 38253 19:29:14.339393 < "TYPE I" 19:29:14.339432 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:14.339636 < "SIZE verifiedserver" 19:29:14.339684 > "213 17[CR][LF]" 19:29:14.339875 < "RETR verifiedserver" 19:29:14.339920 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:14.340025 =====> Closing passive DATA connection... 19:29:14.340046 Server disconnects passive DATA connection 19:29:14.340293 Server disconnected passive DATA connection 19:29:14.340323 DATA sockfilt for passive data channel quits (pid 185206) 19:29:14.340651 DATA sockfilt for passive data channel quit (pid 185206) 19:29:14.340680 =====> Closed passive DATA connection 19:29:14.340710 > "226 File transfer complete[CR][LF]" 19:29:14.388858 < "QUIT" 19:29:14.388914 > "221 bye bye baby[CR][LF]" 19:29:14.395364 MAIN sockfilt said DISC 19:29:14.395433 ====> Client disconnected 19:29:14.395517 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:14.926668 ====> Client connect 19:29:14.927059 Received DATA (on stdin) 19:29:14.927077 > 146 bytes data, server => client 19:29:14.927089 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:14.927099 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:14.927109 '220 \___|\___/|_| \_\_____|\r\n' 19:29:14.927219 < 16 bytes data, client => server 19:29:14.927236 'USER anonymous\r\n' 19:29:14.927432 Received DATA (on stdin) 19:29:14.927445 > 33 bytes data, server => client 19:29:14.927456 '331 We are happy you popped in!\r\n' 19:29:14.927517 < 22 bytes data, client => server 19:29:14.927531 'PASS ftp@example.com\r\n' 19:29:14.927748 Received DATA (on stdin) 19:29:14.927761 > 30 bytes data, server => client 19:29:14.927771 '230 Welcome you silly person\r\n' 19:29:14.927830 < 5 bytes data, client => server 19:29:14.927844 'PWD\r\n' 19:29:14.927980 Received DATA (on stdin) 19:29:14.927996 > 30 bytes data, server => client 19:29:14.928007 '257 "/" is current directory\r\n' 19:29:14.928076 < 6 bytes data, client => server 19:29:14.928090 'EPSV\r\n' 19:29:14.941271 Received DATA (on stdin) 19:29:14.941288 > 39 bytes data, server => client 19:29:14.941299 '229 Entering Passive Mode (|||38253|)\r\n' 19:29:14.941469 < 8 bytes data, client => server 19:29:14.941483 'TYPE I\r\n' 19:29:14.941741 Received DATA (on stdin) 19:29:14.941754 > 33 bytes data, server => client 19:29:14.941764 '200 I modify TYPE as you wanted\r\n' 19:29:14.941832 < 21 bytes data, client => server 19:29:14.941846 'SIZE verifiedserver\r\n' 19:29:14.941996 Received DATA (on stdin) 19:29:14.942009 > 8 bytes data, server => client 19:29:14.942019 '213 17\r\n' 19:29:14.942080 < 21 bytes data, client => server 19:29:14.942094 'RETR verifiedserver\r\n' 19:29:14.942356 Received DATA (on stdin) 19:29:14.942368 > 29 bytes data, server => client 19:29:14.942377 '150 Binary junk (17 bytes).\r\n' 19:29:14.943020 Received DATA (on stdin) 19:29:14.943032 > 28 bytes data, server => client 19:29:14.943042 '226 File transfer complete\r\n' 19:29:14.990969 < 6 bytes data, client => server 19:29:14.990999 'QUIT\r\n' 19:29:14.991226 Received DATA (on stdin) 19:29:14.991238 > 18 bytes data, server => client 19:29:14.991248 '221 bye bye baby\r\n' 19:29:14.995345 ====> Client disconnect 19:29:14.997827 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:14.932078 Running IPv4 version 19:29:14.932155 Listening on port 38253 19:29:14.932198 Wrote pid 185206 to log/22/server/ftp_sockdata.pid 19:29:14.937618 Received PING (on stdin) 19:29:14.941074 Received PORT (on stdin) 19:29:14.941504 ====> Client connect 19:29:14.942406 Received DATA (on stdin) 19:29:14.942420 > 17 bytes data, server => client 19:29:14.942430 'WE ROOLZ: 84714\r\n' 19:29:14.942456 Received DISC (on stdin) 19:29:14.942470 ====> Client forcibly disconnected 19:29:14.942642 Received QUIT (on stdin) 19:29:14.942654 quits 19:29:14.942738 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2805 === End of file server.cmd === Start of file valgrind2805 ==185255== ==185255== Process terminating with default action of signal 4 (SIGILL) ==185255== Illegal opcode at address 0x51CC63F ==185255== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==185255== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==185255== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==185255== by 0x40041AF: main (first.c:264) === End of file valgrind2805 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2824 ../src/curl -q --output log/9/curl2824.out --include --trace-ascii log/9/trace2824 --trace-time http://test.remote.example.com.2824:1024/path/28240003 --proxy http://127.0.0.1:43733 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel --connect-timeout 10 > log/9/stdout2824 2> log/9/stderr2824 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2918 ../src/curl -q --output log/2/curl2918.out --include --trace-ascii log/2/trace2918 --trace-time http://127.0.0.1:34531/2918 --raw > log/2/stdout2918 2> log/2/stderr2918 test 3010 [HTTP retry-after reset] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40921/3010 > log/12/stdout3010 2> log/12/stderr3010 3010: stdout FAILED: --- log/12/check-expected 2026-10-15 19:29:16.419979216 +0000 +++ log/12/check-generated 2026-10-15 19:29:16.415851114 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/12/ directory after test 3010 === Start of file check-expected Retry-After 2[LF] Retry-After 0[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:40921/3010 > log/12/stdout3010 2> log/12/stderr3010 === End of file commands.log === Start of file http_server.log 19:29:15.006792 ====> Client connect 19:29:15.006832 accept_connection 3 returned 4 19:29:15.006992 Read 93 bytes 19:29:15.007010 Process 93 bytes request 19:29:15.007023 Got request: GET /verifiedserver HTTP/1.1 19:29:15.007032 Are-we-friendly question received 19:29:15.007066 Wrote request (93 bytes) input to log/12/server.input 19:29:15.007084 Identifying ourselves as friends 19:29:15.007151 Response sent (56 bytes) and written to log/12/server.response 19:29:15.007161 special request received, no persistency 19:29:15.007169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 3010 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind3010 ==185958== ==185958== Process terminating with default action of signal 4 (SIGILL) ==185958== Illegal opcode at address 0x51CC63F ==185958== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==185958== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==185958== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==185958== by 0x40041AF: main (first.c:264) === End of file valgrind3010 test 2824 [HTTP proxy CONNECT 2 407s, chunked-encoded and 0-length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2824 ../src/curl -q --output log/9/curl2824.out --include --trace-ascii log/9/trace2824 --trace-time http://test.remote.example.com.2824:1024/path/28240003 --proxy http://127.0.0.1:43733 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel --connect-timeout 10 > log/9/stdout2824 2> log/9/stderr2824 2824: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 2824 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind2824 ../src/curl -q --output log/9/curl2824.out --include --trace-ascii log/9/trace2824 --trace-time http://test.remote.example.com.2824:1024/path/28240003 --proxy http://127.0.0.1:43733 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel --connect-timeout 10 > log/9/stdout2824 2> log/9/stderr2824 === End of file commands.log === Start of file http_server.log 19:29:13.937695 ====> Client connect 19:29:13.937747 accept_connection 3 returned 4 19:29:13.937779 Read 93 bytes 19:29:13.937791 Process 93 bytes request 19:29:13.937805 Got request: GET /verifiedserver HTTP/1.1 19:29:13.937814 Are-we-friendly question received 19:29:13.937845 Wrote request (93 bytes) input to log/9/server.input 19:29:13.937863 Identifying ourselves as friends 19:29:13.937964 Response sent (56 bytes) and written to log/9/server.response 19:29:13.937977 special request received, no persistency 19:29:13.937986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 36626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 2824 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind2824 ==185208== ==185208== Process terminating with default action of signal 4 (SIGILL) ==185208== Illegal opcode at address 0x492B75F ==185208== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185208== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185208== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185208== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185208== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185208== by 0x49908EB: curl_version_info (version.c:600) ==185208== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185208== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185208== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185208== by 0x4003269: main (tool_main.c:195) === End of file valgrind2824 test 2918 [Ignore content-length with Transfer-Encoding] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2918 ../src/curl -q --output log/2/curl2918.out --include --trace-ascii log/2/trace2918 --trace-time http://127.0.0.1:34531/2918 --raw > log/2/stdout2918 2> log/2/stderr2918 2918: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 2918 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind2918 ../src/curl -q --output log/2/curl2918.out --include --trace-ascii log/2/trace2918 --trace-time http://127.0.0.1:34531/2918 --raw > log/2/stdout2918 2> log/2/stderr2918 === End of file commands.log === Start of file http_server.log 19:29:15.127750 ====> Client connect 19:29:15.127790 accept_connection 3 returned 4 19:29:15.127939 Read 93 bytes 19:29:15.127953 Process 93 bytes request 19:29:15.127965 Got request: GET /verifiedserver HTTP/1.1 19:29:15.127973 Are-we-friendly question received 19:29:15.128003 Wrote request (93 bytes) input to log/2/server.input 19:29:15.128018 Identifying ourselves as friends 19:29:15.128073 Response sent (56 bytes) and written to log/2/server.response 19:29:15.128081 special request received, no persistency 19:29:15.128089 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3003 ../src/curl -q --output log/4/curl3003.out --include --trace-ascii log/4/trace3003 --trace-time smtp://127.0.0.1:32885/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/4/stdout3003 2> log/4/stderr3003 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3004 ../src/curl -q --output log/7/curl3004.out --include --trace-ascii log/7/trace3004 --trace-time smtp://127.0.0.1:33449/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/7/stdout3004 2> log/7/stderr3004 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 2918 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind2918 ==185318== ==185318== Process terminating with default action of signal 4 (SIGILL) ==185318== Illegal opcode at address 0x492B75F ==185318== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185318== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185318== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185318== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185318== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185318== by 0x49908EB: curl_version_info (version.c:600) ==185318== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185318== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185318== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185318== by 0x4003269: main (tool_main.c:195) === End of file valgrind2918 test 3003 [SMTP invalid (last) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3003 ../src/curl -q --output log/4/curl3003.out --include --trace-ascii log/4/trace3003 --trace-time smtp://127.0.0.1:32885/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/4/stdout3003 2> log/4/stderr3003 3003: protocol FAILED! There was no content at all in the file log/4/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/4/ directory after test 3003 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3003 ../src/curl -q --output log/4/curl3003.out --include --trace-ascii log/4/trace3003 --trace-time smtp://127.0.0.1:32885/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T - log/4/stdout3003 2> log/4/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 19:29:14.698636 ====> Client connect 19:29:14.698961 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.699972 < "EHLO verifiedserver" 19:29:14.700027 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:14.700236 < "HELP" 19:29:14.700269 > "214 WE ROOLZ: 113210[CR][LF]" 19:29:14.700282 return proof we are we 19:29:14.700476 < "QUIT" 19:29:14.700504 > "221 curl ESMTP server signing off[CR][LF]" 19:29:14.701709 MAIN sockfilt said DISC 19:29:14.701742 ====> Client disconnected 19:29:14.701809 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:14.300171 ====> Client connect 19:29:14.301298 Received DATA (on stdin) 19:29:14.301321 > 146 bytes data, server => client 19:29:14.301334 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:14.301345 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:14.301356 '220 \___|\___/|_| \_\_____|\r\n' 19:29:14.302066 < 21 bytes data, client => server 19:29:14.302086 'EHLO verifiedserver\r\n' 19:29:14.302350 Received DATA (on stdin) 19:29:14.302364 > 53 bytes data, server => client 19:29:14.302375 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:14.302439 < 6 bytes data, client => server 19:29:14.302451 'HELP\r\n' 19:29:14.302588 Received DATA (on stdin) 19:29:14.302598 > 22 bytes data, server => client 19:29:14.302609 '214 WE ROOLZ: 113210\r\n' 19:29:14.302699 < 6 bytes data, client => server 19:29:14.302709 'QUIT\r\n' 19:29:14.302812 Received DATA (on stdin) 19:29:14.302822 > 35 bytes data, server => client 19:29:14.302832 '221 curl ESMTP server signing off\r\n' 19:29:14.303540 ====> Client disconnect 19:29:14.304118 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3003 From: different To: another body === End of file stdin-for-3003 === Start of file valgrind3003 ==185468== ==185468== Process terminating with default action of signal 4 (SIGILL) ==185468== Illegal opcode at address 0x492B75F ==185468== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185468== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185468== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185468== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185468== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185468== by 0x49908EB: curl_version_info (version.c:600) ==185468== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185468== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185468== by 0x4003269: main (tool_main.c:195) === End of file valgrind3003 test 3004 [SMTP invalid (middle) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3004 ../src/curl -q --output log/7/curl3004.out --include --trace-ascii log/7/trace3004 --trace-time smtp://127.0.0.1:33449/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/7/stdout3004 2> log/7/stderr3004 3004: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 3004 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3004 ../src/curl -q --output log/7/curl3004.out --include --trace-ascii log/7/trace3004 --trace-time smtp://127.0.0.1:33449/3004 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/7/stdout3004 2> log/7/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 19:29:14.827198 ====> Client connect 19:29:14.827399 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.827793 < "EHLO verifiedserver" 19:29:14.827853 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:14.832147 < "HELP" 19:29:14.832230 > "214 WE ROOLZ: 127841[CR][LF]" 19:29:14.832256 return proof we are we 19:29:14.832635 < "QUIT" 19:29:14.832690 > "221 curl ESMTP server signing off[CR][LF]" 19:29:14.834157 MAIN sockfilt said DISC 19:29:14.834199 ====> Client disconnected 19:29:14.834294 Awaiting input === EndCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3005 ../src/curl -q --output log/3/curl3005.out --include --trace-ascii log/3/trace3005 --trace-time smtp://127.0.0.1:38593/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/3/stdout3005 2> log/3/stderr3005 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3008 ../src/curl -q --trace-ascii log/18/trace3008 --trace-time http://127.0.0.1:43739/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3008 2> log/18/stderr3008 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3002 ../src/curl -q --output log/16/curl3002.out --include --trace-ascii log/16/trace3002 --trace-time smtp://127.0.0.1:33205/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/16/stdout3002 2> log/16/stderr3002 of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:15.429362 ====> Client connect 19:29:15.429738 Received DATA (on stdin) 19:29:15.429758 > 146 bytes data, server => client 19:29:15.429771 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:15.429781 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:15.429791 '220 \___|\___/|_| \_\_____|\r\n' 19:29:15.429928 < 21 bytes data, client => server 19:29:15.429946 'EHLO verifiedserver\r\n' 19:29:15.430177 Received DATA (on stdin) 19:29:15.430190 > 53 bytes data, server => client 19:29:15.430200 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:15.430272 < 6 bytes data, client => server 19:29:15.430286 'HELP\r\n' 19:29:15.434585 Received DATA (on stdin) 19:29:15.434608 > 22 bytes data, server => client 19:29:15.434620 '214 WE ROOLZ: 127841\r\n' 19:29:15.434812 < 6 bytes data, client => server 19:29:15.434832 'QUIT\r\n' 19:29:15.435012 Received DATA (on stdin) 19:29:15.435026 > 35 bytes data, server => client 19:29:15.435038 '221 curl ESMTP server signing off\r\n' 19:29:15.436408 ====> Client disconnect 19:29:15.436619 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3004 From: different To: another body === End of file stdin-for-3004 === Start of file valgrind3004 ==185568== ==185568== Process terminating with default action of signal 4 (SIGILL) ==185568== Illegal opcode at address 0x492B75F ==185568== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185568== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185568== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185568== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185568== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185568== by 0x49908EB: curl_version_info (version.c:600) ==185568== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185568== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185568== by 0x4003269: main (tool_main.c:195) === End of file valgrind3004 test 3005 [SMTP invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3005 ../src/curl -q --output log/3/curl3005.out --include --trace-ascii log/3/trace3005 --trace-time smtp://127.0.0.1:38593/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/3/stdout3005 2> log/3/stderr3005 3005: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 3005 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3005 ../src/curl -q --output log/3/curl3005.out --include --trace-ascii log/3/trace3005 --trace-time smtp://127.0.0.1:38593/3005 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/3/stdout3005 2> log/3/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 19:29:14.815371 ====> Client connect 19:29:14.815667 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.819193 < "EHLO verifiedserver" 19:29:14.819264 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:14.819491 < "HELP" 19:29:14.819531 > "214 WE ROOLZ: 127734[CR][LF]" 19:29:14.819548 return proof we are we 19:29:14.819827 < "QUIT" 19:29:14.819864 > "221 curl ESMTP server signing off[CR][LF]" 19:29:14.821276 MAIN sockfilt said DISC 19:29:14.821313 ====> Client disconnected 19:29:14.821397 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:14.415977 ====> Client connect 19:29:14.420972 Received DATA (on stdin) 19:29:14.421031 > 146 bytes data, server => client 19:29:14.421047 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:14.421059 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:14.421068 '220 \___|\___/|_| \_\_____|\r\n' 19:29:14.421263 < 21 bytes data, client => server 19:29:14.421282 'EHLO verifiedserver\r\n' 19:29:14.421583 Received DATA (on stdin) 19:29:14.421597 > 53 bytes data, server => client 19:29:14.421607 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:14.421684 < 6 bytes data, client => server 19:29:14.421696 'HELP\r\n' 19:29:14.421858 Received DATA (on stdin) 19:29:14.421870 > 22 bytes data, server => client 19:29:14.421880 '214 WE ROOLZ: 127734\r\n' 19:29:14.422029 < 6 bytes data, client => server 19:29:14.422043 'QUIT\r\n' 19:29:14.422174 Received DATA (on stdin) 19:29:14.422184 > 35 bytes data, server => client 19:29:14.422194 '221 curl ESMTP server signing off\r\n' 19:29:14.423532 ====> Client disconnect 19:29:14.423710 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3005 From: different To: another body === End of file stdin-for-3005 === Start of file valgrind3005 ==185552== ==185552== Process terminating with default action of signal 4 (SIGILL) ==185552== Illegal opcode at address 0x492B75F ==185552== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185552== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185552== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185552== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185552== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185552== by 0x49908EB: curl_version_info (version.c:600) ==185552== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185552== by 0x4003269: main (tool_main.c:195) === End of file valgrind3005 test 3008 [--output-dir] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3008 ../src/curl -q --trace-ascii log/18/trace3008 --trace-time http://127.0.0.1:43739/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3008 2> log/18/stderr3008 3008: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 3008 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3008 ../src/curl -q --trace-ascii log/18/trace3008 --trace-time http://127.0.0.1:43739/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/18 > log/18/stdout3008 2> log/18/stderr3008 === End of file commands.log === Start of file http_server.log 19:29:15.913401 ====> Client connect 19:29:15.913438 accept_connection 3 returned 4 19:29:15.913463 Read 93 bytes 19:29:15.913474 Process 93 bytes request 19:29:15.913486 Got request: GET /verifiedserver HTTP/1.1 19:29:15.913496 Are-we-friendly question received 19:29:15.913526 Wrote request (93 bytes) input to log/18/server.input 19:29:15.913544 Identifying ourselves as friends 19:29:15.913612 Response sent (56 bytes) and written to log/18/server.response 19:29:15.913623 special request received, no persistency 19CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3006 ../src/curl -q --output log/24/curl3006.out --include --trace-ascii log/24/trace3006 --trace-time smtp://127.0.0.1:40147/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/24/stdout3006 2> log/24/stderr3006 :29:15.913631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 44372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 3008 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind3008 ==185859== ==185859== Process terminating with default action of signal 4 (SIGILL) ==185859== Illegal opcode at address 0x492B75F ==185859== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185859== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185859== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185859== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185859== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185859== by 0x49908EB: curl_version_info (version.c:600) ==185859== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185859== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185859== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185859== by 0x4003269: main (tool_main.c:195) === End of file valgrind3008 test 3002 [SMTP invalid (first) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3002 ../src/curl -q --output log/16/curl3002.out --include --trace-ascii log/16/trace3002 --trace-time smtp://127.0.0.1:33205/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/16/stdout3002 2> log/16/stderr3002 3002: protocol FAILED! There was no content at all in the file log/16/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/16/ directory after test 3002 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3002 ../src/curl -q --output log/16/curl3002.out --include --trace-ascii log/16/trace3002 --trace-time smtp://127.0.0.1:33205/3002 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt recipient.five@example.com --mail-from sender@example.com -T - log/16/stdout3002 2> log/16/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 19:29:14.692024 ====> Client connect 19:29:14.692271 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.692669 < "EHLO verifiedserver" 19:29:14.692719 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:14.692925 < "HELP" 19:29:14.692962 > "214 WE ROOLZ: 127808[CR][LF]" 19:29:14.692977 return proof we are we 19:29:14.693233 < "QUIT" 19:29:14.693264 > "221 curl ESMTP server signing off[CR][LF]" 19:29:14.695121 MAIN sockfilt said DISC 19:29:14.695155 ====> Client disconnected 19:29:14.695224 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:15.290970 ====> Client connect 19:29:15.294608 Received DATA (on stdin) 19:29:15.294633 > 146 bytes data, server => client 19:29:15.294644 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:15.294654 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:15.294664 '220 \___|\___/|_| \_\_____|\r\n' 19:29:15.294800 < 21 bytes data, client => server 19:29:15.294815 'EHLO verifiedserver\r\n' 19:29:15.295034 Received DATA (on stdin) 19:29:15.295045 > 53 bytes data, server => client 19:29:15.295056 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:15.295125 < 6 bytes data, client => server 19:29:15.295138 'HELP\r\n' 19:29:15.295286 Received DATA (on stdin) 19:29:15.295296 > 22 bytes data, server => client 19:29:15.295306 '214 WE ROOLZ: 127808\r\n' 19:29:15.295422 < 6 bytes data, client => server 19:29:15.295435 'QUIT\r\n' 19:29:15.295572 Received DATA (on stdin) 19:29:15.295583 > 35 bytes data, server => client 19:29:15.295593 '221 curl ESMTP server signing off\r\n' 19:29:15.296861 ====> Client disconnect 19:29:15.297533 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3002 From: different To: another body === End of file stdin-for-3002 === Start of file valgrind3002 ==185488== ==185488== Process terminating with default action of signal 4 (SIGILL) ==185488== Illegal opcode at address 0x492B75F ==185488== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185488== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185488== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185488== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185488== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185488== by 0x49908EB: curl_version_info (version.c:600) ==185488== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185488== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185488== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185488== by 0x4003269: main (tool_main.c:195) === End of file valgrind3002 test 3006 [SMTP invalid (all) --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3006 ../src/curl -q --output log/24/curl3006.out --include --trace-ascii log/24/trace3006 --trace-time smtp://127.0.0.1:40147/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/24/stdout3006 2> log/24/stderr3006 3006: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 3006 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3006 ../src/curl -q --output log/24/curl3006.out --include --trace-ascii log/24/trace3006 --trace-time smtp://127.0.0.1:40147/3006 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-rcpt invalid.two --mail-rcpt invalid.three --mail-rcpt invalid.four --mail-rcpt invalid.five --mail-from sender@example.com -T - log/24/stdout3006 2> log/24/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 19:29:14.972127 ====> Client connect 19:29:14.972347 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:14.975892 < "EHLO verifiedserver" 19:29:14.975944 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:14.976132 < "HELP" 19:29:14.976168 > "214 WE ROOLZ: 127811[CR][LF]" 19:29:14.976183 return proof we are we 19:29:14.976384 < "QCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3009 ../src/curl -q --trace-ascii log/1/trace3009 --trace-time http://127.0.0.1:38815/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/1/stdout3009 2> log/1/stderr3009 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3007 ../src/curl -q --output log/19/curl3007.out --include --trace-ascii log/19/trace3007 --trace-time smtp://127.0.0.1:33719/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/19/stdout3007 2> log/19/stderr3007 UIT" 19:29:14.976412 > "221 curl ESMTP server signing off[CR][LF]" 19:29:14.977379 MAIN sockfilt said DISC 19:29:14.977405 ====> Client disconnected 19:29:14.977476 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:15.574305 ====> Client connect 19:29:15.574688 Received DATA (on stdin) 19:29:15.574707 > 146 bytes data, server => client 19:29:15.574719 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:15.574729 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:15.574738 '220 \___|\___/|_| \_\_____|\r\n' 19:29:15.578018 < 21 bytes data, client => server 19:29:15.578037 'EHLO verifiedserver\r\n' 19:29:15.578260 Received DATA (on stdin) 19:29:15.578271 > 53 bytes data, server => client 19:29:15.578282 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:15.578342 < 6 bytes data, client => server 19:29:15.578353 'HELP\r\n' 19:29:15.578493 Received DATA (on stdin) 19:29:15.578503 > 22 bytes data, server => client 19:29:15.578512 '214 WE ROOLZ: 127811\r\n' 19:29:15.578605 < 6 bytes data, client => server 19:29:15.578616 'QUIT\r\n' 19:29:15.578723 Received DATA (on stdin) 19:29:15.578732 > 35 bytes data, server => client 19:29:15.578742 '221 curl ESMTP server signing off\r\n' 19:29:15.579644 ====> Client disconnect 19:29:15.579785 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3006 From: different To: another body === End of file stdin-for-3006 === Start of file valgrind3006 ==185695== ==185695== Process terminating with default action of signal 4 (SIGILL) ==185695== Illegal opcode at address 0x492B75F ==185695== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185695== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185695== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185695== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185695== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185695== by 0x49908EB: curl_version_info (version.c:600) ==185695== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185695== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185695== by 0x4003269: main (tool_main.c:195) === End of file valgrind3006 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 50063 --port2 51121 --nghttpx "nghttpx" --pidfile "log/11/server/http_v2_server.pid" --logfile "log/11/http_v2_server.log" --logdir "log/11" --connect 127.0.0.1:40989 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 2402 SKIPPED: failed starting HTTP/2 server startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 48895 --port2 40089 --nghttpx "nghttpx" --pidfile "log/8/server/http_v2_server.pid" --logfile "log/8/http_v2_server.log" --logdir "log/8" --connect 127.0.0.1:44467 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 3009 [--output-dir a non-existing directory] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3009 ../src/curl -q --trace-ascii log/1/trace3009 --trace-time http://127.0.0.1:38815/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/1/stdout3009 2> log/1/stderr3009 3009: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 3009 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3009 ../src/curl -q --trace-ascii log/1/trace3009 --trace-time http://127.0.0.1:38815/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/1/stdout3009 2> log/1/stderr3009 === End of file commands.log === Start of file http_server.log 19:29:15.914409 ====> Client connect 19:29:15.914451 accept_connection 3 returned 4 19:29:15.914604 Read 93 bytes 19:29:15.914618 Process 93 bytes request 19:29:15.914629 Got request: GET /verifiedserver HTTP/1.1 19:29:15.914638 Are-we-friendly question received 19:29:15.914669 Wrote request (93 bytes) input to log/1/server.input 19:29:15.914686 Identifying ourselves as friends 19:29:15.914749 Response sent (56 bytes) and written to log/1/server.response 19:29:15.914759 special request received, no persistency 19:29:15.914767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 43458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 3009 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind3009 ==185857== ==185857== Process terminating with default action of signal 4 (SIGILL) ==185857== Illegal opcode at address 0x492B75F ==185857== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185857== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185857== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185857== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185857== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185857== by 0x49908EB: curl_version_info (version.c:600) ==185857== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185857== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185857== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185857== by 0x4003269: main (tool_main.c:195) === End of file valgrind3009 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 57037 --port2 47001 --nghttpx "nghttpx" --pidfile "log/14/server/http_v2_server.pid" --logfile "log/14/http_v2_server.log" --logdir "log/14" --connect 127.0.0.1:45467 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 3007 [SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3007 ../src/curl -q --output log/19/curl3007.out --include --trace-ascii log/19/trace3007 --trace-time smtp://127.0.0.1:33719/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/19/stdout3007 2> log/19/stderr3007 3007: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 3007 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3007 ../src/curl -q --output log/19/curl3007.out --include --trace-ascii log/19/trace3007 --trace-time smtp://127.0.0.1:33719/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/19/stdout3007 2> log/19/stderr3007 === End of file commands.log === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 19:29:15.323976 ====> Client connect 19:29:15.324147 > "220- _ _ ____ _[CRCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3011 ../src/curl -q --trace-ascii log/6/trace3011 --trace-time http://127.0.0.1:33935/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/6/tmp --create-dirs > log/6/stdout3011 2> log/6/stderr3011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3014 ../src/curl -q --include --trace-ascii log/13/trace3014 --trace-time http://127.0.0.1:38821/3014 --write-out '%{num_headers}' > log/13/stdout3014 2> log/13/stderr3014 ][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:15.324484 < "EHLO verifiedserver" 19:29:15.324537 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:15.324755 < "HELP" 19:29:15.324797 > "214 WE ROOLZ: 127656[CR][LF]" 19:29:15.324818 return proof we are we 19:29:15.325058 < "QUIT" 19:29:15.325092 > "221 curl ESMTP server signing off[CR][LF]" 19:29:15.326347 MAIN sockfilt said DISC 19:29:15.326381 ====> Client disconnected 19:29:15.326454 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:15.926182 ====> Client connect 19:29:15.926486 Received DATA (on stdin) 19:29:15.926504 > 146 bytes data, server => client 19:29:15.926517 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:15.926527 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:15.926536 '220 \___|\___/|_| \_\_____|\r\n' 19:29:15.926629 < 21 bytes data, client => server 19:29:15.926645 'EHLO verifiedserver\r\n' 19:29:15.926863 Received DATA (on stdin) 19:29:15.926877 > 53 bytes data, server => client 19:29:15.926888 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:15.926954 < 6 bytes data, client => server 19:29:15.926970 'HELP\r\n' 19:29:15.927137 Received DATA (on stdin) 19:29:15.927150 > 22 bytes data, server => client 19:29:15.927160 '214 WE ROOLZ: 127656\r\n' 19:29:15.927271 < 6 bytes data, client => server 19:29:15.927287 'QUIT\r\n' 19:29:15.927414 Received DATA (on stdin) 19:29:15.927426 > 35 bytes data, server => client 19:29:15.927437 '221 curl ESMTP server signing off\r\n' 19:29:15.928609 ====> Client disconnect 19:29:15.928781 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3007 From: different To: another body === End of file stdin-for-3007 === Start of file valgrind3007 ==185878== ==185878== Process terminating with default action of signal 4 (SIGILL) ==185878== Illegal opcode at address 0x492B75F ==185878== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185878== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185878== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185878== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185878== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185878== by 0x49908EB: curl_version_info (version.c:600) ==185878== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185878== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185878== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185878== by 0x4003269: main (tool_main.c:195) === End of file valgrind3007 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 54235 --port2 60189 --nghttpx "nghttpx" --pidfile "log/5/server/http_v2_server.pid" --logfile "log/5/http_v2_server.log" --logdir "log/5" --connect 127.0.0.1:37089 startnew: child process has died, server might start up RUN: failed to start the HTTP/2 server test 3011 [--output-dir with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3011 ../src/curl -q --trace-ascii log/6/trace3011 --trace-time http://127.0.0.1:33935/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/6/tmp --create-dirs > log/6/stdout3011 2> log/6/stderr3011 3011: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 3011 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3011 ../src/curl -q --trace-ascii log/6/trace3011 --trace-time http://127.0.0.1:33935/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/6/tmp --create-dirs > log/6/stdout3011 2> log/6/stderr3011 === End of file commands.log === Start of file http_server.log 19:29:15.001043 ====> Client connect 19:29:15.001112 accept_connection 3 returned 4 19:29:15.001138 Read 93 bytes 19:29:15.001147 Process 93 bytes request 19:29:15.001161 Got request: GET /verifiedserver HTTP/1.1 19:29:15.001169 Are-we-friendly question received 19:29:15.001195 Wrote request (93 bytes) input to log/6/server.input 19:29:15.001211 Identifying ourselves as friends 19:29:15.001288 Response sent (56 bytes) and written to log/6/server.response 19:29:15.001297 special request received, no persistency 19:29:15.001305 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 58858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 3011 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind3011 ==185964== ==185964== Process terminating with default action of signal 4 (SIGILL) ==185964== Illegal opcode at address 0x492B75F ==185964== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==185964== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==185964== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==185964== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==185964== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==185964== by 0x49908EB: curl_version_info (version.c:600) ==185964== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==185964== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==185964== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==185964== by 0x4003269: main (tool_main.c:195) === End of file valgrind3011 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3012 ../src/curl -q --trace-ascii log/20/trace3012 --trace-time http://127.0.0.1:41689/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/20 > log/20/stdout3012 2> log/20/stderr3012 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3013 ../src/curl -q --trace-ascii log/17/trace3013 --trace-time http://127.0.0.1:35993/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/17 http://127.0.0.1:35993/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/17 > log/17/stdout3013 2> log/17/stderr3013 test 3014 [Check if %{num_headers} returns correct number of headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3014 ../src/curl -q --include --trace-ascii log/13/trace3014 --trace-time http://127.0.0.1:38821/3014 --write-out '%{num_headers}' > log/13/stdout3014 2> log/13/stderr3014 3014: stdout FAILED: --- log/13/check-expected 2026-10-15 19:29:17.612452555 +0000 +++ log/13/check-generated 2026-10-15 19:29:17.609168475 +0000 @@ -1,8 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 9[LF] -Connection: close[LF] -Content-Type: text/plain[LF] -[LF] -testdata[LF] -4 == Contents of files in the log/13/ directory after test 3014 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 9[LF] Connection: close[LF] Content-Type: text/plain[LF] [LF] testdata[LF] 4 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3014 ../src/curl -q --include --trace-ascii log/13/trace3014 --trace-time http://127.0.0.1:38821/3014 --write-out '%{num_headers}' > log/13/stdout3014 2> log/13/stderr3014 === End of file commands.log === Start of file http_server.log 19:29:15.229019 ====> Client connect 19:29:15.229054 accept_connection 3 returned 4 19:29:15.229075 Read 93 bytes 19:29:15.229084 Process 93 bytes request 19:29:15.229098 Got request: GET /verifiedserver HTTP/1.1 19:29:15.229106 Are-we-friendly question received 19:29:15.229135 Wrote request (93 bytes) input to log/13/server.input 19:29:15.229152 Identifying ourselves as friends 19:29:15.229225 Response sent (56 bytes) and written to log/13/server.response 19:29:15.229234 special request received, no persistency 19:29:15.229242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38821... * Established connection to 127.0.0.1 (127.0.0.1 port 38821) from 127.0.0.1 port 38304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38821 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38821 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79032 === End of file http_verify.out === Start of file server.cmd Testnum 3014 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79032 === End of file server.response === Start of file valgrind3014 ==186201== ==186201== Process terminating with default action of signal 4 (SIGILL) ==186201== Illegal opcode at address 0x492B75F ==186201== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186201== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186201== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186201== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186201== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186201== by 0x49908EB: curl_version_info (version.c:600) ==186201== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186201== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186201== by 0x4003269: main (tool_main.c:195) === End of file valgrind3014 test 3012 [--output-dir with -J and -R] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3012 ../src/curl -q --trace-ascii log/20/trace3012 --trace-time http://127.0.0.1:41689/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/20 > log/20/stdout3012 2> log/20/stderr3012 3012: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3012 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3012 ../src/curl -q --trace-ascii log/20/trace3012 --trace-time http://127.0.0.1:41689/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/20 > log/20/stdout3012 2> log/20/stderr3012 === End of file commands.log === Start of file http_server.log 19:29:15.096358 ====> Client connect 19:29:15.096390 accept_connection 3 returned 4 19:29:15.096412 Read 93 bytes 19:29:15.096422 Process 93 bytes request 19:29:15.096434 Got request: GET /verifiedserver HTTP/1.1 19:29:15.096443 Are-we-friendly question received 19:29:15.096475 Wrote request (93 bytes) input to log/20/server.input 19:29:15.096492 Identifying ourselves as friends 19:29:15.096556 Response sent (57 bytes) and written to log/20/server.response 19:29:15.096566 special request received, no persistency 19:29:15.096574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 39682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 3012 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind3012 ==186059== ==186059== Process terminating with default action of signal 4 (SIGILL) ==186059== Illegal opcode at address 0x492B75F ==186059== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186059== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186059== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186059== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186059== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186059== by 0x49908EB: curl_version_info (version.c:600) ==186059== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186059== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186059== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186059== by 0x4003269: main (tool_main.c:195) === End of file valgrind3012 test 3013 [Two --output-dir with --next in between] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3013 ../src/curl -q --trace-ascii log/17/trace3013 --trace-time http://127.0.0.1:35993/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/17 http://127.0.0.1:35993/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/17 > log/17/stdout3013 2> log/17/stderr3013 3013: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 3013 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3013 ../src/curl -q --trace-ascii log/17/trace3013 --trace-time http://127.0.0.1:35993/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/17 http://127.0.0.1:35993/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/17 > log/17/stdout3013 2> log/17/stderr3013 === End of file commands.log === Start of CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3015 ../src/curl -q --include --trace-ascii log/23/trace3015 --trace-time http://127.0.0.1:44711/3015 -w "%{num_headers}\n" -L -o/dev/null > log/23/stdout3015 2> log/23/stderr3015 file http_server.log 19:29:16.221030 ====> Client connect 19:29:16.221081 accept_connection 3 returned 4 19:29:16.221109 Read 93 bytes 19:29:16.221119 Process 93 bytes request 19:29:16.221134 Got request: GET /verifiedserver HTTP/1.1 19:29:16.221143 Are-we-friendly question received 19:29:16.221173 Wrote request (93 bytes) input to log/17/server.input 19:29:16.221191 Identifying ourselves as friends 19:29:16.221276 Response sent (56 bytes) and written to log/17/server.response 19:29:16.221288 special request received, no persistency 19:29:16.221297 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 3013 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind3013 ==186207== ==186207== Process terminating with default action of signal 4 (SIGILL) ==186207== Illegal opcode at address 0x492B75F ==186207== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186207== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186207== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186207== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186207== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186207== by 0x49908EB: curl_version_info (version.c:600) ==186207== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186207== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186207== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186207== by 0x4003269: main (tool_main.c:195) === End of file valgrind3013 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3016 ../src/curl -q --output log/10/curl3016.out --include --trace-ascii log/10/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/10/stdout3016 2> log/10/stderr3016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34531/3025 > log/2/stdout3025 2> log/2/stderr3025 test 3015 [HTTP GET -w num_headers with redirected fetch (2 connects)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3015 ../src/curl -q --include --trace-ascii log/23/trace3015 --trace-time http://127.0.0.1:44711/3015 -w "%{num_headers}\n" -L -o/dev/null > log/23/stdout3015 2> log/23/stderr3015 3015: stdout FAILED: --- log/23/check-expected 2026-10-15 19:29:17.879329699 +0000 +++ log/23/check-generated 2026-10-15 19:29:17.877991147 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/23/ directory after test 3015 === Start of file check-expected 4[CR][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3015 ../src/curl -q --include --trace-ascii log/23/trace3015 --trace-time http://127.0.0.1:44711/3015 -w "%{num_headers}\n" -L -o/dev/null > log/23/stdout3015 2> log/23/stderr3015 === End of file commands.log === Start of file http_server.log 19:29:15.303922 ====> Client connect 19:29:15.303956 accept_connection 3 returned 4 19:29:15.304098 Read 93 bytes 19:29:15.304110 Process 93 bytes request 19:29:15.304123 Got request: GET /verifiedserver HTTP/1.1 19:29:15.304132 Are-we-friendly question received 19:29:15.304295 Wrote request (93 bytes) input to log/23/server.input 19:29:15.304315 Identifying ourselves as friends 19:29:15.304375 Response sent (56 bytes) and written to log/23/server.response 19:29:15.304384 special request received, no persistency 19:29:15.304392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 34000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 3015 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind3015 ==186275== ==186275== Process terminating with default action of signal 4 (SIGILL) ==186275== Illegal opcode at address 0x492B75F ==186275== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186275== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186275== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186275== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186275== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186275== by 0x49908EB: curl_version_info (version.c:600) ==186275== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186275== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186275== by 0x4003269: main (tool_main.c:195) === End of file valgrind3015 test 3016 [Get current directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3016 ../src/curl -q --output log/10/curl3016.out --include --trace-ascii log/10/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/10/stdout3016 2> log/10/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/10/ directory after test 3016 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3016 ../src/curl -q --output log/10/curl3016.out --include --trace-ascii log/10/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/10/stdout3016 2> log/10/stderr3016 === End of file commands.log === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==186346== ==186346== Process terminating with default action of signal 4 (SIGILL) ==186346== Illegal opcode at address 0x492B75F ==186346== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186346== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186346== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186346== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186346== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186346== by 0x49908EB: curl_version_info (version.c:600) ==186346== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186346== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186346== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186346== by 0x4003269: main (tool_main.c:195) === End of file valgrind3016 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3026 ./libtest/libtests lib3026 - > log/4/stdout3026 2> log/4/stderr3026 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3019 ../src/curl -q --output log/12/curl3019.out --include --trace-ascii log/12/trace3019 --trace-time --resolve 40921:example.com:127.0.0.1 http://example.com:40921/3019 > log/12/stdout3019 2> log/12/stderr3019 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3017 ../src/curl -q --output log/15/curl3017.out --include --trace log/15/trace3017 --trace-time mqtt://127.0.0.1:33583/3017 -m 3 > log/15/stdout3017 2> log/15/stderr3017 test 3025 [CURLOPT_HTTP200ALIASES] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34531/3025 > log/2/stdout3025 2> log/2/stderr3025 3025: data FAILED: --- log/2/check-expected 2026-10-15 19:29:18.112856407 +0000 +++ log/2/check-generated 2026-10-15 19:29:18.109161477 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/2/ directory after test 3025 === Start of file check-expected ICY 200 OK[LF] Content-Length: 7[LF] [LF] MooMoo[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:34531/3025 > log/2/stdout3025 2> log/2/stderr3025 === End of file commands.log === Start of file http_server.log 19:29:17.465870 ====> Client connect 19:29:17.465907 accept_connection 3 returned 4 19:29:17.466061 Read 93 bytes 19:29:17.466076 Process 93 bytes request 19:29:17.466089 Got request: GET /verifiedserver HTTP/1.1 19:29:17.466098 Are-we-friendly question received 19:29:17.466159 Wrote request (93 bytes) input to log/2/server.input 19:29:17.466179 Identifying ourselves as friends 19:29:17.466248 Response sent (56 bytes) and written to log/2/server.response 19:29:17.466258 special request received, no persistency 19:29:17.466266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 3025 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind3025 ==186673== ==186673== Process terminating with default action of signal 4 (SIGILL) ==186673== Illegal opcode at address 0x51CC63F ==186673== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==186673== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==186673== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==186673== by 0x40041AF: main (first.c:264) === End of file valgrind3025 test 3026 [curl_global_init thread-safety] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3026 ./libtest/libtests lib3026 - > log/4/stdout3026 2> log/4/stderr3026 libtests returned 132, when expecting 0 3026: exit FAILED == Contents of files in the log/4/ directory after test 3026 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3026 ./libtest/libtests lib3026 - > log/4/stdout3026 2> log/4/stderr3026 === End of file commands.log === Start of file server.cmd Testnum 3026 === End of file server.cmd === Start of file valgrind3026 ==186693== ==186693== Process terminating with default action of signal 4 (SIGILL) ==186693== Illegal opcode at address 0x51CC63F ==186693== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==186693== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==186693== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==186693== by 0x40041AF: main (first.c:264) === End of file valgrind3026 test 3019 [HTTP with invalid --resolve syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3019 ../src/curl -q --output log/12/curl3019.out --include --trace-ascii log/12/trace3019 --trace-time --resolve 40921:example.com:127.0.0.1 http://example.com:40921/3019 > log/12/stdout3019 2> log/12/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/12/ directory after test 3019 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3019 ../src/curl -q --output log/12/curl3019.out --include --trace-ascii log/12/trace3019 --trace-time --resolve 40921:example.com:127.0.0.1 http://example.com:40921/3019 > log/12/stdout3019 2> log/12/stderr3019 === End of file commands.log === Start of file http_server.log 19:29:16.131194 ====> Client connect 19:29:16.131235 accept_connection 3 returned 4 19:29:16.131260 Read 93 bytes 19:29:16.131270 Process 93 bytes request 19:29:16.131284 Got request: GET /verifiedserver HTTP/1.1 19:29:16.131292 Are-we-friendly question received 19:29:16.131319 Wrote request (93 bytes) input to log/12/server.input 19:29:16.131336 Identifying ourselves as friends 19:29:16.131402 Response sent (56 bytes) and written to log/12/server.response 19:29:16.131413 special request received, no persistency 19:29:16.131421 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 3019 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind3019 ==186552== ==186552== Process terminating with default action of signal 4 (SIGILL) ==186552== Illegal opcode at address 0x492B75F ==186552== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186552== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186552== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186552== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186552== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186552== by 0x49908EB: curl_version_info (version.c:600) ==186552== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186552== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186552== by 0x4003269: main (tool_main.c:195) === End of file valgrind3019 test 3017 [MQTT SUBSCRIBE with pathological PUBLISH length] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3017 ../src/curl -q --output log/15/curl3017.out --include --trace log/15/trace3017 --trace-time mqtt://127.0.0.1:33583/3017 -m 3 > log/15/stdout3017 2> log/15/stderr3017 3017: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 3017 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3017 ../src/curl -q --output log/15/curl3017.out --include --trace log/15/CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44283/3027 > log/7/stdout3027 2> log/7/stderr3027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:44467/3033 > log/8/stdout3033 2> log/8/stderr3033 trace3017 --trace-time mqtt://127.0.0.1:33583/3017 -m 3 > log/15/stdout3017 2> log/15/stderr3017 === End of file commands.log === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==186416== ==186416== Process terminating with default action of signal 4 (SIGILL) ==186416== Illegal opcode at address 0x492B75F ==186416== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186416== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186416== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186416== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186416== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186416== by 0x49908EB: curl_version_info (version.c:600) ==186416== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186416== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186416== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186416== by 0x4003269: main (tool_main.c:195) === End of file valgrind3017 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http3-server.pl --port 37239 --nghttpx "nghttpx" --pidfile "log/21/server/http_v3_server.pid" --logfile "log/21/http_v3_server.log" --logdir "log/21" --connect 127.0.0.1:39881 startnew: child process has died, server might start up RUN: failed to start the HTTP/3 server test 2502 SKIPPED: failed starting HTTP/3 server test 3027 [Get a file via FTP but 550 after MDTM command] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44283/3027 > log/7/stdout3027 2> log/7/stderr3027 3027: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 3027 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44283/3027 > log/7/stdout3027 2> log/7/stderr3027 === End of file commands.log === Start of file ftp_server.log 19:29:17.018498 ====> Client connect 19:29:17.018753 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:17.019101 < "USER anonymous" 19:29:17.019151 > "331 We are happy you popped in![CR][LF]" 19:29:17.019382 < "PASS ftp@example.com" 19:29:17.019418 > "230 Welcome you silly person[CR][LF]" 19:29:17.019594 < "PWD" 19:29:17.019635 > "257 "/" is current directory[CR][LF]" 19:29:17.019827 < "EPSV" 19:29:17.019858 ====> Passive DATA channel requested by client 19:29:17.019875 DATA sockfilt for passive data channel starting... 19:29:17.028921 DATA sockfilt for passive data channel started (pid 186773) 19:29:17.029066 DATA sockfilt for passive data channel listens on port 45741 19:29:17.029115 > "229 Entering Passive Mode (|||45741|)[CR][LF]" 19:29:17.029132 Client has been notified that upcoming DATA connection is awaited on port 45741 19:29:17.029451 Client connects to port 45741 19:29:17.029486 ====> Client established passive DATA connection on port 45741 19:29:17.029585 < "TYPE I" 19:29:17.029624 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:17.029803 < "SIZE verifiedserver" 19:29:17.029850 > "213 17[CR][LF]" 19:29:17.030019 < "RETR verifiedserver" 19:29:17.030058 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:17.030150 =====> Closing passive DATA connection... 19:29:17.030169 Server disconnects passive DATA connection 19:29:17.030399 Server disconnected passive DATA connection 19:29:17.030428 DATA sockfilt for passive data channel quits (pid 186773) 19:29:17.030702 DATA sockfilt for passive data channel quit (pid 186773) 19:29:17.030728 =====> Closed passive DATA connection 19:29:17.030757 > "226 File transfer complete[CR][LF]" 19:29:17.076502 < "QUIT" 19:29:17.076562 > "221 bye bye baby[CR][LF]" 19:29:17.077881 MAIN sockfilt said DISC 19:29:17.077925 ====> Client disconnected 19:29:17.078018 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:17.620695 ====> Client connect 19:29:17.621121 Received DATA (on stdin) 19:29:17.621144 > 146 bytes data, server => client 19:29:17.621156 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:17.621166 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:17.621176 '220 \___|\___/|_| \_\_____|\r\n' 19:29:17.621264 < 16 bytes data, client => server 19:29:17.621280 'USER anonymous\r\n' 19:29:17.621501 Received DATA (on stdin) 19:29:17.621514 > 33 bytes data, server => client 19:29:17.621525 '331 We are happy you popped in!\r\n' 19:29:17.621605 < 22 bytes data, client => server 19:29:17.621620 'PASS ftp@example.com\r\n' 19:29:17.621758 Received DATA (on stdin) 19:29:17.621769 > 30 bytes data, server => client 19:29:17.621779 '230 Welcome you silly person\r\n' 19:29:17.621835 < 5 bytes data, client => server 19:29:17.621848 'PWD\r\n' 19:29:17.621978 Received DATA (on stdin) 19:29:17.621990 > 30 bytes data, server => client 19:29:17.622001 '257 "/" is current directory\r\n' 19:29:17.622065 < 6 bytes data, client => server 19:29:17.622079 'EPSV\r\n' 19:29:17.631479 Received DATA (on stdin) 19:29:17.631497 > 39 bytes data, server => client 19:29:17.631506 '229 Entering Passive Mode (|||45741|)\r\n' 19:29:17.631700 < 8 bytes data, client => server 19:29:17.631715 'TYPE I\r\n' 19:29:17.631964 Received DATA (on stdin) 19:29:17.631975 > 33 bytes data, server => client 19:29:17.631985 '200 I modify TYPE as you wanted\r\n' 19:29:17.632048 < 21 bytes data, client => server 19:29:17.632058 'SIZE verifiedserver\r\n' 19:29:17.632188 Received DATA (on stdin) 19:29:17.632199 > 8 bytes data, server => client 19:29:17.632208 '213 17\r\n' 19:29:17.632266 < 21 bytes data, client => server 19:29:17.632278 'RETR verifiedserver\r\n' 19:29:17.632509 Received DATA (on stdin) 19:29:17.632520 > 29 bytes data, server => client 19:29:17.632530 '150 Binary junk (17 bytes).\r\n' 19:29:17.633098 Received DATA (on stdin) 19:29:17.633111 > 28 bytes data, server => client 19:29:17.633122 '226 File transfer complete\r\n' 19:29:17.678636 < 6 bytes data, client => server 19:29:17.678663 'QUIT\r\n' 19:29:17.678910 Received DATA (on stdin) 19:29:17.678924 > 18 bytes data, server => client 19:29:17.678934 '221 bye bye baby\r\n' 19:29:17.680158 ====> Client disconnect 19:29:17.680359 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:17.628545 Running IPv4 version 19:29:17.628689 Listening on port 45741 19:29:17.628736 Wrote pid 186773 to log/7/server/ftp_sockdata.pid 19:29:17.631179 Received PING (on stdin) 19:29:17.631299 Received PORT (on stdin) 19:29:17.631737 ====> Client connect 19:29:17.632560 Received DATA (on stdin) 19:29:17.632574 > 17 bytes data, server => client 19:29:17.632584 'WE ROOLZ: 84721\r\n' 19:29:17.632608 Received DISC (on stdin) 19:29:17.632619 ====> Client forcibly disconnected 19:29:17.632773 Received QUIT (on stdin) 19:29:17.632784 quits 19:29:17.632868 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY MDTM 550 Permission denied Testnum 3027 === End of file server.cmd === Start of file valgrind3027 ==186835== ==186835== Process terminating with default action of signal 4 (SIGILL) ==186835== Illegal opcode at address 0x51CC63F ==186835== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==186835== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==186835== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==186835== by 0x40041AF: main (first.c:264) === End of file valgrind3027 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3018 ../src/curl -q --output log/22/curl3018.out --include --trace log/22/trace3018 --trace-time mqtt://127.0.0.1:35527/3018 --max-filesize 11 > log/22/stdout3018 2> log/22/stderr3018 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3020 ../src/curl -q --output log/9/curl3020.out --include --trace-ascii log/9/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:43733/3020 > log/9/stdout3020 2> log/9/stderr3020 test 3033 [CURLOPT_FRESH_CONNECT=2] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:44467/3033 > log/8/stdout3033 2> log/8/stderr3033 3033: data FAILED: --- log/8/check-expected 2026-10-15 19:29:18.662959391 +0000 +++ log/8/check-generated 2026-10-15 19:29:18.659153399 +0000 @@ -1,6 +0,0 @@ -[0] no network change[LF] --foo-[LF] -[1] signal network change[LF] --foo-[LF] -[2] no network change[LF] --foo-[LF] == Contents of files in the log/8/ directory after test 3033 === Start of file check-expected [0] no network change[LF] -foo-[LF] [1] signal network change[LF] -foo-[LF] [2] no network change[LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:44467/3033 > log/8/stdout3033 2> log/8/stderr3033 === End of file commands.log === Start of file http_server.log 19:29:16.876825 ====> Client connect 19:29:16.876859 accept_connection 3 returned 4 19:29:16.876879 Read 93 bytes 19:29:16.876889 Process 93 bytes request 19:29:16.876901 Got request: GET /verifiedserver HTTP/1.1 19:29:16.876909 Are-we-friendly question received 19:29:16.876934 Wrote request (93 bytes) input to log/8/server.input 19:29:16.876951 Identifying ourselves as friends 19:29:16.877014 Response sent (56 bytes) and written to log/8/server.response 19:29:16.877024 special request received, no persistency 19:29:16.877033 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 38032 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 3033 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind3033 ==187014== ==187014== Process terminating with default action of signal 4 (SIGILL) ==187014== Illegal opcode at address 0x51CC63F ==187014== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187014== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187014== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187014== by 0x40041AF: main (first.c:264) === End of file valgrind3033 startnew: ./server/servers mqttd --port 0 --pidfile log/22/server/mqtt_server.pid --portfile log/22/server/mqtt_server.port --config log/22/server.cmd --logfile log/22/mqtt_server.log --logdir log/22 RUN: MQTT server is now running PID 186405 on PORT 35527 * pid mqtt => 186405 186405 test 3018 [MQTT SUBSCRIBE with PUBLISH larger than --max-filesize] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3018 ../src/curl -q --output log/22/curl3018.out --include --trace log/22/trace3018 --trace-time mqtt://127.0.0.1:35527/3018 --max-filesize 11 > log/22/stdout3018 2> log/22/stderr3018 3018: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 3018 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3018 ../src/curl -q --output log/22/curl3018.out --include --trace log/22/trace3018 --trace-time mqtt://127.0.0.1:35527/3018 --max-filesize 11 > log/22/stdout3018 2> log/22/stderr3018 === End of file commands.log === Start of file mqtt_server.log 19:29:15.579858 Running IPv4 version 19:29:15.579933 Listening on port 35527 19:29:15.579971 Wrote pid 186405 to log/22/server/mqtt_server.pid 19:29:15.580001 Wrote port 35527 to log/22/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==186738== ==186738== Process terminating with default action of signal 4 (SIGILL) ==186738== Illegal opcode at address 0x492B75F ==186738== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186738== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186738== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186738== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186738== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186738== by 0x49908EB: curl_version_info (version.c:600) ==186738== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186738== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186738== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186738== by 0x4003269: main (tool_main.c:195) === End of file valgrind3018 test 3020 [HTTP with invalid --connect-to syntax] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3020 ../src/curl -q --output log/9/curl3020.out --include --trace-ascii log/9/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:43733/3020 > log/9/stdout3020 2> log/9/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/9/ directory after test 3020 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3020 ../src/curl -q --output log/9/curl3020.out --include --trace-ascii log/9/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:43733/3020 > log/9/stdout3020 2> log/9/stderr3020 === End of file commands.log === Start of file http_server.log 19:29:16.101045 ====> Client connect 19:29:16.101085 accept_connection 3 returned 4 19:29:16.101109 Read 93 bytes 19:29:16.101120 Process 93 bytes request 19:29:16.101133 Got request: GET /verifiedserver HTTP/1.1 19:29:16.101141 Are-we-friendly question received 19:29:16.101169 Wrote request (93 bytes) input to log/9/server.input 19:29:16.101185 Identifying ourselves as friends 19:29:16.101257 Response sent (56 bytes) and written to log/9/server.response 19:29:16.101267 special request received, no persistency 19:29:16.101275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43733... * Established connection to 127.0.0.1 (127.0.0.1 port 43733) from 127.0.0.1 port 36628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43733 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43733 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79135 === End of file http_verify.out === Start of file server.cmd Testnum 3020 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79135 === End of file server.response === Start of file valgrind3020 ==186545== ==186545== Process terminating with default action of signal 4 (SIGILL) ==186545== Illegal opcode at address 0x492B75F ==186545== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186545== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186545== by 0x492B67B: cCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38815/3034 > log/1/stdout3034 2> log/1/stderr3034 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:41689/3101 > log/20/stdout3101 2> log/20/stderr3101 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3031 ../src/curl -q --output log/24/curl3031.out --include --trace-ascii log/24/trace3031 --trace-time http://127.0.0.1:38895/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/24/tmp/out.txt --create-dirs > log/24/stdout3031 2> log/24/stderr3031 url_msnprintf (mprintf.c:1277) ==186545== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186545== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186545== by 0x49908EB: curl_version_info (version.c:600) ==186545== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186545== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186545== by 0x4003269: main (tool_main.c:195) === End of file valgrind3020 test 3034 [Test reset resolves rewind failure] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38815/3034 > log/1/stdout3034 2> log/1/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/1/ directory after test 3034 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:38815/3034 > log/1/stdout3034 2> log/1/stderr3034 === End of file commands.log === Start of file http_server.log 19:29:17.905845 ====> Client connect 19:29:17.905879 accept_connection 3 returned 4 19:29:17.905900 Read 93 bytes 19:29:17.905908 Process 93 bytes request 19:29:17.905921 Got request: GET /verifiedserver HTTP/1.1 19:29:17.905929 Are-we-friendly question received 19:29:17.905955 Wrote request (93 bytes) input to log/1/server.input 19:29:17.905971 Identifying ourselves as friends 19:29:17.906031 Response sent (56 bytes) and written to log/1/server.response 19:29:17.906040 special request received, no persistency 19:29:17.906047 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38815... * Established connection to 127.0.0.1 (127.0.0.1 port 38815) from 127.0.0.1 port 43468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38815 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38815 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79446 === End of file http_verify.out === Start of file server.cmd Testnum 3034 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79446 === End of file server.response === Start of file valgrind3034 ==187063== ==187063== Process terminating with default action of signal 4 (SIGILL) ==187063== Illegal opcode at address 0x51CC63F ==187063== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187063== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187063== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187063== by 0x40041AF: main (first.c:264) === End of file valgrind3034 test 3101 [HTTP auth without redirection protocols] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:41689/3101 > log/20/stdout3101 2> log/20/stderr3101 3101: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3101 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:41689/3101 > log/20/stdout3101 2> log/20/stderr3101 === End of file commands.log === Start of file http_server.log 19:29:17.308509 ====> Client connect 19:29:17.308542 accept_connection 3 returned 4 19:29:17.308706 Read 93 bytes 19:29:17.308721 Process 93 bytes request 19:29:17.308733 Got request: GET /verifiedserver HTTP/1.1 19:29:17.308743 Are-we-friendly question received 19:29:17.308779 Wrote request (93 bytes) input to log/20/server.input 19:29:17.308799 Identifying ourselves as friends 19:29:17.308866 Response sent (57 bytes) and written to log/20/server.response 19:29:17.308877 special request received, no persistency 19:29:17.308885 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 39698 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 3101 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file valgrind3101 ==187522== ==187522== Process terminating with default action of signal 4 (SIGILL) ==187522== Illegal opcode at address 0x51CC63F ==187522== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187522== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187522== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187522== by 0x40041AF: main (first.c:264) === End of file valgrind3101 test 3031 [--dump-header with --create-dirs] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3031 ../src/curl -q --output log/24/curl3031.out --include --trace-ascii log/24/trace3031 --trace-time http://127.0.0.1:38895/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/24/tmp/out.txt --create-dirs > log/24/stdout3031 2> log/24/stderr3031 3031: protocol FAILED! There was no content at all in the file log/24/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/24/ directory after test 3031 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3031 ../src/curl -q --output log/24/curl3031.out --include --trace-ascii log/24/trace3031 --trace-time http://127.0.0.1:38895/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/24/tmp/out.txt --create-dirs > log/24/stdout3031 2> log/24/stderr3031 === End of file commands.log === Start of file http_server.log 19:29:16.860364 ====> Client connect 19:29:16.860397 accept_connection 3 returned 4 19:29:16.860499 Read 93 bytes 19:29:16.860512 Process 93 bytes request 19:29:16.860525 Got request: GET /verifiedserver HTTP/1.1 19:29:16.860534 Are-we-friendly question received 19:29:16.860563 Wrote request (93 bytes) input to log/24/server.input 19:29:16.860579 Identifying ourselves as friends 19:29:16.860638 Response sent (56 bytes) and written to log/24/server.response 19:29:16.860647 special request received, no persistency 19:29:16.860655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38895... * Established connection to 127.0.0.1 (127.0.0.1 port 38895) from 127.0.0.1 port 33058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38895 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38895 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78982 === End of file http_verify.out === Start of file server.cmd Testnum 3031 === End of file serCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3200 ./unit/units unit3200 log/4/curl_get_line3200 > log/4/stdout3200 2> log/4/stderr3200 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:35993/3103 > log/17/stdout3103 2> log/17/stderr3103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3029 ../src/curl -q --output log/18/curl3029.out --include --trace-ascii log/18/trace3029 --trace-time -D log/18/heads3029 http://127.0.0.1:43739/3029 http://127.0.0.1:43739/3029 --next -D log/18/heads3029 http://127.0.0.1:43739/3029 > log/18/stdout3029 2> log/18/stderr3029 ver.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78982 === End of file server.response === Start of file valgrind3031 ==186978== ==186978== Process terminating with default action of signal 4 (SIGILL) ==186978== Illegal opcode at address 0x492B75F ==186978== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186978== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186978== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186978== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186978== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186978== by 0x49908EB: curl_version_info (version.c:600) ==186978== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186978== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186978== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186978== by 0x4003269: main (tool_main.c:195) === End of file valgrind3031 test 3200 [curl_get_line unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3200 ./unit/units unit3200 log/4/curl_get_line3200 > log/4/stdout3200 2> log/4/stderr3200 units returned 132, when expecting 0 3200: exit FAILED == Contents of files in the log/4/ directory after test 3200 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3200 ./unit/units unit3200 log/4/curl_get_line3200 > log/4/stdout3200 2> log/4/stderr3200 === End of file commands.log === Start of file server.cmd Testnum 3200 === End of file server.cmd === Start of file valgrind3200 ==187953== ==187953== Process terminating with default action of signal 4 (SIGILL) ==187953== Illegal opcode at address 0x4091F7F ==187953== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==187953== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==187953== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==187953== by 0x400B1A9: main (first.c:264) === End of file valgrind3200 test 3103 [CURLOPT_COOKIELIST without expiry] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:35993/3103 > log/17/stdout3103 2> log/17/stderr3103 3103: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/17/ directory after test 3103 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:35993/3103 > log/17/stdout3103 2> log/17/stderr3103 === End of file commands.log === Start of file http_server.log 19:29:18.511067 ====> Client connect 19:29:18.511117 accept_connection 3 returned 4 19:29:18.511147 Read 93 bytes 19:29:18.511159 Process 93 bytes request 19:29:18.511172 Got request: GET /verifiedserver HTTP/1.1 19:29:18.511182 Are-we-friendly question received 19:29:18.511216 Wrote request (93 bytes) input to log/17/server.input 19:29:18.511239 Identifying ourselves as friends 19:29:18.511356 Response sent (56 bytes) and written to log/17/server.response 19:29:18.511369 special request received, no persistency 19:29:18.511378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 3103 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file valgrind3103 ==187712== ==187712== Process terminating with default action of signal 4 (SIGILL) ==187712== Illegal opcode at address 0x51CC63F ==187712== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187712== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187712== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187712== by 0x40041AF: main (first.c:264) === End of file valgrind3103 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3032 ../src/curl -q --output log/11/curl3032.out --include --trace-ascii log/11/trace3032 --trace-time --location http://127.0.0.1:40989/3032 > log/11/stdout3032 2> log/11/stderr3032 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3107 ./libtest/libtests lib3107 http://127.0.0.1:34531/3107 > log/2/stdout3107 2> log/2/stderr3107 test 3029 [HTTP with multiple -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3029 ../src/curl -q --output log/18/curl3029.out --include --trace-ascii log/18/trace3029 --trace-time -D log/18/heads3029 http://127.0.0.1:43739/3029 http://127.0.0.1:43739/3029 --next -D log/18/heads3029 http://127.0.0.1:43739/3029 > log/18/stdout3029 2> log/18/stderr3029 3029: data FAILED: --- log/18/check-expected 2026-10-15 19:29:19.422789797 +0000 +++ log/18/check-generated 2026-10-15 19:29:19.419141880 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/18/ directory after test 3029 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3029 ../src/curl -q --output log/18/curl3029.out --include --trace-ascii log/18/trace3029 --trace-time -D log/18/heads3029 http://127.0.0.1:43739/3029 http://127.0.0.1:43739/3029 --next -D log/18/heads3029 http://127.0.0.1:43739/3029 > log/18/stdout3029 2> log/18/stderr3029 === End of file commands.log === Start of file http_server.log 19:29:17.857242 ====> Client connect 19:29:17.857283 accept_connection 3 returned 4 19:29:17.857307 Read 93 bytes 19:29:17.857317 Process 93 bytes request 19:29:17.857330 Got request: GET /verifiedserver HTTP/1.1 19:29:17.857338 Are-we-friendly question received 19:29:17.857369 Wrote request (93 bytes) input to log/18/server.input 19:29:17.857387 Identifying ourselves as friends 19:29:17.857459 Response sent (56 bytes) and written to log/18/server.response 19:29:17.857471 special request received, no persistency 19:29:17.857480 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43739... * Established connection to 127.0.0.1 (127.0.0.1 port 43739) from 127.0.0.1 port 44380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43739 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43739 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78988 === End of file http_verify.out === Start of file server.cmd Testnum 3029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78988 === End of file server.response === Start of file valgrind3029 ==186989== ==186989== Process terminating with default action of signal 4 (SIGILL) ==186989== Illegal opcode at address 0x492B75F ==186989== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186989== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186989== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186989== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186989== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186989== by 0x49908EB: curl_version_info (version.c:600) ==186989== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186989== by 0x4003269: main (tool_main.c:195) === End of file valgrind3029 test 3032 [HTTP redirect loop 3x swsbounce test] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3032 ../src/curl -q --output log/11/curl3032.out --include --trace-ascii log/11/trace3032 --trace-time --location http://127.0.0.1:40989/3032 > log/11/stdout3032 2> log/11/stderr3032 3032: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 3032 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3032 ../src/curl -q --output log/11/curl3032.out --include --trace-ascii log/11/trace3032 --trace-time --location http://127.0.0.1:40989/3032 > log/11/stdout3032 2> log/11/stderr3032 === End of file commands.log === Start of file http_server.log 19:29:16.875885 ====> Client connect 19:29:16.876030 accept_connection 3 returned 4 19:29:16.876056 Read 93 bytes 19:29:16.876066 Process 93 bytes request 19:29:16.876080 Got request: GET /verifiedserver HTTP/1.1 19:29:16.876089 Are-we-friendly question received 19:29:16.876118 Wrote request (93 bytes) input to log/11/server.input 19:29:16.876135 Identifying ourselves as friends 19:29:16.876200 Response sent (56 bytes) and written to log/11/server.response 19:29:16.876212 special request received, no persistency 19:29:16.876221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40989... * Established connection to 127.0.0.1 (127.0.0.1 port 40989) from 127.0.0.1 port 40234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79065 === End of file http_verify.out === Start of file server.cmd Testnum 3032 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79065 === End of file server.response === Start of file valgrind3032 ==187035== ==187035== Process terminating with default action of signal 4 (SIGILL) ==187035== Illegal opcode at address 0x492B75F ==187035== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187035== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187035== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187035== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187035== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187035== by 0x49908EB: curl_version_info (version.c:600) ==187035== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187035== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187035== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187035== by 0x4003269: main (tool_main.c:195) === End of file valgrind3032 test 3107 [reject internal easy handle passed to a notify callback] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3107 ./libtest/libtests lib3107 http://127.0.0.1:34531/3107 > log/2/stdout3107 2> log/2/stderr3107 3107: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 3107 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3107 ./libtest/libtests lib3107 http://127.0.0.1:34531/3107 > log/2/stdout3107 2> log/2/stderr3107 === End of file commands.log === Start of file http_server.log 19:29:18.821510 ====> Client connect 19:29:18.821560 accept_connection 3 returned 4 19:29:18.821589 Read 93 bytes 19:29:18.821599 Process 93 bytes request 19:29:18.821611 Got request: GET /verifiedserver HTTP/1.1 19:29:18.821620 Are-we-friendly question received 19:29:18.821650 Wrote request (93 bytes) input to log/2/server.input 19:2CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:45539/3100 > log/13/stdout3100 2> log/13/stderr3100 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3105 ./libtest/libtests lib3105 - > log/10/stdout3105 2> log/10/stderr3105 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:44711/3104 > log/23/stdout3104 2> log/23/stderr3104 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3038 ../src/curl -q --include --trace-ascii log/6/trace3038 --trace-time http://127.0.0.1:33935/victim3038 -O -J -i --etag-save log/6/etag3038 --output-dir log/6 > log/6/stdout3038 2> log/6/stderr3038 9:18.821668 Identifying ourselves as friends 19:29:18.821784 Response sent (56 bytes) and written to log/2/server.response 19:29:18.821798 special request received, no persistency 19:29:18.821806 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 44996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 3107 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind3107 ==187925== ==187925== Process terminating with default action of signal 4 (SIGILL) ==187925== Illegal opcode at address 0x51CC63F ==187925== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187925== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187925== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187925== by 0x40041AF: main (first.c:264) === End of file valgrind3107 test 3100 [RTSP Authentication check] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:45539/3100 > log/13/stdout3100 2> log/13/stderr3100 3100: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 3100 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:45539/3100 > log/13/stdout3100 2> log/13/stderr3100 === End of file commands.log === Start of file rtsp_server.log 19:29:17.305979 ====> Client connect 19:29:17.306019 Read 93 bytes 19:29:17.306031 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HTTP/1.1 Host: 127.0.0.1:45539 User-Agent: curl/8.23.0 Accept: */* ] 19:29:17.306056 Got request: GET /verifiedserver HTTP/1.1 19:29:17.306065 Are-we-friendly question received 19:29:17.306094 Wrote request (93 bytes) input to log/13/server.input 19:29:17.306112 Send response number -2 part 0 19:29:17.306121 Identifying ourselves as friends 19:29:17.306166 Sent off 69 bytes 19:29:17.306184 Response sent (69 bytes) and written to log/13/server.response 19:29:17.306193 special request received, no persistency 19:29:17.306201 ====> Client disconnect === End of file rtsp_server.log === Start of file rtsp_verify.log * Trying 127.0.0.1:45539... * Established connection to 127.0.0.1 (127.0.0.1 port 45539) from 127.0.0.1 port 45612 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45539 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 30 < { [30 bytes data] * Connection #0 to host 127.0.0.1:45539 left intact === End of file rtsp_verify.log === Start of file rtsp_verify.out RTSP_SERVER WE ROOLZ: 111131 === End of file rtsp_verify.out === Start of file server.cmd Testnum 3100 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 30 RTSP_SERVER WE ROOLZ: 111131 === End of file server.response === Start of file valgrind3100 ==187492== ==187492== Process terminating with default action of signal 4 (SIGILL) ==187492== Illegal opcode at address 0x51CC63F ==187492== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187492== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187492== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187492== by 0x40041AF: main (first.c:264) === End of file valgrind3100 test 3105 [curl_multi_remove_handle twice] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3105 ./libtest/libtests lib3105 - > log/10/stdout3105 2> log/10/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/10/ directory after test 3105 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3105 ./libtest/libtests lib3105 - > log/10/stdout3105 2> log/10/stderr3105 === End of file commands.log === Start of file server.cmd Testnum 3105 === End of file server.cmd === Start of file valgrind3105 ==187740== ==187740== Process terminating with default action of signal 4 (SIGILL) ==187740== Illegal opcode at address 0x51CC63F ==187740== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187740== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187740== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187740== by 0x40041AF: main (first.c:264) === End of file valgrind3105 test 3104 [CURLOPT_COOKIELIST with Netscape format] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:44711/3104 > log/23/stdout3104 2> log/23/stderr3104 3104: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 3104 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:44711/3104 > log/23/stdout3104 2> log/23/stderr3104 === End of file commands.log === Start of file http_server.log 19:29:17.590615 ====> Client connect 19:29:17.590651 accept_connection 3 returned 4 19:29:17.590671 Read 93 bytes 19:29:17.590680 Process 93 bytes request 19:29:17.590692 Got request: GET /verifiedserver HTTP/1.1 19:29:17.590700 Are-we-friendly question received 19:29:17.590724 Wrote request (93 bytes) input to log/23/server.input 19:29:17.590746 Identifying ourselves as friends 19:29:17.590820 Response sent (56 bytes) and written to log/23/server.response 19:29:17.590829 special request received, no persistency 19:29:17.590836 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 34012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 3104 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind3104 ==187736== ==187736== Process terminating with default action of signal 4 (SIGILL) ==187736== Illegal opcode at address 0x51CC63F ==187736== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==187736== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==187736== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==187736== by 0x40041AF: main (first.c:264) === End of file valgrind3104 test 3038 [Do not open CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3205 ./unit/units unit3205 - > log/8/stdout3205 2> log/8/stderr3205 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3036 ../src/curl -q --include --trace-ascii log/19/trace3036 --trace-time http://127.0.0.1:37077/ --no-clobber --output-dir log/19/present -OJ --retry 1 --retry-all-errors > log/19/stdout3036 2> log/19/stderr3036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3030 ../src/curl -q --output log/16/curl3030.out --include --trace-ascii log/16/trace3030 --trace-time -D log/16/heads3030 http://127.0.0.1:35903/3030 http://127.0.0.1:35903/3030 > log/16/stdout3030 2> log/16/stderr3030 output for ETag with -J, --show-headers, --etag-save] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3038 ../src/curl -q --include --trace-ascii log/6/trace3038 --trace-time http://127.0.0.1:33935/victim3038 -O -J -i --etag-save log/6/etag3038 --output-dir log/6 > log/6/stdout3038 2> log/6/stderr3038 3038: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 3038 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3038 ../src/curl -q --include --trace-ascii log/6/trace3038 --trace-time http://127.0.0.1:33935/victim3038 -O -J -i --etag-save log/6/etag3038 --output-dir log/6 > log/6/stdout3038 2> log/6/stderr3038 === End of file commands.log === Start of file http_server.log 19:29:17.284384 ====> Client connect 19:29:17.284417 accept_connection 3 returned 4 19:29:17.284437 Read 93 bytes 19:29:17.284446 Process 93 bytes request 19:29:17.284457 Got request: GET /verifiedserver HTTP/1.1 19:29:17.284465 Are-we-friendly question received 19:29:17.284487 Wrote request (93 bytes) input to log/6/server.input 19:29:17.284502 Identifying ourselves as friends 19:29:17.284559 Response sent (56 bytes) and written to log/6/server.response 19:29:17.284567 special request received, no persistency 19:29:17.284574 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 58874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 3038 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind3038 ==187469== ==187469== Process terminating with default action of signal 4 (SIGILL) ==187469== Illegal opcode at address 0x492B75F ==187469== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187469== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187469== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187469== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187469== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187469== by 0x49908EB: curl_version_info (version.c:600) ==187469== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187469== by 0x4003269: main (tool_main.c:195) === End of file valgrind3038 === Start of file victim3038 original === End of file victim3038 test 3205 [cipher suite name lookup] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3205 ./unit/units unit3205 - > log/8/stdout3205 2> log/8/stderr3205 units returned 132, when expecting 0 3205: exit FAILED == Contents of files in the log/8/ directory after test 3205 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3205 ./unit/units unit3205 - > log/8/stdout3205 2> log/8/stderr3205 === End of file commands.log === Start of file server.cmd Testnum 3205 === End of file server.cmd === Start of file valgrind3205 ==188149== ==188149== Process terminating with default action of signal 4 (SIGILL) ==188149== Illegal opcode at address 0x4091F7F ==188149== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188149== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188149== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188149== by 0x400B1A9: main (first.c:264) === End of file valgrind3205 test 3036 [--no-clobber, --retry and --output-dir identifying a file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3036 ../src/curl -q --include --trace-ascii log/19/trace3036 --trace-time http://127.0.0.1:37077/ --no-clobber --output-dir log/19/present -OJ --retry 1 --retry-all-errors > log/19/stdout3036 2> log/19/stderr3036 3036: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 3036 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3036 ../src/curl -q --include --trace-ascii log/19/trace3036 --trace-time http://127.0.0.1:37077/ --no-clobber --output-dir log/19/present -OJ --retry 1 --retry-all-errors > log/19/stdout3036 2> log/19/stderr3036 === End of file commands.log === Start of file http_server.log 19:29:17.124444 ====> Client connect 19:29:17.124483 accept_connection 3 returned 4 19:29:17.124506 Read 93 bytes 19:29:17.124517 Process 93 bytes request 19:29:17.124529 Got request: GET /verifiedserver HTTP/1.1 19:29:17.124538 Are-we-friendly question received 19:29:17.124566 Wrote request (93 bytes) input to log/19/server.input 19:29:17.124584 Identifying ourselves as friends 19:29:17.124657 Response sent (57 bytes) and written to log/19/server.response 19:29:17.124669 special request received, no persistency 19:29:17.124677 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 53106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file present present === End of file present === Start of file server.cmd Testnum 3036 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind3036 ==187332== ==187332== Process terminating with default action of signal 4 (SIGILL) ==187332== Illegal opcode at address 0x492B75F ==187332== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187332== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187332== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187332== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187332== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187332== by 0x49908EB: curl_version_info (version.c:600) ==187332== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187332== by 0x4003269: main (tool_main.c:195) === End of file valgrind3036 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3035 ../src/curl -q --trace-ascii log/14/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/14/outfile3035 http://127.0.0.1:45467/3035 > log/14/stdout3035 2> log/14/stderr3035 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3037 ../src/curl -q --include --trace-ascii log/5/trace3037 --trace-time http://127.0.0.1:37089/victim3037 -O -J -i --output-dir log/5 > log/5/stdout3037 2> log/5/stderr3037 test 3030 [HTTP with multiple transfers in one -D] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3030 ../src/curl -q --output log/16/curl3030.out --include --trace-ascii log/16/trace3030 --trace-time -D log/16/heads3030 http://127.0.0.1:35903/3030 http://127.0.0.1:35903/3030 > log/16/stdout3030 2> log/16/stderr3030 3030: data FAILED: --- log/16/check-expected 2026-10-15 19:29:19.926069386 +0000 +++ log/16/check-generated 2026-10-15 19:29:19.922467387 +0000 @@ -1,5 +0,0 @@ -HTTP/1.1 200 OK[LF] -Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] -Content-Length: 6[LF] -[LF] --foo-[LF] == Contents of files in the log/16/ directory after test 3030 === Start of file check-expected HTTP/1.1 200 OK[LF] Date: Tue, 09 Nov 2010 14:49:00 GMT[LF] Content-Length: 6[LF] [LF] -foo-[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3030 ../src/curl -q --output log/16/curl3030.out --include --trace-ascii log/16/trace3030 --trace-time -D log/16/heads3030 http://127.0.0.1:35903/3030 http://127.0.0.1:35903/3030 > log/16/stdout3030 2> log/16/stderr3030 === End of file commands.log === Start of file http_server.log 19:29:17.843293 ====> Client connect 19:29:17.843328 accept_connection 3 returned 4 19:29:17.843493 Read 93 bytes 19:29:17.843508 Process 93 bytes request 19:29:17.843522 Got request: GET /verifiedserver HTTP/1.1 19:29:17.843531 Are-we-friendly question received 19:29:17.843562 Wrote request (93 bytes) input to log/16/server.input 19:29:17.843579 Identifying ourselves as friends 19:29:17.843640 Response sent (56 bytes) and written to log/16/server.response 19:29:17.843651 special request received, no persistency 19:29:17.843659 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 56658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd Testnum 3030 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind3030 ==186996== ==186996== Process terminating with default action of signal 4 (SIGILL) ==186996== Illegal opcode at address 0x492B75F ==186996== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==186996== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==186996== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==186996== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==186996== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==186996== by 0x49908EB: curl_version_info (version.c:600) ==186996== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==186996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==186996== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==186996== by 0x4003269: main (tool_main.c:195) === End of file valgrind3030 test 3035 [HTTP retry failed download with keep data and auto-resume] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3035 ../src/curl -q --trace-ascii log/14/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/14/outfile3035 http://127.0.0.1:45467/3035 > log/14/stdout3035 2> log/14/stderr3035 3035: protocol FAILED! There was no content at all in the file log/14/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/14/ directory after test 3035 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3035 ../src/curl -q --trace-ascii log/14/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/14/outfile3035 http://127.0.0.1:45467/3035 > log/14/stdout3035 2> log/14/stderr3035 === End of file commands.log === Start of file http_server.log 19:29:17.131077 ====> Client connect 19:29:17.131122 accept_connection 3 returned 4 19:29:17.131146 Read 93 bytes 19:29:17.131155 Process 93 bytes request 19:29:17.131168 Got request: GET /verifiedserver HTTP/1.1 19:29:17.131176 Are-we-friendly question received 19:29:17.131202 Wrote request (93 bytes) input to log/14/server.input 19:29:17.131217 Identifying ourselves as friends 19:29:17.131287 Response sent (56 bytes) and written to log/14/server.response 19:29:17.131296 special request received, no persistency 19:29:17.131303 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35708 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd Testnum 3035 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind3035 ==187324== ==187324== Process terminating with default action of signal 4 (SIGILL) ==187324== Illegal opcode at address 0x492B75F ==187324== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187324== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187324== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187324== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187324== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187324== by 0x49908EB: curl_version_info (version.c:600) ==187324== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187324== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187324== by 0x4003269: main (tool_main.c:195) === End of file valgrind3035 test 3037 [Do not open output for 103 Early Hints with -J and --show-headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3037 ../src/curl -q --include --trace-ascii log/5/trace3037 --trace-time http://127.0.0.1:37089/victim3037 -O -J -i --output-dir log/5 > log/5/stdout3037 2> log/5/stderr3037 3037: protocol FAILED! There was no content at all in the file log/5/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ directory after test 3037 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3037 ../src/curl -q --include --trace-ascii log/5/trace3037 --trace-time http://127.0.0.1:37089/victim3037 -O -J -i --output-dir log/5 > log/5/stdout3037 2> log/5/stderr3037 === End of file commands.log === Start of file http_server.log 19:29:17.230586 ====> Client connect 19:29:17.230623 accept_connection 3 returned 4 19:29:17.230646 Read 93 bytes 19:29:17.230656 Process 93 bytes request 19:29:17.230669 Got request: GETCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3211 ./unit/units unit3211 - > log/20/stdout3211 2> log/20/stderr3211 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3214 ./unit/units unit3214 - > log/17/stdout3214 2> log/17/stderr3214 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3212 ./unit/units unit3212 - > log/24/stdout3212 2> log/24/stderr3212 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3206 ../src/curl -q --output log/22/curl3206.out --include --trace-ascii log/22/trace3206 --trace-time imap://127.0.0.1:37605/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/22/stdout3206 2> log/22/stderr3206 /verifiedserver HTTP/1.1 19:29:17.230678 Are-we-friendly question received 19:29:17.230707 Wrote request (93 bytes) input to log/5/server.input 19:29:17.230726 Identifying ourselves as friends 19:29:17.230796 Response sent (56 bytes) and written to log/5/server.response 19:29:17.230808 special request received, no persistency 19:29:17.230817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37089... * Established connection to 127.0.0.1 (127.0.0.1 port 37089) from 127.0.0.1 port 34468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37089 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37089 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 81869 === End of file http_verify.out === Start of file server.cmd Testnum 3037 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 81869 === End of file server.response === Start of file valgrind3037 ==187428== ==187428== Process terminating with default action of signal 4 (SIGILL) ==187428== Illegal opcode at address 0x492B75F ==187428== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187428== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187428== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187428== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187428== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187428== by 0x49908EB: curl_version_info (version.c:600) ==187428== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187428== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187428== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187428== by 0x4003269: main (tool_main.c:195) === End of file valgrind3037 === Start of file victim3037 original === End of file victim3037 test 3211 [uint_bset, u8_strset, u32_ptrset and ptrarray unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3211 ./unit/units unit3211 - > log/20/stdout3211 2> log/20/stderr3211 units returned 132, when expecting 0 3211: exit FAILED == Contents of files in the log/20/ directory after test 3211 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3211 ./unit/units unit3211 - > log/20/stdout3211 2> log/20/stderr3211 === End of file commands.log === Start of file server.cmd Testnum 3211 === End of file server.cmd === Start of file valgrind3211 ==188333== ==188333== Process terminating with default action of signal 4 (SIGILL) ==188333== Illegal opcode at address 0x4091F7F ==188333== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188333== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188333== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188333== by 0x400B1A9: main (first.c:264) === End of file valgrind3211 test 3214 [struct size checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3214 ./unit/units unit3214 - > log/17/stdout3214 2> log/17/stderr3214 units returned 132, when expecting 0 3214: exit FAILED == Contents of files in the log/17/ directory after test 3214 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3214 ./unit/units unit3214 - > log/17/stdout3214 2> log/17/stderr3214 === End of file commands.log === Start of file server.cmd Testnum 3214 === End of file server.cmd === Start of file valgrind3214 ==188534== ==188534== Process terminating with default action of signal 4 (SIGILL) ==188534== Illegal opcode at address 0x4091F7F ==188534== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188534== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188534== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188534== by 0x400B1A9: main (first.c:264) === End of file valgrind3214 test 3212 [uint32_tbl unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3212 ./unit/units unit3212 - > log/24/stdout3212 2> log/24/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/24/ directory after test 3212 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3212 ./unit/units unit3212 - > log/24/stdout3212 2> log/24/stderr3212 === End of file commands.log === Start of file server.cmd Testnum 3212 === End of file server.cmd === Start of file valgrind3212 ==188513== ==188513== Process terminating with default action of signal 4 (SIGILL) ==188513== Illegal opcode at address 0x4091F7F ==188513== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188513== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188513== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188513== by 0x400B1A9: main (first.c:264) === End of file valgrind3212 test 3206 [IMAP custom FETCH with larger literal response (~7KB)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3206 ../src/curl -q --output log/22/curl3206.out --include --trace-ascii log/22/trace3206 --trace-time imap://127.0.0.1:37605/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/22/stdout3206 2> log/22/stderr3206 3206: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 3206 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3206 ../src/curl -q --output log/22/curl3206.out --include --trace-ascii log/22/trace3206 --trace-time imap://127.0.0.1:37605/3206/ -u user:secret -X 'FETCH 456 ("fake {50}" BODY[TEXT])' > log/22/stdout3206 2> log/22/stderr3206 === End of file commands.log === Start of file imap_server.log 19:29:18.868328 ====> Client connect 19:29:18.868667 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:29:18.868926 < "A001 CAPABILITY" 19:29:18.868972 > "A001 BAD Command[CR][LF]" 19:29:18.869175 < "A002 LIST "verifiedserver" *" 19:29:18.869206 LIST_imap got "verifiedserver" * 19:29:18.869235 > "* LIST () "/" "WE ROOLZ: 121995"[CR][LF]" 19:29:18.869253 > "A002 OK LIST Completed[CR][LF]" 19:29:18.869267 return proof we are we 19:29:18.915657 < "A003 LOGOUT" 19:29:18.915715 > "* BYE curl IMAP server signing off[CR][LF]" 19:29:18.915734 > "A003 OK LOGOUT completed[CR][LF]" 19:29:18.917105 MAIN sockfilt said DISC 19:29:18.917149 ====> Client disconnected 19:29:18.917230 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:29:19.470541 ====> Client connect 19:29:19.470860 Received DATA (on stdin) 19:29:19.470881 > 164 bytes data, server => client 19:29:19.470902 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:29:19.470913 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:29:19.470923 ' \_\_____|\r\n* OK curl IMAP server readyCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3203 ../src/curl -q --trace-ascii log/21/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test3203.dir/ > log/21/stdout3203 2> log/21/stderr3203 to serve\r\n' 19:29:19.471124 < 17 bytes data, client => server 19:29:19.471139 'A001 CAPABILITY\r\n' 19:29:19.471340 Received DATA (on stdin) 19:29:19.471351 > 18 bytes data, server => client 19:29:19.471362 'A001 BAD Command\r\n' 19:29:19.471431 < 30 bytes data, client => server 19:29:19.471443 'A002 LIST "verifiedserver" *\r\n' 19:29:19.471630 Received DATA (on stdin) 19:29:19.471641 > 34 bytes data, server => client 19:29:19.471651 '* LIST () "/" "WE ROOLZ: 121995"\r\n' 19:29:19.471672 Received DATA (on stdin) 19:29:19.471682 > 24 bytes data, server => client 19:29:19.471691 'A002 OK LIST Completed\r\n' 19:29:19.517818 < 13 bytes data, client => server 19:29:19.517854 'A003 LOGOUT\r\n' 19:29:19.518101 Received DATA (on stdin) 19:29:19.518113 > 36 bytes data, server => client 19:29:19.518123 '* BYE curl IMAP server signing off\r\n' 19:29:19.518150 Received DATA (on stdin) 19:29:19.518159 > 26 bytes data, server => client 19:29:19.518168 'A003 OK LOGOUT completed\r\n' 19:29:19.519408 ====> Client disconnect 19:29:19.519598 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3206 === End of file server.cmd === Start of file valgrind3206 ==188277== ==188277== Process terminating with default action of signal 4 (SIGILL) ==188277== Illegal opcode at address 0x492B75F ==188277== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188277== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188277== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188277== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188277== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188277== by 0x49908EB: curl_version_info (version.c:600) ==188277== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188277== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188277== by 0x4003269: main (tool_main.c:195) === End of file valgrind3206 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3216 ./unit/units unit3216 - > log/11/stdout3216 2> log/11/stderr3216 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3213 ./unit/units unit3213 - > log/4/stdout3213 2> log/4/stderr3213 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3219 ./unit/units unit3219 - > log/10/stdout3219 2> log/10/stderr3219 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3028 ../src/curl -q --output log/3/curl3028.out --include --trace-ascii log/3/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:36161/page --proxytunnel -x 127.0.0.1:38787 > log/3/stdout3028 2> log/3/stderr3028 test 3203 [Get a directory using file://] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3203 ../src/curl -q --trace-ascii log/21/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test3203.dir/ > log/21/stdout3203 2> log/21/stderr3203 3203: stdout FAILED: --- log/21/check-expected 2026-10-15 19:29:20.826568397 +0000 +++ log/21/check-generated 2026-10-15 19:29:20.822452694 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/21/ directory after test 3203 === Start of file check-expected dir-listing-test.txt[LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3203 ../src/curl -q --trace-ascii log/21/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test3203.dir/ > log/21/stdout3203 2> log/21/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==188027== ==188027== Process terminating with default action of signal 4 (SIGILL) ==188027== Illegal opcode at address 0x492B75F ==188027== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188027== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188027== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188027== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188027== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188027== by 0x49908EB: curl_version_info (version.c:600) ==188027== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188027== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188027== by 0x4003269: main (tool_main.c:195) === End of file valgrind3203 test 3216 [ratelimit unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3216 ./unit/units unit3216 - > log/11/stdout3216 2> log/11/stderr3216 units returned 132, when expecting 0 3216: exit FAILED == Contents of files in the log/11/ directory after test 3216 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3216 ./unit/units unit3216 - > log/11/stdout3216 2> log/11/stderr3216 === End of file commands.log === Start of file server.cmd Testnum 3216 === End of file server.cmd === Start of file valgrind3216 ==188596== ==188596== Process terminating with default action of signal 4 (SIGILL) ==188596== Illegal opcode at address 0x4091F7F ==188596== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188596== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188596== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188596== by 0x400B1A9: main (first.c:264) === End of file valgrind3216 test 3213 [uint_spbset unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3213 ./unit/units unit3213 - > log/4/stdout3213 2> log/4/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/4/ directory after test 3213 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3213 ./unit/units unit3213 - > log/4/stdout3213 2> log/4/stderr3213 === End of file commands.log === Start of file server.cmd Testnum 3213 === End of file server.cmd === Start of file valgrind3213 ==188525== ==188525== Process terminating with default action of signal 4 (SIGILL) ==188525== Illegal opcode at address 0x4091F7F ==188525== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188525== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188525== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188525== by 0x400B1A9: main (first.c:264) === End of file valgrind3213 test 3219 [CURLPROTO_MASK checks] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3219 ./unit/units unit3219 - > log/10/stdout3219 2> log/10/stderr3219 units returned 132, when expecting 0 3219: exit FAILED == Contents of files in the log/10/ directory after test 3219 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3219 ./unit/units unit3219 - > log/10/stdout3219 2> log/10/stderr3219 === End of file commands.log === Start of file server.cmd Testnum 3219 === End of file server.cmd === Start of file valgrind3219 ==188743== ==188743== Process terminating with default action of signal 4 (SIGILL) ==188743== Illegal opcode at address 0x4091F7F ==188743== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==188743== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==188743== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==188743== by 0x400B1A9: main (first.c:264) === End of file valgrind3219 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile "log/3/server/http2_server.pid" --logfile "log/3/http2_server.log" --logdir "log/3" --portfile log/3/server/http2_server.port --config log/3/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 186797 port 38787 * pid http-proxy => 186797 186797 test 3028 [HTTP GET when PROXY Protocol enabled behind a proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3028 ../src/curl -q --output log/3/curl3028.out --include --trace-ascii log/3/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:36161/page --proxytunnel -x 127.0.0.1:38787 > log/3/stdout3028 2> log/3/stderr3028 3028: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/3/ directory after test 3028 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3028 ../src/curl -q --output log/3/curl3028.out --include --trace-ascii log/3/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:36161/page --proxytunnel -x 127.0.0.1:38787 > log/3/stdout3028 2> log/3/stderr3028 === End of file commands.log === Start of file http2_server.log 19:29:17.691470 Run as proxy, CONNECT to host 127.0.0.1 19:29:17.691594 Running HTTP IPv4 version on port 38787 19:29:17.691640 Wrote pid 186797 to log/3/server/http2_server.pid 19:29:17.691671 Wrote port 38787 to log/3/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:29:17.642968 ====> Client connect 19:29:17.643002 accept_connection 3 returned 4 19:29:17.643023 Read 93 bytes 19:29:17.643033 Process 93 bytes request 19:29:17.643047 Got request: GET /verifiedserver HTTP/1.1 19:29:17.643055 Are-we-friendly question received 19:29:17.643081 Wrote request (93 bytes) input to log/3/server.input 19:29:17.643097 Identifying ourselves as friends 19:29:17.643164 Response sent (56 bytes) and written to log/3/server.response 19:29:17.643173 special request received, no persistency 19:29:17.643181 ====> Client disconnect 0 === End oCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3201 ../src/curl -q --output log/12/curl3201.out --include --trace-ascii log/12/trace3201 --trace-time http://127.0.0.1:40921/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/12/stdout3201 2> log/12/stderr3201 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3204 ../src/curl -q --output log/7/curl3204.out --include --trace-ascii log/7/trace3204 --trace-time http://127.0.0.1:40859/3204 --etag-compare log/7/etag3204 --etag-save log/7/etag3204 > log/7/stdout3204 2> log/7/stderr3204 f file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36161... * Established connection to 127.0.0.1 (127.0.0.1 port 36161) from 127.0.0.1 port 57860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36161 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36161 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82533 === End of file http_verify.out === Start of file server.cmd Testnum 3028 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82533 === End of file server.response === Start of file valgrind3028 ==187778== ==187778== Process terminating with default action of signal 4 (SIGILL) ==187778== Illegal opcode at address 0x492B75F ==187778== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==187778== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==187778== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==187778== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==187778== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==187778== by 0x49908EB: curl_version_info (version.c:600) ==187778== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==187778== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==187778== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==187778== by 0x4003269: main (tool_main.c:195) === End of file valgrind3028 test 3201 [HTTP GET when PROXY Protocol enabled and spoofed client IPv4] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3201 ../src/curl -q --output log/12/curl3201.out --include --trace-ascii log/12/trace3201 --trace-time http://127.0.0.1:40921/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/12/stdout3201 2> log/12/stderr3201 3201: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/12/ directory after test 3201 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3201 ../src/curl -q --output log/12/curl3201.out --include --trace-ascii log/12/trace3201 --trace-time http://127.0.0.1:40921/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/12/stdout3201 2> log/12/stderr3201 === End of file commands.log === Start of file http_server.log 19:29:18.074408 ====> Client connect 19:29:18.074447 accept_connection 3 returned 4 19:29:18.074473 Read 93 bytes 19:29:18.074484 Process 93 bytes request 19:29:18.074497 Got request: GET /verifiedserver HTTP/1.1 19:29:18.074506 Are-we-friendly question received 19:29:18.074537 Wrote request (93 bytes) input to log/12/server.input 19:29:18.074558 Identifying ourselves as friends 19:29:18.074645 Response sent (56 bytes) and written to log/12/server.response 19:29:18.074658 special request received, no persistency 19:29:18.074668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40921... * Established connection to 127.0.0.1 (127.0.0.1 port 40921) from 127.0.0.1 port 60216 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40921 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40921 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79038 === End of file http_verify.out === Start of file server.cmd Testnum 3201 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79038 === End of file server.response === Start of file valgrind3201 ==188060== ==188060== Process terminating with default action of signal 4 (SIGILL) ==188060== Illegal opcode at address 0x492B75F ==188060== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188060== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188060== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188060== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188060== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188060== by 0x49908EB: curl_version_info (version.c:600) ==188060== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188060== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188060== by 0x4003269: main (tool_main.c:195) === End of file valgrind3201 test 3204 [Use --etag-compare and --etag-save on an existing file] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3204 ../src/curl -q --output log/7/curl3204.out --include --trace-ascii log/7/trace3204 --trace-time http://127.0.0.1:40859/3204 --etag-compare log/7/etag3204 --etag-save log/7/etag3204 > log/7/stdout3204 2> log/7/stderr3204 3204: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/7/ directory after test 3204 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3204 ../src/curl -q --output log/7/curl3204.out --include --trace-ascii log/7/trace3204 --trace-time http://127.0.0.1:40859/3204 --etag-compare log/7/etag3204 --etag-save log/7/etag3204 > log/7/stdout3204 2> log/7/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 19:29:18.306099 ====> Client connect 19:29:18.306132 accept_connection 3 returned 4 19:29:18.306153 Read 93 bytes 19:29:18.306162 Process 93 bytes request 19:29:18.306175 Got request: GET /verifiedserver HTTP/1.1 19:29:18.306183 Are-we-friendly question received 19:29:18.306209 Wrote request (93 bytes) input to log/7/server.input 19:29:18.306225 Identifying ourselves as friends 19:29:18.306284 Response sent (56 bytes) and written to log/7/server.response 19:29:18.306293 special request received, no persistency 19:29:18.306301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40859... * Established connection to 127.0.0.1 (127.0.0.1 port 40859) from 127.0.0.1 port 47636 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40859 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40859 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79175 === End of file http_verify.out === Start of file server.cmd Testnum 3204 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79175 === End of file server.response === Start of file valgrind3204 ==188173== ==188173== Process terminating with default action of signal 4 (SIGILL) ==188173== Illegal opcode at address 0x492B75F ==188173== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188173== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188173== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188173== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188173== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188173== by 0x49908EB: curl_version_info (version.c:600) ==188173== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188173== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188173== by 0x400CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3209 ../src/curl -q --output log/9/curl3209.out --include --trace-ascii log/9/trace3209 --trace-time imap://127.0.0.1:38847/3209 -T log/9/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/9/stdout3209 2> log/9/stderr3209 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3227 ./unit/units unit3227 - > log/5/stdout3227 2> log/5/stderr3227 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:35739/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 3269: UnknownInlinedFun (tool_cfgable.c:310) ==188173== by 0x4003269: main (tool_main.c:195) === End of file valgrind3204 test 3209 [Upload message via IMAP with upload flags] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3209 ../src/curl -q --output log/9/curl3209.out --include --trace-ascii log/9/trace3209 --trace-time imap://127.0.0.1:38847/3209 -T log/9/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/9/stdout3209 2> log/9/stderr3209 3209: protocol FAILED! There was no content at all in the file log/9/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/9/ directory after test 3209 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3209 ../src/curl -q --output log/9/curl3209.out --include --trace-ascii log/9/trace3209 --trace-time imap://127.0.0.1:38847/3209 -T log/9/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/9/stdout3209 2> log/9/stderr3209 === End of file commands.log === Start of file imap_server.log 19:29:18.954925 ====> Client connect 19:29:18.955090 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:29:18.955420 < "A001 CAPABILITY" 19:29:18.955460 > "A001 BAD Command[CR][LF]" 19:29:18.955653 < "A002 LIST "verifiedserver" *" 19:29:18.955682 LIST_imap got "verifiedserver" * 19:29:18.955710 > "* LIST () "/" "WE ROOLZ: 113573"[CR][LF]" 19:29:18.955729 > "A002 OK LIST Completed[CR][LF]" 19:29:18.955744 return proof we are we 19:29:19.002322 < "A003 LOGOUT" 19:29:19.002386 > "* BYE curl IMAP server signing off[CR][LF]" 19:29:19.002411 > "A003 OK LOGOUT completed[CR][LF]" 19:29:19.003742 MAIN sockfilt said DISC 19:29:19.003780 ====> Client disconnected 19:29:19.003862 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:29:18.557178 ====> Client connect 19:29:18.557469 Received DATA (on stdin) 19:29:18.557484 > 164 bytes data, server => client 19:29:18.557496 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:29:18.557507 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:29:18.557517 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:29:18.557609 < 17 bytes data, client => server 19:29:18.557625 'A001 CAPABILITY\r\n' 19:29:18.557830 Received DATA (on stdin) 19:29:18.557847 > 18 bytes data, server => client 19:29:18.557858 'A001 BAD Command\r\n' 19:29:18.557923 < 30 bytes data, client => server 19:29:18.557935 'A002 LIST "verifiedserver" *\r\n' 19:29:18.558109 Received DATA (on stdin) 19:29:18.558121 > 34 bytes data, server => client 19:29:18.558132 '* LIST () "/" "WE ROOLZ: 113573"\r\n' 19:29:18.558155 Received DATA (on stdin) 19:29:18.558165 > 24 bytes data, server => client 19:29:18.558175 'A002 OK LIST Completed\r\n' 19:29:18.604472 < 13 bytes data, client => server 19:29:18.604510 'A003 LOGOUT\r\n' 19:29:18.604781 Received DATA (on stdin) 19:29:18.604794 > 36 bytes data, server => client 19:29:18.604804 '* BYE curl IMAP server signing off\r\n' 19:29:18.604833 Received DATA (on stdin) 19:29:18.604844 > 26 bytes data, server => client 19:29:18.604854 'A003 OK LOGOUT completed\r\n' 19:29:18.606052 ====> Client disconnect 19:29:18.606231 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3209 === End of file server.cmd === Start of file upload3209 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Hello Joe, do you think we can meet at 3:30 tomorrow? === End of file upload3209 === Start of file valgrind3209 ==188332== ==188332== Process terminating with default action of signal 4 (SIGILL) ==188332== Illegal opcode at address 0x492B75F ==188332== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188332== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188332== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188332== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188332== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188332== by 0x49908EB: curl_version_info (version.c:600) ==188332== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188332== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188332== by 0x4003269: main (tool_main.c:195) === End of file valgrind3209 test 3227 [reject CR and LF in mail mime part name and filename] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3227 ./unit/units unit3227 - > log/5/stdout3227 2> log/5/stderr3227 units returned 132, when expecting 0 3227: exit FAILED == Contents of files in the log/5/ directory after test 3227 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3227 ./unit/units unit3227 - > log/5/stdout3227 2> log/5/stderr3227 === End of file commands.log === Start of file server.cmd Testnum 3227 === End of file server.cmd === Start of file valgrind3227 ==189215== ==189215== Process terminating with default action of signal 4 (SIGILL) ==189215== Illegal opcode at address 0x4091F7F ==189215== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189215== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189215== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189215== by 0x400B1A9: main (first.c:264) === End of file valgrind3227 test 3210 [Upload message unread via IMAP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:35739/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 3210: protocol FAILED! There was no content at all in the file log/1/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ directory after test 3210 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3210 ../src/curl -q --output log/1/curl3210.out --include --trace-ascii log/1/trace3210 --trace-time imap://127.0.0.1:35739/3210 -T log/1/upload3210 -u user:secret --upload-flags -seen > log/1/stdout3210 2> log/1/stderr3210 === End of file commands.log === Start of file imap_server.log 19:29:19.027817 ====> Client connect 19:29:19.027974 > " _ _ ____ _[CR][LF] ___| | | | _ \| |[CR][LF] / __| | | | |_) | |[CR][LF] | (__| |_| | _ {| |___[CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:29:19.028262 < "A001 CAPABILITY" 19:29:19.028414 > "A001 BAD Command[CR][LF]" 19:29:19.028481 < "A002 LIST "verifiedserver" *" 19:29:19.028505 LIST_imap got "verifiedserver" * 19:29:19.032067 > "* LIST () "/" "WE ROOLZ: 122891"[CR][LF]" 19:29:19.032107 > "A002 OK LIST Completed[CR][LF]" 19:29:19.032122 return proof we are we 19:29:19.079002 < "A003 LOGOUT" 19:29:19.079063 > "* BYE curl IMAP server signing off[CR][LF]" 19:29:19.079081 > "A003 OK LOGOUT completed[CR][LF]" 19:29:19.080301 MAIN sockfilt said DISC 19:29:19.08CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3202 ../src/curl -q --output log/15/curl3202.out --include --trace-ascii log/15/trace3202 --trace-time -g "http://[::1]:41281/3202" --haproxy-clientip "2001:db8::" > log/15/stdout3202 2> log/15/stderr3202 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3215 ../src/curl -q --output log/18/curl3215.out --include --trace-ascii log/18/trace3215 --trace-time smtp://127.0.0.1:33075/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/18/stdout3215 2> log/18/stderr3215 0380 ====> Client disconnected 19:29:19.080490 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:29:18.630077 ====> Client connect 19:29:18.630352 Received DATA (on stdin) 19:29:18.630367 > 164 bytes data, server => client 19:29:18.630377 ' _ _ ____ _\r\n ___| | | | _ \| |\r\n / __| |' 19:29:18.630387 ' | | |_) | |\r\n | (__| |_| | _ {| |___\r\n \___|\___/|_|' 19:29:18.630396 ' \_\_____|\r\n* OK curl IMAP server ready to serve\r\n' 19:29:18.630479 < 17 bytes data, client => server 19:29:18.630490 'A001 CAPABILITY\r\n' 19:29:18.630643 Received DATA (on stdin) 19:29:18.630654 > 18 bytes data, server => client 19:29:18.630671 'A001 BAD Command\r\n' 19:29:18.630722 < 30 bytes data, client => server 19:29:18.630732 'A002 LIST "verifiedserver" *\r\n' 19:29:18.634349 Received DATA (on stdin) 19:29:18.634374 > 34 bytes data, server => client 19:29:18.634487 '* LIST () "/" "WE ROOLZ: 122891"\r\n' 19:29:18.634525 Received DATA (on stdin) 19:29:18.634535 > 24 bytes data, server => client 19:29:18.634545 'A002 OK LIST Completed\r\n' 19:29:18.681166 < 13 bytes data, client => server 19:29:18.681193 'A003 LOGOUT\r\n' 19:29:18.681451 Received DATA (on stdin) 19:29:18.681465 > 36 bytes data, server => client 19:29:18.681475 '* BYE curl IMAP server signing off\r\n' 19:29:18.681501 Received DATA (on stdin) 19:29:18.681510 > 26 bytes data, server => client 19:29:18.681519 'A003 OK LOGOUT completed\r\n' 19:29:18.682603 ====> Client disconnect 19:29:18.682694 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3210 === End of file server.cmd === Start of file upload3210 Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) From: Fred Foobar Subject: afternoon meeting To: joe@example.com Message-Id: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. === End of file upload3210 === Start of file valgrind3210 ==188392== ==188392== Process terminating with default action of signal 4 (SIGILL) ==188392== Illegal opcode at address 0x492B75F ==188392== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188392== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188392== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188392== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188392== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188392== by 0x49908EB: curl_version_info (version.c:600) ==188392== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188392== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188392== by 0x4003269: main (tool_main.c:195) === End of file valgrind3210 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/15/server/http_ipv6_server.pid" --logfile "log/15/http_ipv6_server.log" --logdir "log/15" --portfile log/15/server/http_ipv6_server.port --config log/15/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 188008 port 41281 * pid http-ipv6 => 188008 188008 test 3202 [HTTP-IPv6 GET with PROXY protocol with spoofed client IP] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3202 ../src/curl -q --output log/15/curl3202.out --include --trace-ascii log/15/trace3202 --trace-time -g "http://[::1]:41281/3202" --haproxy-clientip "2001:db8::" > log/15/stdout3202 2> log/15/stderr3202 3202: protocol FAILED! There was no content at all in the file log/15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ directory after test 3202 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3202 ../src/curl -q --output log/15/curl3202.out --include --trace-ascii log/15/trace3202 --trace-time -g "http://[::1]:41281/3202" --haproxy-clientip "2001:db8::" > log/15/stdout3202 2> log/15/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 19:29:18.051752 Running HTTP IPv6 version on port 41281 19:29:18.052016 Wrote pid 188008 to log/15/server/http_ipv6_server.pid 19:29:18.052053 Wrote port 41281 to log/15/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 3202 === End of file server.cmd === Start of file valgrind3202 ==188533== ==188533== Process terminating with default action of signal 4 (SIGILL) ==188533== Illegal opcode at address 0x492B75F ==188533== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188533== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188533== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188533== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188533== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188533== by 0x49908EB: curl_version_info (version.c:600) ==188533== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188533== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188533== by 0x4003269: main (tool_main.c:195) === End of file valgrind3202 test 3215 [SMTP DSN] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3215 ../src/curl -q --output log/18/curl3215.out --include --trace-ascii log/18/trace3215 --trace-time smtp://127.0.0.1:33075/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/18/stdout3215 2> log/18/stderr3215 3215: protocol FAILED! There was no content at all in the file log/18/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/18/ directory after test 3215 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3215 ../src/curl -q --output log/18/curl3215.out --include --trace-ascii log/18/trace3215 --trace-time smtp://127.0.0.1:33075/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/18/stdout3215 2> log/18/stderr3215 === End of file commands.log === Start of file server.cmd REPLY MAIL 250 Ok REPLY RCPT 250 Ok Testnum 3215 === End of file server.cmd === Start of file smtp_server.log 19:29:19.551845 ====> Client connect 19:29:19.552026 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:19.552296 < "EHLO verifiedserver" 19:29:19.552334 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:29:19.552485 < "HELP" 19:29:19.552511 > "214 WE ROOLZ: 127847[CR][LF]" 19:29:19.552524 return proof we are we 19:29:19.552696 < "QUIT" 19:29:19.552720 > "221 curl ESMTP server signing off[CR][LF]" 19:29:19.553659 MAIN sockfilt said DISC 19:29:19.553687 ====> Client disconnected 19:29:19.553750 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:29:19.154072 ====> Client connect 19:29:19.154412 Received DATA (on stdin) 19:29:19.154425 > 146 bytes data, server => client 19:29:19.154435 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:19.154444 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:19.154452 '220 \___|\___/|_| \_\_____|\r\n' 19:29:19.154523 < 21 bytes data, client => server 19:29:19.154534 'ECMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3217 ../src/curl -q --output log/2/curl3217.out --include --trace-ascii log/2/trace3217 --trace-time ftp://127.0.0.1:38033/3217 > log/2/stdout3217 2> log/2/stderr3217 HLO verifiedserver\r\n' 19:29:19.154708 Received DATA (on stdin) 19:29:19.154718 > 53 bytes data, server => client 19:29:19.154727 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:29:19.154778 < 6 bytes data, client => server 19:29:19.154788 'HELP\r\n' 19:29:19.154894 Received DATA (on stdin) 19:29:19.154903 > 22 bytes data, server => client 19:29:19.154912 '214 WE ROOLZ: 127847\r\n' 19:29:19.154992 < 6 bytes data, client => server 19:29:19.155003 'QUIT\r\n' 19:29:19.155091 Received DATA (on stdin) 19:29:19.155101 > 35 bytes data, server => client 19:29:19.155111 '221 curl ESMTP server signing off\r\n' 19:29:19.155986 ====> Client disconnect 19:29:19.156121 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stdin-for-3215 From: different To: another body === End of file stdin-for-3215 === Start of file valgrind3215 ==188712== ==188712== Process terminating with default action of signal 4 (SIGILL) ==188712== Illegal opcode at address 0x492B75F ==188712== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188712== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188712== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188712== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188712== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188712== by 0x49908EB: curl_version_info (version.c:600) ==188712== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188712== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188712== by 0x4003269: main (tool_main.c:195) === End of file valgrind3215 test 3217 [FTP with control characters in PWD response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3217 ../src/curl -q --output log/2/curl3217.out --include --trace-ascii log/2/trace3217 --trace-time ftp://127.0.0.1:38033/3217 > log/2/stdout3217 2> log/2/stderr3217 3217: protocol FAILED! There was no content at all in the file log/2/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/2/ directory after test 3217 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3217 ../src/curl -q --output log/2/curl3217.out --include --trace-ascii log/2/trace3217 --trace-time ftp://127.0.0.1:38033/3217 > log/2/stdout3217 2> log/2/stderr3217 === End of file commands.log === Start of file ftp_server.log 19:29:19.597071 ====> Client connect 19:29:19.597291 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:19.597588 < "USER anonymous" 19:29:19.597626 > "331 We are happy you popped in![CR][LF]" 19:29:19.597813 < "PASS ftp@example.com" 19:29:19.597844 > "230 Welcome you silly person[CR][LF]" 19:29:19.598016 < "PWD" 19:29:19.598052 > "257 "/" is current directory[CR][LF]" 19:29:19.598231 < "EPSV" 19:29:19.598258 ====> Passive DATA channel requested by client 19:29:19.598275 DATA sockfilt for passive data channel starting... 19:29:19.605553 DATA sockfilt for passive data channel started (pid 188716) 19:29:19.605691 DATA sockfilt for passive data channel listens on port 46877 19:29:19.605740 > "229 Entering Passive Mode (|||46877|)[CR][LF]" 19:29:19.605762 Client has been notified that upcoming DATA connection is awaited on port 46877 19:29:19.606133 Client connects to port 46877 19:29:19.606168 ====> Client established passive DATA connection on port 46877 19:29:19.606259 < "TYPE I" 19:29:19.606293 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:19.606481 < "SIZE verifiedserver" 19:29:19.606729 > "213 17[CR][LF]" 19:29:19.606797 < "RETR verifiedserver" 19:29:19.606837 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:19.606938 =====> Closing passive DATA connection... 19:29:19.606958 Server disconnects passive DATA connection 19:29:19.607207 Server disconnected passive DATA connection 19:29:19.607238 DATA sockfilt for passive data channel quits (pid 188716) 19:29:19.607603 DATA sockfilt for passive data channel quit (pid 188716) 19:29:19.607634 =====> Closed passive DATA connection 19:29:19.607667 > "226 File transfer complete[CR][LF]" 19:29:19.652346 < "QUIT" 19:29:19.659245 > "221 bye bye baby[CR][LF]" 19:29:19.659302 MAIN sockfilt said DISC 19:29:19.659326 ====> Client disconnected 19:29:19.659401 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:19.199327 ====> Client connect 19:29:19.199684 Received DATA (on stdin) 19:29:19.199700 > 146 bytes data, server => client 19:29:19.199711 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:19.199721 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:19.199729 '220 \___|\___/|_| \_\_____|\r\n' 19:29:19.199808 < 16 bytes data, client => server 19:29:19.199823 'USER anonymous\r\n' 19:29:19.200006 Received DATA (on stdin) 19:29:19.200018 > 33 bytes data, server => client 19:29:19.200028 '331 We are happy you popped in!\r\n' 19:29:19.200091 < 22 bytes data, client => server 19:29:19.200103 'PASS ftp@example.com\r\n' 19:29:19.200221 Received DATA (on stdin) 19:29:19.200233 > 30 bytes data, server => client 19:29:19.200243 '230 Welcome you silly person\r\n' 19:29:19.200298 < 5 bytes data, client => server 19:29:19.200310 'PWD\r\n' 19:29:19.200428 Received DATA (on stdin) 19:29:19.200440 > 30 bytes data, server => client 19:29:19.200450 '257 "/" is current directory\r\n' 19:29:19.200516 < 6 bytes data, client => server 19:29:19.200529 'EPSV\r\n' 19:29:19.208145 Received DATA (on stdin) 19:29:19.208161 > 39 bytes data, server => client 19:29:19.208170 '229 Entering Passive Mode (|||46877|)\r\n' 19:29:19.208421 < 8 bytes data, client => server 19:29:19.208438 'TYPE I\r\n' 19:29:19.208671 Received DATA (on stdin) 19:29:19.208682 > 33 bytes data, server => client 19:29:19.208692 '200 I modify TYPE as you wanted\r\n' 19:29:19.208759 < 21 bytes data, client => server 19:29:19.208771 'SIZE verifiedserver\r\n' 19:29:19.208876 Received DATA (on stdin) 19:29:19.208886 > 8 bytes data, server => client 19:29:19.208901 '213 17\r\n' 19:29:19.208948 < 21 bytes data, client => server 19:29:19.208959 'RETR verifiedserver\r\n' 19:29:19.209336 Received DATA (on stdin) 19:29:19.209348 > 29 bytes data, server => client 19:29:19.209357 '150 Binary junk (17 bytes).\r\n' 19:29:19.210046 Received DATA (on stdin) 19:29:19.210059 > 28 bytes data, server => client 19:29:19.210069 '226 File transfer complete\r\n' 19:29:19.254519 < 6 bytes data, client => server 19:29:19.254552 'QUIT\r\n' 19:29:19.254760 Received DATA (on stdin) 19:29:19.254774 > 18 bytes data, server => client 19:29:19.254793 '221 bye bye baby\r\n' 19:29:19.261046 ====> Client disconnect 19:29:19.261774 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:19.202648 Running IPv4 version 19:29:19.202718 Listening on port 46877 19:29:19.202760 Wrote pid 188716 to log/2/server/ftp_sockdata.pid 19:29:19.207844 Received PING (on stdin) 19:29:19.207968 Received PORT (on stdin) 19:29:19.208459 ====> Client connect 19:29:19.209386 Received DATA (on stdin) 19:29:19.209398 > 17 bytes data, server => client 19:29:19.209407 'WE ROOLZ: 85208\r\n' 19:29:19.209434 Received DISC (on stdin) 19:29:19.209444 ====> Client forcibly disconnected 19:29:19.209625 Received QUIT (on stdin) 19:29:19.209637 quits 19:29:19.209739 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY PWD 257 "/" Testnum 3217 === End of file server.cmd === Start of file valgrind3217 ==188811== ==188811== Process terminating with default action of signal 4 (SIGILL) ==188811== Illegal opcode at address 0x492B75F ==188811== at 0x492B75F: formaCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3230 ./unit/units unit3230 - > log/24/stdout3230 2> log/24/stderr3230 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3220 ../src/curl -q --output log/23/curl3220.out --include --trace-ascii log/23/trace3220 --trace-time http://127.0.0.1:44711/3220 --haproxy-clientip "2a04:4e42::347" -H "Testno: 3220" > log/23/stdout3220 2> log/23/stderr3220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3224 ../src/curl -q --include --trace-ascii log/19/trace3224 --trace-time http://127.0.0.1:37077/3224 -u user1:password1 -o log/19/3224-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:37077/32240001 -u user2:password2 -o log/19/3224-2 -w "connects=%{num_connects}/" > log/19/stdout3224 2> log/19/stderr3224 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3226 ../src/curl -q --include --trace-ascii log/14/trace3226 --trace-time http://127.0.0.1:45467/3226 -o log/14/3226-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:45467/32260001 -o log/14/3226-2 -w "connects=%{num_connects}/" > log/14/stdout3226 2> log/14/stderr3226 tf.constprop.2 (mprintf.c:1115) ==188811== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188811== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188811== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188811== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188811== by 0x49908EB: curl_version_info (version.c:600) ==188811== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188811== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188811== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188811== by 0x4003269: main (tool_main.c:195) === End of file valgrind3217 test 3230 [multi timer unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3230 ./unit/units unit3230 - > log/24/stdout3230 2> log/24/stderr3230 units returned 132, when expecting 0 3230: exit FAILED == Contents of files in the log/24/ directory after test 3230 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind3230 ./unit/units unit3230 - > log/24/stdout3230 2> log/24/stderr3230 === End of file commands.log === Start of file server.cmd Testnum 3230 === End of file server.cmd === Start of file valgrind3230 ==189416== ==189416== Process terminating with default action of signal 4 (SIGILL) ==189416== Illegal opcode at address 0x4091F7F ==189416== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189416== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189416== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189416== by 0x400B1A9: main (first.c:264) === End of file valgrind3230 test 3220 [HTTP GET when PROXY Protocol enabled and spoofed client IPv6] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3220 ../src/curl -q --output log/23/curl3220.out --include --trace-ascii log/23/trace3220 --trace-time http://127.0.0.1:44711/3220 --haproxy-clientip "2a04:4e42::347" -H "Testno: 3220" > log/23/stdout3220 2> log/23/stderr3220 3220: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/23/ directory after test 3220 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind3220 ../src/curl -q --output log/23/curl3220.out --include --trace-ascii log/23/trace3220 --trace-time http://127.0.0.1:44711/3220 --haproxy-clientip "2a04:4e42::347" -H "Testno: 3220" > log/23/stdout3220 2> log/23/stderr3220 === End of file commands.log === Start of file http_server.log 19:29:19.304410 ====> Client connect 19:29:19.304443 accept_connection 3 returned 4 19:29:19.304463 Read 93 bytes 19:29:19.304472 Process 93 bytes request 19:29:19.304485 Got request: GET /verifiedserver HTTP/1.1 19:29:19.304492 Are-we-friendly question received 19:29:19.304516 Wrote request (93 bytes) input to log/23/server.input 19:29:19.304531 Identifying ourselves as friends 19:29:19.304594 Response sent (56 bytes) and written to log/23/server.response 19:29:19.304603 special request received, no persistency 19:29:19.304610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44711... * Established connection to 127.0.0.1 (127.0.0.1 port 44711) from 127.0.0.1 port 34028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44711 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44711 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78983 === End of file http_verify.out === Start of file server.cmd Testnum 3220 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78983 === End of file server.response === Start of file valgrind3220 ==188804== ==188804== Process terminating with default action of signal 4 (SIGILL) ==188804== Illegal opcode at address 0x492B75F ==188804== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188804== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188804== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188804== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188804== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188804== by 0x49908EB: curl_version_info (version.c:600) ==188804== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188804== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188804== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188804== by 0x4003269: main (tool_main.c:195) === End of file valgrind3220 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3223 ../src/curl -q --include --trace-ascii log/8/trace3223 --trace-time http://127.0.0.1:44467/3223 -o log/8/3223-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:44467/32230001 -o log/8/3223-2 -w "connects=%{num_connects}/" > log/8/stdout3223 2> log/8/stderr3223 test 3224 [HTTP connection reused across different Basic auth credentials] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3224 ../src/curl -q --include --trace-ascii log/19/trace3224 --trace-time http://127.0.0.1:37077/3224 -u user1:password1 -o log/19/3224-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:37077/32240001 -u user2:password2 -o log/19/3224-2 -w "connects=%{num_connects}/" > log/19/stdout3224 2> log/19/stderr3224 3224: stdout FAILED: --- log/19/check-expected 2026-10-15 19:29:22.210083824 +0000 +++ log/19/check-generated 2026-10-15 19:29:22.205762144 +0000 @@ -1 +0,0 @@ -connects=1/connects=0/ == Contents of files in the log/19/ directory after test 3224 === Start of file check-expected connects=1/connects=0/ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind3224 ../src/curl -q --include --trace-ascii log/19/trace3224 --trace-time http://127.0.0.1:37077/3224 -u user1:password1 -o log/19/3224-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:37077/32240001 -u user2:password2 -o log/19/3224-2 -w "connects=%{num_connects}/" > log/19/stdout3224 2> log/19/stderr3224 === End of file commands.log === Start of file http_server.log 19:29:19.599977 ====> Client connect 19:29:19.600012 accept_connection 3 returned 4 19:29:19.600033 Read 93 bytes 19:29:19.600042 Process 93 bytes request 19:29:19.600055 Got request: GET /verifiedserver HTTP/1.1 19:29:19.600064 Are-we-friendly question received 19:29:19.600091 Wrote request (93 bytes) input to log/19/server.input 19:29:19.600108 Identifying ourselves as friends 19:29:19.600181 Response sent (57 bytes) and written to log/19/server.response 19:29:19.600191 special request received, no persistency 19:29:19.600199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 53120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 3224 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind3224 ==189042== ==189042== Process terminating with default action of signal 4 (SIGILL) ==189042== Illegal opcode at address 0x492B75F ==189042== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189042== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189042== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189042== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189042== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189042== by 0x49908EB: curl_version_info (version.c:600) ==189042== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189042== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189042== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189042== by 0x4003269: main (tool_main.c:195) === End of file valgrind3224 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3221 ../src/curl -q --output log/6/curl3221.out --include --trace-ascii log/6/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:33935/ --digest > log/6/stdout3221 2> log/6/stderr3221 test 3223 [HTTP connection not reused after partial/aborted response] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3223 ../src/curl -q --include --trace-ascii log/8/trace3223 --trace-time http://127.0.0.1:44467/3223 -o log/8/3223-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:44467/32230001 -o log/8/3223-2 -w "connects=%{num_connects}/" > log/8/stdout3223 2> log/8/stderr3223 3223: stdout FAILED: --- log/8/check-expected 2026-10-15 19:29:22.231277429 +0000 +++ log/8/check-generated 2026-10-15 19:29:22.225761782 +0000 @@ -1 +0,0 @@ -connects=1/connects=1/ == Contents of files in the log/8/ directory after test 3223 === Start of file check-expected connects=1/connects=1/ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind3223 ../src/curl -q --include --trace-ascii log/8/trace3223 --trace-time http://127.0.0.1:44467/3223 -o log/8/3223-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:44467/32230001 -o log/8/3223-2 -w "connects=%{num_connects}/" > log/8/stdout3223 2> log/8/stderr3223 === End of file commands.log === Start of file http_server.log 19:29:19.517356 ====> Client connect 19:29:19.517391 accept_connection 3 returned 4 19:29:19.517416 Read 93 bytes 19:29:19.517426 Process 93 bytes request 19:29:19.517440 Got request: GET /verifiedserver HTTP/1.1 19:29:19.517448 Are-we-friendly question received 19:29:19.517477 Wrote request (93 bytes) input to log/8/server.input 19:29:19.517495 Identifying ourselves as friends 19:29:19.517564 Response sent (56 bytes) and written to log/8/server.response 19:29:19.517575 special request received, no persistency 19:29:19.517584 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 38040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 3223 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind3223 ==188994== ==188994== Process terminating with default action of signal 4 (SIGILL) ==188994== Illegal opcode at address 0x492B75F ==188994== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188994== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188994== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188994== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188994== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188994== by 0x49908EB: curl_version_info (version.c:600) ==188994== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188994== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188994== by 0x4003269: main (tool_main.c:195) === End of file valgrind3223 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3271 ./unit/units unit3271 - > log/10/stdout3271 2> log/10/stderr3271 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3234 ./libtest/libtests lib3234 http://127.0.0.1:32943/3234 > log/4/stdout3234 2> log/4/stderr3234 test 3226 [HTTP connection is reused for same host] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3226 ../src/curl -q --include --trace-ascii log/14/trace3226 --trace-time http://127.0.0.1:45467/3226 -o log/14/3226-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:45467/32260001 -o log/14/3226-2 -w "connects=%{num_connects}/" > log/14/stdout3226 2> log/14/stderr3226 3226: stdout FAILED: --- log/14/check-expected 2026-10-15 19:29:22.266939375 +0000 +++ log/14/check-generated 2026-10-15 19:29:22.262427784 +0000 @@ -1 +0,0 @@ -connects=1/connects=0/ == Contents of files in the log/14/ directory after test 3226 === Start of file check-expected connects=1/connects=0/ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind3226 ../src/curl -q --include --trace-ascii log/14/trace3226 --trace-time http://127.0.0.1:45467/3226 -o log/14/3226-1 -w "connects=%{num_connects}/" --next http://127.0.0.1:45467/32260001 -o log/14/3226-2 -w "connects=%{num_connects}/" > log/14/stdout3226 2> log/14/stderr3226 === End of file commands.log === Start of file http_server.log 19:29:19.685716 ====> Client connect 19:29:19.685751 accept_connection 3 returned 4 19:29:19.685772 Read 93 bytes 19:29:19.685781 Process 93 bytes request 19:29:19.685794 Got request: GET /verifiedserver HTTP/1.1 19:29:19.685803 Are-we-friendly question received 19:29:19.685829 Wrote request (93 bytes) input to log/14/server.input 19:29:19.685852 Identifying ourselves as friends 19:29:19.685910 Response sent (56 bytes) and written to log/14/server.response 19:29:19.685919 special request received, no persistency 19:29:19.685927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:45467... * Established connection to 127.0.0.1 (127.0.0.1 port 45467) from 127.0.0.1 port 35716 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78993 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 3226 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78993 === End of file server.response === Start of file valgrind3226 ==189118== ==189118== Process terminating with default action of signal 4 (SIGILL) ==189118== Illegal opcode at address 0x492B75F ==189118== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189118== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189118== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189118== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189118== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189118== by 0x49908EB: curl_version_info (version.c:600) ==189118== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189118== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189118== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189118== by 0x4003269: main (tool_main.c:195) === End of file valgrind3226 test 3221 [HTTP Digest with CRLF in username] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3221 ../src/curl -q --output log/6/curl3221.out --include --trace-ascii log/6/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:33935/ --digest > log/6/stdout3221 2> log/6/stderr3221 3221: protocol FAILED! There was no content at all in the file log/6/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ directory after test 3221 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind3221 ../src/curl -q --output log/6/curl3221.out --include --trace-ascii log/6/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:33935/ --digest > log/6/stdout3221 2> log/6/stderr3221 === End of file commands.log === Start of file http_server.log 19:29:19.521092 ====> Client connect 19:29:19.521129 accept_connection 3 returned 4 19:29:19.521150 Read 93 bytes 19:29:19.521160 Process 93 bytes request 19:29:19.521170 Got request: GET /verifiedserver HTTP/1.1 19:29:19.521178 Are-we-friendly question received 19:29:19.521203 Wrote request (93 bytes) input to log/6/server.input 19:29:19.521218 Identifying ourselves as friends 19:29:19.521294 Response sent (56 bytes) and written to log/6/server.response 19:29:19.521304 special request received, no persistency 19:29:19.521313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33935... * Established connection to 127.0.0.1 (127.0.0.1 port 33935) from 127.0.0.1 port 58882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33935 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:33935 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 82167 === End of file http_verify.out === Start of file server.cmd Testnum 3221 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 82167 === End of file server.response === Start of file valgrind3221 ==188989== ==188989== Process terminating with default action of signal 4 (SIGILL) ==188989== Illegal opcode at address 0x492B75F ==188989== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==188989== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==188989== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==188989== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==188989== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==188989== by 0x49908EB: curl_version_info (version.c:600) ==188989== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==188989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==188989== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==188989== by 0x4003269: main (tool_main.c:195) === End of file valgrind3221 test 3271 [CURLOPT_RESOLVE override] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3271 ./unit/units unit3271 - > log/10/stdout3271 2> log/10/stderr3271 units returned 132, when expecting 0 3271: exit FAILED == Contents of files in the log/10/ directory after test 3271 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind3271 ./unit/units unit3271 - > log/10/stdout3271 2> log/10/stderr3271 === End of file commands.log === Start of file server.cmd Testnum 3271 === End of file server.cmd === Start of file valgrind3271 ==189634== ==189634== Process terminating with default action of signal 4 (SIGILL) ==189634== Illegal opcode at address 0x4091F7F ==189634== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189634== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189634== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189634== by 0x400B1A9: main (first.c:264) === End of file valgrind3271 test 3234 [CONNECT_ONLY forgets connection when attaching a shared pool] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leakCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3225 ../src/curl -q --include --trace-ascii log/16/trace3225 --trace-time http://host-a.example.test:35903/3225 --resolve host-a.example.test:35903:127.0.0.1 -o log/16/3225-1 -w "connects=%{num_connects}/" --next http://host-b.example.test:35903/32250001 --resolve host-b.example.test:35903:127.0.0.1 -o log/16/3225-2 -w "connects=%{num_connects}/" > log/16/stdout3225 2> log/16/stderr3225 -check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3234 ./libtest/libtests lib3234 http://127.0.0.1:32943/3234 > log/4/stdout3234 2> log/4/stderr3234 libtests returned 132, when expecting 0 3234: exit FAILED == Contents of files in the log/4/ directory after test 3234 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind3234 ./libtest/libtests lib3234 http://127.0.0.1:32943/3234 > log/4/stdout3234 2> log/4/stderr3234 === End of file commands.log === Start of file http_server.log 19:29:21.618876 ====> Client connect 19:29:21.618918 accept_connection 3 returned 4 19:29:21.618942 Read 93 bytes 19:29:21.618952 Process 93 bytes request 19:29:21.618967 Got request: GET /verifiedserver HTTP/1.1 19:29:21.618982 Are-we-friendly question received 19:29:21.619014 Wrote request (93 bytes) input to log/4/server.input 19:29:21.619032 Identifying ourselves as friends 19:29:21.619105 Response sent (57 bytes) and written to log/4/server.response 19:29:21.619114 special request received, no persistency 19:29:21.619122 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:32943... * Established connection to 127.0.0.1 (127.0.0.1 port 32943) from 127.0.0.1 port 41048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32943 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:32943 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 165851 === End of file http_verify.out === Start of file server.cmd Testnum 3234 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 165851 === End of file server.response === Start of file valgrind3234 ==189635== ==189635== Process terminating with default action of signal 4 (SIGILL) ==189635== Illegal opcode at address 0x51CC63F ==189635== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==189635== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==189635== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==189635== by 0x40041AF: main (first.c:264) === End of file valgrind3234 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3231 ./libtest/libtests lib3231 http://127.0.0.1:35989/3231 > log/22/stdout3231 2> log/22/stderr3231 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3302 ./unit/units unit3302 - > log/7/stdout3302 2> log/7/stderr3302 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3218 ../src/curl -q --output log/13/curl3218.out --include --trace-ascii log/13/trace3218 --trace-time ftp://127.0.0.1:46067/3218 > log/13/stdout3218 2> log/13/stderr3218 test 3225 [HTTP connection not reused when target host changes] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3225 ../src/curl -q --include --trace-ascii log/16/trace3225 --trace-time http://host-a.example.test:35903/3225 --resolve host-a.example.test:35903:127.0.0.1 -o log/16/3225-1 -w "connects=%{num_connects}/" --next http://host-b.example.test:35903/32250001 --resolve host-b.example.test:35903:127.0.0.1 -o log/16/3225-2 -w "connects=%{num_connects}/" > log/16/stdout3225 2> log/16/stderr3225 3225: stdout FAILED: --- log/16/check-expected 2026-10-15 19:29:22.597252244 +0000 +++ log/16/check-generated 2026-10-15 19:29:22.594620524 +0000 @@ -1 +0,0 @@ -connects=1/connects=1/ == Contents of files in the log/16/ directory after test 3225 === Start of file check-expected connects=1/connects=1/ === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind3225 ../src/curl -q --include --trace-ascii log/16/trace3225 --trace-time http://host-a.example.test:35903/3225 --resolve host-a.example.test:35903:127.0.0.1 -o log/16/3225-1 -w "connects=%{num_connects}/" --next http://host-b.example.test:35903/32250001 --resolve host-b.example.test:35903:127.0.0.1 -o log/16/3225-2 -w "connects=%{num_connects}/" > log/16/stdout3225 2> log/16/stderr3225 === End of file commands.log === Start of file http_server.log 19:29:20.593837 ====> Client connect 19:29:20.593876 accept_connection 3 returned 4 19:29:20.594039 Read 93 bytes 19:29:20.594056 Process 93 bytes request 19:29:20.594069 Got request: GET /verifiedserver HTTP/1.1 19:29:20.594077 Are-we-friendly question received 19:29:20.594110 Wrote request (93 bytes) input to log/16/server.input 19:29:20.594129 Identifying ourselves as friends 19:29:20.594196 Response sent (56 bytes) and written to log/16/server.response 19:29:20.594207 special request received, no persistency 19:29:20.594215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35903... * Established connection to 127.0.0.1 (127.0.0.1 port 35903) from 127.0.0.1 port 56664 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35903 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35903 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78990 === End of file http_verify.out === Start of file server.cmd connection-monitor Testnum 3225 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78990 === End of file server.response === Start of file valgrind3225 ==189088== ==189088== Process terminating with default action of signal 4 (SIGILL) ==189088== Illegal opcode at address 0x492B75F ==189088== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189088== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189088== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189088== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189088== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189088== by 0x49908EB: curl_version_info (version.c:600) ==189088== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189088== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189088== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189088== by 0x4003269: main (tool_main.c:195) === End of file valgrind3225 test 3231 [CONNECT_ONLY survives the per-host connection limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3231 ./libtest/libtests lib3231 http://127.0.0.1:35989/3231 > log/22/stdout3231 2> log/22/stderr3231 3231: protocol FAILED! There was no content at all in the file log/22/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/22/ directory after test 3231 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind3231 ./libtest/libtests lib3231 http://127.0.0.1:35989/3231 > log/22/stdout3231 2> log/22/stderr3231 === End of file commands.log === Start of file http_server.log 19:29:20.518244 ====> Client connect 19:29:20.518279 accept_connection 3 returned 4 19:29:20.518302 Read 93 bytes 19:29:20.518311 Process 93 bytes request 19:29:20.518323 Got request: GET /verifiedserver HTTP/1.1 19:29:20.518331 Are-we-friendly question received 19:29:20.518354 Wrote request (93 bytes) input to log/22/server.input 19:29:20.518368 Identifying ourselves as friends 19:29:20.518445 Response sent (56 bytes) and written to log/22/server.response 19:29:20.518454 special request received, no persistency 19:29:20.518461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35989... * Established connection to 127.0.0.1 (127.0.0.1 port 35989) from 127.0.0.1 port 58670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35989 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35989 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78984 === End of file http_verify.out === Start of file server.cmd Testnum 3231 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78984 === End of file server.response === Start of file valgrind3231 ==189559== ==189559== Process terminating with default action of signal 4 (SIGILL) ==189559== Illegal opcode at address 0x51CC63F ==189559== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==189559== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==189559== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==189559== by 0x40041AF: main (first.c:264) === End of file valgrind3231 test 3302 [CURLOPT_GSSAPI_DELEGATION stores flags in data->set] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3302 ./unit/units unit3302 - > log/7/stdout3302 2> log/7/stderr3302 units returned 132, when expecting 0 3302: exit FAILED == Contents of files in the log/7/ directory after test 3302 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind3302 ./unit/units unit3302 - > log/7/stdout3302 2> log/7/stderr3302 === End of file commands.log === Start of file server.cmd Testnum 3302 === End of file server.cmd === Start of file valgrind3302 ==189853== ==189853== Process terminating with default action of signal 4 (SIGILL) ==189853== Illegal opcode at address 0x4091F7F ==189853== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189853== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189853== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189853== by 0x400B1A9: main (first.c:264) === End of file valgrind3302 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/13/server/ftp_server.pid" --logfile "log/13/ftp_server.log" --logdir "log/13" --portfile "log/13/server/ftp_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 46067 (log/13/server/ftp_server.port) RUN: FTP server is PID 188726 port 46067 * pid ftp => 188726 188726 test 3CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3303 ./unit/units unit3303 - > log/9/stdout3303 2> log/9/stderr3303 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3301 ./unit/units unit3301 - > log/12/stdout3301 2> log/12/stderr3301 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3232 ./libtest/libtests lib3231 http://127.0.0.1:39881/3232 > log/21/stdout3232 2> log/21/stderr3232 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3300 ./unit/units unit3300 - > log/3/stdout3300 2> log/3/stderr3300 218 [FTP with CR control character in PWD response path] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3218 ../src/curl -q --output log/13/curl3218.out --include --trace-ascii log/13/trace3218 --trace-time ftp://127.0.0.1:46067/3218 > log/13/stdout3218 2> log/13/stderr3218 3218: protocol FAILED! There was no content at all in the file log/13/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/13/ directory after test 3218 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/13/valgrind3218 ../src/curl -q --output log/13/curl3218.out --include --trace-ascii log/13/trace3218 --trace-time ftp://127.0.0.1:46067/3218 > log/13/stdout3218 2> log/13/stderr3218 === End of file commands.log === Start of file ftp_server.log 19:29:19.705046 FTP server listens on port IPv4/46067 19:29:19.705149 logged pid 188726 in log/13/server/ftp_server.pid 19:29:19.705180 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:19.307000 Running IPv4 version 19:29:19.307095 Listening on port 46067 19:29:19.307133 Wrote pid 188792 to log/13/server/ftp_sockctrl.pid 19:29:19.307164 Wrote port 46067 to log/13/server/ftp_server.port 19:29:19.307326 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY PWD 257 "/ " Testnum 3218 === End of file server.cmd === Start of file valgrind3218 ==189336== ==189336== Process terminating with default action of signal 4 (SIGILL) ==189336== Illegal opcode at address 0x492B75F ==189336== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189336== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189336== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189336== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189336== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189336== by 0x49908EB: curl_version_info (version.c:600) ==189336== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189336== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189336== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189336== by 0x4003269: main (tool_main.c:195) === End of file valgrind3218 test 3303 [conn-reuse distinguishes mTLS key, cert_type, key_type and key_passwd] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3303 ./unit/units unit3303 - > log/9/stdout3303 2> log/9/stderr3303 units returned 132, when expecting 0 3303: exit FAILED == Contents of files in the log/9/ directory after test 3303 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind3303 ./unit/units unit3303 - > log/9/stdout3303 2> log/9/stderr3303 === End of file commands.log === Start of file server.cmd Testnum 3303 === End of file server.cmd === Start of file valgrind3303 ==189894== ==189894== Process terminating with default action of signal 4 (SIGILL) ==189894== Illegal opcode at address 0x4091F7F ==189894== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189894== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189894== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189894== by 0x400B1A9: main (first.c:264) === End of file valgrind3303 test 3301 [thrdqueue unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3301 ./unit/units unit3301 - > log/12/stdout3301 2> log/12/stderr3301 units returned 132, when expecting 0 3301: exit FAILED == Contents of files in the log/12/ directory after test 3301 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind3301 ./unit/units unit3301 - > log/12/stdout3301 2> log/12/stderr3301 === End of file commands.log === Start of file server.cmd Testnum 3301 === End of file server.cmd === Start of file valgrind3301 ==189671== ==189671== Process terminating with default action of signal 4 (SIGILL) ==189671== Illegal opcode at address 0x4091F7F ==189671== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189671== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189671== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189671== by 0x400B1A9: main (first.c:264) === End of file valgrind3301 test 3232 [CONNECT_ONLY survives the total connection limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3232 ./libtest/libtests lib3231 http://127.0.0.1:39881/3232 > log/21/stdout3232 2> log/21/stderr3232 3232: protocol FAILED! There was no content at all in the file log/21/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/21/ directory after test 3232 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/21/valgrind3232 ./libtest/libtests lib3231 http://127.0.0.1:39881/3232 > log/21/stdout3232 2> log/21/stderr3232 === End of file commands.log === Start of file http_server.log 19:29:20.531070 ====> Client connect 19:29:20.531132 accept_connection 3 returned 4 19:29:20.531168 Read 93 bytes 19:29:20.531179 Process 93 bytes request 19:29:20.531193 Got request: GET /verifiedserver HTTP/1.1 19:29:20.531203 Are-we-friendly question received 19:29:20.531237 Wrote request (93 bytes) input to log/21/server.input 19:29:20.531255 Identifying ourselves as friends 19:29:20.531360 Response sent (56 bytes) and written to log/21/server.response 19:29:20.531374 special request received, no persistency 19:29:20.531383 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39881... * Established connection to 127.0.0.1 (127.0.0.1 port 39881) from 127.0.0.1 port 54712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39881 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39881 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78985 === End of file http_verify.out === Start of file server.cmd Testnum 3232 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78985 === End of file server.response === Start of file valgrind3232 ==189560== ==189560== Process terminating with default action of signal 4 (SIGILL) ==189560== Illegal opcode at address 0x51CC63F ==189560== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==189560== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==189560== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==189560== by 0x40041AF: main (first.c:264) === End of file valgrind3232 test 3300 [thrdpool unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3300 ./unit/units unit3300 - > log/3/stdout3300 2> log/3/stderr3300 units returned 132, when expecting 0 3300: exit FAILED == Contents of files in the log/3/ directory after test 3300 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/srCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3304 ./unit/units unit3304 - > log/5/stdout3304 2> log/5/stderr3304 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3400 ./unit/units unit3400 - > log/1/stdout3400 2> log/1/stderr3400 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3229 ../src/curl -q --output log/17/curl3229.out --include --trace-ascii log/17/trace3229 --trace-time -K - http://127.0.0.1:35993/3229 log/17/stdout3229 2> log/17/stderr3229 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3233 ./libtest/libtests lib3233 rtsp://127.0.0.1:40431/32330001 example.com:40431:127.0.0.1 > log/11/stdout3233 2> log/11/stderr3233 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3596 ./libtest/libtests lib3596 http://127.0.0.1:34531/3596 > log/2/stdout3596 2> log/2/stderr3596 c/curl/tests/valgrind.supp --num-callers=16 --log-file=log/3/valgrind3300 ./unit/units unit3300 - > log/3/stdout3300 2> log/3/stderr3300 === End of file commands.log === Start of file server.cmd Testnum 3300 === End of file server.cmd === Start of file valgrind3300 ==189642== ==189642== Process terminating with default action of signal 4 (SIGILL) ==189642== Illegal opcode at address 0x4091F7F ==189642== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189642== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189642== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189642== by 0x400B1A9: main (first.c:264) === End of file valgrind3300 test 3304 [TLS session cache peer key uses mTLS key, key_type and cert_type] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3304 ./unit/units unit3304 - > log/5/stdout3304 2> log/5/stderr3304 units returned 132, when expecting 0 3304: exit FAILED == Contents of files in the log/5/ directory after test 3304 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/5/valgrind3304 ./unit/units unit3304 - > log/5/stdout3304 2> log/5/stderr3304 === End of file commands.log === Start of file server.cmd Testnum 3304 === End of file server.cmd === Start of file valgrind3304 ==189913== ==189913== Process terminating with default action of signal 4 (SIGILL) ==189913== Illegal opcode at address 0x4091F7F ==189913== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189913== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189913== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189913== by 0x400B1A9: main (first.c:264) === End of file valgrind3304 test 3400 [capsule protocol encode and decode unit tests] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3400 ./unit/units unit3400 - > log/1/stdout3400 2> log/1/stderr3400 units returned 132, when expecting 0 3400: exit FAILED == Contents of files in the log/1/ directory after test 3400 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind3400 ./unit/units unit3400 - > log/1/stdout3400 2> log/1/stderr3400 === End of file commands.log === Start of file server.cmd Testnum 3400 === End of file server.cmd === Start of file valgrind3400 ==189987== ==189987== Process terminating with default action of signal 4 (SIGILL) ==189987== Illegal opcode at address 0x4091F7F ==189987== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==189987== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==189987== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==189987== by 0x400B1A9: main (first.c:264) === End of file valgrind3400 test 3229 [Reject a custom request header larger than the request buffer] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3229 ../src/curl -q --output log/17/curl3229.out --include --trace-ascii log/17/trace3229 --trace-time -K - http://127.0.0.1:35993/3229 log/17/stdout3229 2> log/17/stderr3229 curl returned 132, when expecting 100 3229: exit FAILED == Contents of files in the log/17/ directory after test 3229 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind3229 ../src/curl -q --output log/17/curl3229.out --include --trace-ascii log/17/trace3229 --trace-time -K - http://127.0.0.1:35993/3229 log/17/stdout3229 2> log/17/stderr3229 === End of file commands.log === Start of file http_server.log 19:29:21.416227 ====> Client connect 19:29:21.416263 accept_connection 3 returned 4 19:29:21.416282 Read 93 bytes 19:29:21.416291 Process 93 bytes request 19:29:21.416304 Got request: GET /verifiedserver HTTP/1.1 19:29:21.416312 Are-we-friendly question received 19:29:21.416335 Wrote request (93 bytes) input to log/17/server.input 19:29:21.416350 Identifying ourselves as friends 19:29:21.416404 Response sent (56 bytes) and written to log/17/server.response 19:29:21.416412 special request received, no persistency 19:29:21.416423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35993... * Established connection to 127.0.0.1 (127.0.0.1 port 35993) from 127.0.0.1 port 45506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35993 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35993 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 78989 === End of file http_verify.out === Start of file server.cmd Testnum 3229 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 78989 === End of file server.response === Start of file stdin-for-3229 header "X-Large: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3595 ./libtest/libtests lib3595 - > log/15/stdout3595 2> log/15/stderr3595 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3228 ../src/curl -q --output log/20/curl3228.out --include --trace-ascii log/20/trace3228 --trace-time -K - http://127.0.0.1:41689/3228 log/20/stdout3228 2> log/20/stderr3228 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file stdin-for-3229 === Start of file valgrind3229 ==189469== ==189469== Process terminating with default action of signal 4 (SIGILL) ==189469== Illegal opcode at address 0x492B75F ==189469== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189469== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189469== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189469== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189469== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189469== by 0x49908EB: curl_version_info (version.c:600) ==189469== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189469== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189469== by 0x4003269: main (tool_main.c:195) === End of file valgrind3229 test 3596 [Curl_mime_prepare_headers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3596 ./libtest/libtests lib3596 http://127.0.0.1:34531/3596 > log/2/stdout3596 2> log/2/stderr3596 libtests returned 132, when expecting 0 3596: exit FAILED == Contents of files in the log/2/ directory after test 3596 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind3596 ./libtest/libtests lib3596 http://127.0.0.1:34531/3596 > log/2/stdout3596 2> log/2/stderr3596 === End of file commands.log === Start of file http_server.log 19:29:22.614469 ====> Client connect 19:29:22.614510 accept_connection 3 returned 4 19:29:22.614536 Read 93 bytes 19:29:22.614545 Process 93 bytes request 19:29:22.614558 Got request: GET /verifiedserver HTTP/1.1 19:29:22.614567 Are-we-friendly question received 19:29:22.614592 Wrote request (93 bytes) input to log/2/server.input 19:29:22.614608 Identifying ourselves as friends 19:29:22.614696 Response sent (56 bytes) and written to log/2/server.response 19:29:22.614706 special request received, no persistency 19:29:22.614714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:34531... * Established connection to 127.0.0.1 (127.0.0.1 port 34531) from 127.0.0.1 port 60046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:34531 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:34531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79439 === End of file http_verify.out === Start of file server.cmd Testnum 3596 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79439 === End of file server.response === Start of file valgrind3596 ==190133== ==190133== Process terminating with default action of signal 4 (SIGILL) ==190133== Illegal opcode at address 0x51CC63F ==190133== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==190133== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==190133== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==190133== by 0x40041AF: main (first.c:264) === End of file valgrind3596 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/11/server/rtsp_server.pid" --portfile "log/11/server/rtsp_server.port" --logfile "log/11/rtsp_server.log" --logdir "log/11" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 189495 port 40431 * pid rtsp => 189495 189495 test 3233 [RTSP session id is not sent to another origin after a redirect] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3233 ./libtest/libtests lib3233 rtsp://127.0.0.1:40431/32330001 example.com:40431:127.0.0.1 > log/11/stdout3233 2> log/11/stderr3233 3233: protocol FAILED! There was no content at all in the file log/11/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/11/ directory after test 3233 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind3233 ./libtest/libtests lib3233 rtsp://127.0.0.1:40431/32330001 example.com:40431:127.0.0.1 > log/11/stdout3233 2> log/11/stderr3233 === End of file commands.log === Start of file rtsp_server.log 19:29:20.538369 Running IPv4 version on port 40431 19:29:20.538469 Wrote pid 189495 to log/11/server/rtsp_server.pid 19:29:20.538504 Wrote port 40431 to log/11/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 3233 === End of file server.cmd === Start of file valgrind3233 ==190071== ==190071== Process terminating with default action of signal 4 (SIGILL) ==190071== Illegal opcode at address 0x51CC63F ==190071== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==190071== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==190071== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==190071== by 0x40041AF: main (first.c:264) === End of file valgrind3233 test 3595 [curl_mime_free] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3595 ./libtest/libtests lib3595 - > log/15/stdout3595 2> log/15/stderr3595 libtests returned 132, when expecting 0 3595: exit FAILED == Contents of files in the log/15/ directory after test 3595 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind3595 ./libtest/libtests lib3595 - > log/15/stdout3595 2> log/15/stderr3595 === End of file commands.log === Start of file server.cmd Testnum 3595 === End of file server.cmd === Start of file valgrind3595 ==190040== ==190040== Process terminating with default action of signal 4 (SIGILL) ==190040== Illegal opcode at address 0x51CC63F ==190040== at 0x51CC63F: formatf.constprop.1 (mprintf.c:1115) ==190040== by 0x51D058B: curl_mvfprintf (mprintf.c:1482) ==190040== by 0x51D0662: curl_mfprintf (mprintf.c:1493) ==190040== by 0x40041AF: main (first.c:264) === End of file valgrind3595 test 3228 [Send custom request headers larger than the response header limit] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3228 ../src/curl -q --output log/20/curl3228.out --include --trace-ascii log/20/trace3228 --trace-time -K - http://127.0.0.1:41689/3228 log/20/stdout3228 2> log/20/stderr3228 3228: protocol FAILED! There was no content at all in the file log/20/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/20/ directory after test 3228 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind3228 ../src/curl -q --output log/20/curl3228.out --include --trace-ascii log/20/trace3228 --trace-time -K - http://127.0.0.1:41689/3228 log/20/stdout3228 2> log/20/stderr3228 === End of file commands.log === Start of file http_server.log 19:29:20.357782 ====> Client connect 19:29:20.357825 accept_connection 3 returned 4 19:29:20.357851 Read 93 bytes 19:29:20.357860 Process 93 bytes request 19:29:20.357873 Got request: GET /verifiedserver HTTP/1.1 19:29:20.357882 Are-we-friendly question received 19:29:20.357913 Wrote request (93 bytes) input to log/20/server.input 19:29:20.357928 Identifying ourselves as friends 19:29:20.358011 Response sent (57 bytes) and written to log/20/server.response 19:29:20.358020 special request received, no persistency 19:29:20.358028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41689... * Established connection to 127.0.0.1 (127.0.0.1 port 41689) from 127.0.0.1 port 39702 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41689 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:41689 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 162978 === End of file http_verify.out === Start of file server.cmd Testnum 3228 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 162978 === End of file server.response === Start of file stdin-for-3228 header "X-Large: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" header "Connection: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" header "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind4781 ./unit/units unit4781 - > log/6/stdout4781 2> log/6/stderr4781 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind4040 ../src/curl -q --output log/23/curl4040.out --include --trace-ascii log/23/trace4040 --trace-time --proto-default file remote.example/etc/passwd > log/23/stdout4040 2> log/23/stderr4040 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind4039 ../src/curl -q --output log/24/curl4039.out --include --trace-ascii log/24/trace4039 --trace-time /example.com/ --proto-default http > log/24/stdout4039 2> log/24/stderr4039 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;" === End of file stdin-for-3228 === Start of file valgrind3228 ==189412== ==189412== Process terminating with default action of signal 4 (SIGILL) ==189412== Illegal opcode at address 0x492B75F ==189412== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==189412== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==189412== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==189412== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==189412== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==189412== by 0x49908EB: curl_version_info (version.c:600) ==189412== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==189412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==189412== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==189412== by 0x4003269: main (tool_main.c:195) === End of file valgrind3228 test 4781 [weekday, month name and timezone parsers] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind4781 ./unit/units unit4781 - > log/6/stdout4781 2> log/6/stderr4781 units returned 132, when expecting 0 4781: exit FAILED == Contents of files in the log/6/ directory after test 4781 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind4781 ./unit/units unit4781 - > log/6/stdout4781 2> log/6/stderr4781 === End of file commands.log === Start of file server.cmd Testnum 4781 === End of file server.cmd === Start of file valgrind4781 ==190301== ==190301== Process terminating with default action of signal 4 (SIGILL) ==190301== Illegal opcode at address 0x4091F7F ==190301== at 0x4091F7F: formatf.constprop.2 (mprintf.c:1115) ==190301== by 0x40997B6: UnknownInlinedFun (mprintf.c:1482) ==190301== by 0x40997B6: curl_mfprintf (mprintf.c:1493) ==190301== by 0x400B1A9: main (first.c:264) === End of file valgrind4781 test 4040 [--proto-default file and invalid URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind4040 ../src/curl -q --output log/23/curl4040.out --include --trace-ascii log/23/trace4040 --trace-time --proto-default file remote.example/etc/passwd > log/23/stdout4040 2> log/23/stderr4040 curl returned 132, when expecting 3 4040: exit FAILED == Contents of files in the log/23/ directory after test 4040 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind4040 ../src/curl -q --output log/23/curl4040.out --include --trace-ascii log/23/trace4040 --trace-time --proto-default file remote.example/etc/passwd > log/23/stdout4040 2> log/23/stderr4040 === End of file commands.log === Start of file server.cmd Testnum 4040 === End of file server.cmd === Start of file valgrind4040 ==190191== ==190191== Process terminating with default action of signal 4 (SIGILL) ==190191== Illegal opcode at address 0x492B75F ==190191== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190191== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190191== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190191== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190191== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190191== by 0x49908EB: curl_version_info (version.c:600) ==190191== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==190191== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190191== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190191== by 0x4003269: main (tool_main.c:195) === End of file valgrind4040 test 4039 [--proto-default http with an invalid URL] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind4039 ../src/curl -q --output log/24/curl4039.out --include --trace-ascii log/24/trace4039 --trace-time /example.com/ --proto-default http > log/24/stdout4039 2> log/24/stderr4039 curl returned 132, when expecting 3 4039: exit FAILED == Contents of files in the log/24/ directory after test 4039 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/24/valgrind4039 ../src/curl -q --output log/24/curl4039.out --include --trace-ascii log/24/trace4039 --trace-time /example.com/ --proto-default http > log/24/stdout4039 2> log/24/stderr4039 === End of file commands.log === Start of file server.cmd Testnum 4039 === End of file server.cmd === Start of file valgrind4039 ==190190== ==190190== Process terminating with default action of signal 4 (SIGILL) ==190190== Illegal opcode at address 0x492B75F ==190190== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190190== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190190== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190190== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190190== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190190== by 0x49908EB: curl_version_info (version.c:600) ==190190== by 0x4003269: UnknownInlinedFun (tool_libinfoCMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind4644 ../src/curl -q --trace-ascii log/19/trace4644 --trace-time http://127.0.0.1:37077/4644 -o log/19/save.txt --no-clobber > log/19/stdout4644 2> log/19/stderr4644 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind5029 ../src/curl -q --include --trace-ascii log/8/trace5029 --trace-time -k https://127.0.0.1:44467/5029 --connect-timeout 2 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/8/stdout5029 2> log/8/stderr5029 .c:140) ==190190== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190190== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190190== by 0x4003269: main (tool_main.c:195) === End of file valgrind4039 test 4644 [--no-clobber with extension and an added number] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind4644 ../src/curl -q --trace-ascii log/19/trace4644 --trace-time http://127.0.0.1:37077/4644 -o log/19/save.txt --no-clobber > log/19/stdout4644 2> log/19/stderr4644 4644: protocol FAILED! There was no content at all in the file log/19/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/19/ directory after test 4644 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/19/valgrind4644 ../src/curl -q --trace-ascii log/19/trace4644 --trace-time http://127.0.0.1:37077/4644 -o log/19/save.txt --no-clobber > log/19/stdout4644 2> log/19/stderr4644 === End of file commands.log === Start of file http_server.log 19:29:21.946357 ====> Client connect 19:29:21.946396 accept_connection 3 returned 4 19:29:21.946422 Read 93 bytes 19:29:21.946431 Process 93 bytes request 19:29:21.946444 Got request: GET /verifiedserver HTTP/1.1 19:29:21.946452 Are-we-friendly question received 19:29:21.946479 Wrote request (93 bytes) input to log/19/server.input 19:29:21.946495 Identifying ourselves as friends 19:29:21.946583 Response sent (57 bytes) and written to log/19/server.response 19:29:21.946593 special request received, no persistency 19:29:21.946601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37077... * Established connection to 127.0.0.1 (127.0.0.1 port 37077) from 127.0.0.1 port 35652 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37077 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:37077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 152965 === End of file http_verify.out === Start of file save-1.txt exists before command runs === End of file save-1.txt === Start of file save.txt exists before command runs === End of file save.txt === Start of file server.cmd Testnum 4644 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 152965 === End of file server.response === Start of file valgrind4644 ==190382== ==190382== Process terminating with default action of signal 4 (SIGILL) ==190382== Illegal opcode at address 0x492B75F ==190382== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190382== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190382== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190382== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190382== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190382== by 0x49908EB: curl_version_info (version.c:600) ==190382== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==190382== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190382== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190382== by 0x4003269: main (tool_main.c:195) === End of file valgrind4644 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind5030 ../src/curl -q --include --trace-ascii log/10/trace5030 --trace-time -k https://127.0.0.1:44817/5030 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/10/stdout5030 2> log/10/stderr5030 test 5029 [-w IP info and connect time after TLS handshake timeout] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind5029 ../src/curl -q --include --trace-ascii log/8/trace5029 --trace-time -k https://127.0.0.1:44467/5029 --connect-timeout 2 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/8/stdout5029 2> log/8/stderr5029 5029: stdout FAILED: --- log/8/check-expected 2026-10-15 19:29:24.016687128 +0000 +++ log/8/check-generated 2026-10-15 19:29:24.012395265 +0000 @@ -1,4 +0,0 @@ -remote_ip == 127.0.0.1[LF] -remote_port == 44467[LF] -local ip == 127.0.0.1[LF] -time_connect == [non-zero][LF] == Contents of files in the log/8/ directory after test 5029 === Start of file check-expected remote_ip == 127.0.0.1[LF] remote_port == 44467[LF] local ip == 127.0.0.1[LF] time_connect == [non-zero][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind5029 ../src/curl -q --include --trace-ascii log/8/trace5029 --trace-time -k https://127.0.0.1:44467/5029 --connect-timeout 2 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/8/stdout5029 2> log/8/stderr5029 === End of file commands.log === Start of file http_server.log 19:29:21.981123 ====> Client connect 19:29:21.981155 accept_connection 3 returned 4 19:29:21.981176 Read 93 bytes 19:29:21.981186 Process 93 bytes request 19:29:21.981199 Got request: GET /verifiedserver HTTP/1.1 19:29:21.981208 Are-we-friendly question received 19:29:21.981232 Wrote request (93 bytes) input to log/8/server.input 19:29:21.981248 Identifying ourselves as friends 19:29:21.981314 Response sent (56 bytes) and written to log/8/server.response 19:29:21.981324 special request received, no persistency 19:29:21.981332 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44467... * Established connection to 127.0.0.1 (127.0.0.1 port 44467) from 127.0.0.1 port 50308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44467 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44467 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 79137 === End of file http_verify.out === Start of file server.cmd Testnum 5029 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79137 === End of file server.response === Start of file valgrind5029 ==190417== ==190417== Process terminating with default action of signal 4 (SIGILL) ==190417== Illegal opcode at address 0x492B75F ==190417== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190417== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190417== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190417== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190417== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190417== by 0x49908EB: curl_version_info (version.c:600) ==190417== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==190417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190417== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190417== by 0x4003269: main (tool_main.c:195) === End of file valgrind5029 CMD (33792): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3555 ../src/curl -q --include --trace-ascii log/18/trace3555 --trace-time telnet://127.0.0.1:42805 --upload-file - -p -x http://127.0.0.1:38183/3555 log/18/stdout3555 2> log/18/stderr3555 test 5030 [-w IP info and connect time after failed TLS handshake] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind5030 ../src/curl -q --include --trace-ascii log/10/trace5030 --trace-time -k https://127.0.0.1:44817/5030 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/10/stdout5030 2> log/10/stderr5030 5030: stdout FAILED: --- log/10/check-expected 2026-10-15 19:29:24.074307934 +0000 +++ log/10/check-generated 2026-10-15 19:29:24.069060811 +0000 @@ -1,4 +0,0 @@ -remote_ip == 127.0.0.1[LF] -remote_port == 44817[LF] -local ip == 127.0.0.1[LF] -time_connect == [non-zero][LF] == Contents of files in the log/10/ directory after test 5030 === Start of file check-expected remote_ip == 127.0.0.1[LF] remote_port == 44817[LF] local ip == 127.0.0.1[LF] time_connect == [non-zero][LF] === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind5030 ../src/curl -q --include --trace-ascii log/10/trace5030 --trace-time -k https://127.0.0.1:44817/5030 -w 'remote_ip == %{remote_ip}\nremote_port == %{remote_port}\nlocal ip == %{local_ip}\ntime_connect == %{time_connect}\n' > log/10/stdout5030 2> log/10/stderr5030 === End of file commands.log === Start of file ftp_server.log 19:29:22.416106 ====> Client connect 19:29:22.416350 > "220- _ _ ____ _[CR][LF]220- ___| | | | _ \| |[CR][LF]220- / __| | | | |_) | |[CR][LF]220- | (__| |_| | _ {| |___[CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:29:22.416707 < "USER anonymous" 19:29:22.416747 > "331 We are happy you popped in![CR][LF]" 19:29:22.416964 < "PASS ftp@example.com" 19:29:22.417006 > "230 Welcome you silly person[CR][LF]" 19:29:22.417212 < "PWD" 19:29:22.417255 > "257 "/" is current directory[CR][LF]" 19:29:22.417455 < "EPSV" 19:29:22.417483 ====> Passive DATA channel requested by client 19:29:22.417500 DATA sockfilt for passive data channel starting... 19:29:22.425538 DATA sockfilt for passive data channel started (pid 190418) 19:29:22.425668 DATA sockfilt for passive data channel listens on port 44829 19:29:22.425715 > "229 Entering Passive Mode (|||44829|)[CR][LF]" 19:29:22.425732 Client has been notified that upcoming DATA connection is awaited on port 44829 19:29:22.426038 Client connects to port 44829 19:29:22.426071 ====> Client established passive DATA connection on port 44829 19:29:22.426163 < "TYPE I" 19:29:22.426196 > "200 I modify TYPE as you wanted[CR][LF]" 19:29:22.426354 < "SIZE verifiedserver" 19:29:22.426397 > "213 17[CR][LF]" 19:29:22.426536 < "RETR verifiedserver" 19:29:22.426569 > "150 Binary junk (17 bytes).[CR][LF]" 19:29:22.426653 =====> Closing passive DATA connection... 19:29:22.426668 Server disconnects passive DATA connection 19:29:22.426873 Server disconnected passive DATA connection 19:29:22.426896 DATA sockfilt for passive data channel quits (pid 190418) 19:29:22.427158 DATA sockfilt for passive data channel quit (pid 190418) 19:29:22.427179 =====> Closed passive DATA connection 19:29:22.427207 > "226 File transfer complete[CR][LF]" 19:29:22.475558 < "QUIT" 19:29:22.475630 > "221 bye bye baby[CR][LF]" 19:29:22.476989 MAIN sockfilt said DISC 19:29:22.477034 ====> Client disconnected 19:29:22.477137 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:29:23.018383 ====> Client connect 19:29:23.018802 Received DATA (on stdin) 19:29:23.018822 > 146 bytes data, server => client 19:29:23.018834 '220- _ _ ____ _\r\n220- ___| | | | _ \| |\r\n22' 19:29:23.018845 '0- / __| | | | |_) | |\r\n220- | (__| |_| | _ {| |___\r\n' 19:29:23.018854 '220 \___|\___/|_| \_\_____|\r\n' 19:29:23.018949 < 16 bytes data, client => server 19:29:23.018966 'USER anonymous\r\n' 19:29:23.019184 Received DATA (on stdin) 19:29:23.019196 > 33 bytes data, server => client 19:29:23.019206 '331 We are happy you popped in!\r\n' 19:29:23.019268 < 22 bytes data, client => server 19:29:23.019282 'PASS ftp@example.com\r\n' 19:29:23.019437 Received DATA (on stdin) 19:29:23.019450 > 30 bytes data, server => client 19:29:23.019461 '230 Welcome you silly person\r\n' 19:29:23.019528 < 5 bytes data, client => server 19:29:23.019543 'PWD\r\n' 19:29:23.019683 Received DATA (on stdin) 19:29:23.019696 > 30 bytes data, server => client 19:29:23.019706 '257 "/" is current directory\r\n' 19:29:23.019778 < 6 bytes data, client => server 19:29:23.019793 'EPSV\r\n' 19:29:23.028161 Received DATA (on stdin) 19:29:23.028176 > 39 bytes data, server => client 19:29:23.028186 '229 Entering Passive Mode (|||44829|)\r\n' 19:29:23.028377 < 8 bytes data, client => server 19:29:23.028391 'TYPE I\r\n' 19:29:23.028617 Received DATA (on stdin) 19:29:23.028628 > 33 bytes data, server => client 19:29:23.028637 '200 I modify TYPE as you wanted\r\n' 19:29:23.028694 < 21 bytes data, client => server 19:29:23.028703 'SIZE verifiedserver\r\n' 19:29:23.028816 Received DATA (on stdin) 19:29:23.028826 > 8 bytes data, server => client 19:29:23.028834 '213 17\r\n' 19:29:23.028881 < 21 bytes data, client => server 19:29:23.028890 'RETR verifiedserver\r\n' 19:29:23.029088 Received DATA (on stdin) 19:29:23.029098 > 29 bytes data, server => client 19:29:23.029107 '150 Binary junk (17 bytes).\r\n' 19:29:23.029630 Received DATA (on stdin) 19:29:23.029641 > 28 bytes data, server => client 19:29:23.029651 '226 File transfer complete\r\n' 19:29:23.077752 < 6 bytes data, client => server 19:29:23.077792 'QUIT\r\n' 19:29:23.078069 Received DATA (on stdin) 19:29:23.078086 > 18 bytes data, server => client 19:29:23.078097 '221 bye bye baby\r\n' 19:29:23.079351 ====> Client disconnect 19:29:23.079573 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:29:22.025356 Running IPv4 version 19:29:22.025446 Listening on port 44829 19:29:22.025491 Wrote pid 190418 to log/10/server/ftp_sockdata.pid 19:29:22.027891 Received PING (on stdin) 19:29:22.027996 Received PORT (on stdin) 19:29:22.028410 ====> Client connect 19:29:22.029131 Received DATA (on stdin) 19:29:22.029142 > 17 bytes data, server => client 19:29:22.029151 'WE ROOLZ: 85153\r\n' 19:29:22.029174 Received DISC (on stdin) 19:29:22.029183 ====> Client forcibly disconnected 19:29:22.029324 Received QUIT (on stdin) 19:29:22.029334 quits 19:29:22.029399 ========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 5030 === End of file server.cmd === Start of file valgrind5030 ==190475== ==190475== Process terminating with default action of signal 4 (SIGILL) ==190475== Illegal opcode at address 0x492B75F ==190475== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190475== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190475== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190475== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190475== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190475== by 0x49908EB: curl_version_info (version.c:600) ==190475== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==190475== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190475== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190475== by 0x4003269: main (tool_main.c:195) === End of file valgrind5030 * kill pid for ftp-ctrl => 154131 * kill pid for ftp-ctrl => 85111 * kill pid for ftp-ctrl => 84719 * kill pid for ftp-ctrl => 84711 * kill pid for ftp-ctrl => 84757 * kill pid for ftp-ctrl => 84850 * kill pid for ftp-ctrl => 85189 * kill pid for ftp-ctrl => 84652 * kill pid for ftp-ctrl => 84700 * kill pid for ftp-ctrl => 84707 * kill pid for ftp-ctrl => 85201 * kill pid for ftp-ctrl => 84699 * kill pid for ftp-ctrl => 85278 * kill pid for ftp-ctrl => 84761 * kill pid for ftp-ctrl => 85263 * kill pid for ftp-ctrl => 85274 * kill pid for ftp-ctrl => 84855 * kill pid for ftp-ctrl => 84725 * kill pid for ftp-ctrl => 188792 * kill pid for ftp-ctrl => 85573 * kill pid for ftp-ctrl => 85181 * kill pid for ftp-ctrl => 84974 * kill pid for ftp-ctrl => 84715 * kill pid for imap-filt => 158421 * kill pid for pop3-filt => 132062 * kill pid for smtp-filt => 127692 RUN: Process with pid 84587 signalled to die RUN: Process with pid 93199 signalled to die RUN: Process with pid 115289 signalled to die RUN: Process with pid 127656 signalled to die RUN: Process with pid 132050 signalled to die RUN: Process with pid 144624 signalled to die RUN: Process with pid 152965 signalled to die * kill pid for imap-filt => 122219 * kill pid for pop3-filt => 124954 * kill pid for smtp-filt => 127928 RUN: Process with pid 78985 signalled to die RUN: Process with pid 84694 signalled to die RUN: Process with pid 95850 signalled to die RUN: Process with pid 115986 signalled to die RUN: Process with pid 122217 signalled to die RUN: Process with pid 124951 signalled to die RUN: Process with pid 127888 signalled to die RUN: Process with pid 137984 signalled to die RUN: Process with pid 144680 signalled to die * kill pid for ftp-ipv6-ctrl => 93964 * kill pid for imap-filt => 122861 * kill pid for pop3-filt => 125300 * kill pid for smtp-filt => 127824 RUN: Process with pid 78990 signalled to die RUN: Process with pid 84702 signalled to die RUN: Process with pid 116731 signalled to die RUN: Process with pid 122830 signalled to die RUN: Process with pid 125269 signalled to die RUN: Process with pid 127808 signalled to die RUN: Process with pid 144575 signalled to die RUN: Process with pid 152116 signalled to die RUN: Process with pid 159360 signalled to die RUN: Process with pid 179477 signalled to die * kill pid for ftp-ipv6-ctrl => 93728 * kill pid for imap-filt => 113640 * kill pid for imap-filt => 114838 * kill pid for pop3-filt => 125277 * kill pid for smtp-filt => 127754 RUN: Process with pid 79439 signalled to die RUN: Process with pid 85208 signalled to die RUN: Process with pid 111139 signalled to die RUN: Process with pid 114810 signalled to die RUN: Process with pid 116357 signalled to die RUN: Process with pid 125244 signalled to die RUN: Process with pid 127750 signalled to die RUN: Process with pid 144654 signalled to die RUN: Process with pid 150157 signalled to die RUN: Process with pid 159327 signalled to die RUN: Process with pid 161068 signalled to die * kill pid for imap-filt => 166048 * kill pid for imap-filt => 122799 * kill pid for pop3-filt => 125323 * kill pid for smtp-filt => 127856 RUN: Process with pid 78988 signalled to die RUN: Process with pid 93140 signalled to die RUN: Process with pid 116818 signalled to die RUN: Process with pid 122785 signalled to die RUN: Process with pid 125319 signalled to die RUN: Process with pid 127847 signalled to die RUN: Process with pid 139095 signalled to die RUN: Process with pid 164586 signalled to die RUN: Process with pid 181762 signalled to die RUN: Process with pid 190006 signalled to die * kill pid for imap-filt => 122102 * kill pid for pop3-filt => 124876 * kill pid for smtp-filt => 127962 RUN: Process with pid 79067 signalled to die RUN: Process with pid 85153 signalled to die RUN: Process with pid 93908 signalled to die RUN: Process with pid 95886 signalled to die RUN: Process with pid 116160 signalled to die RUN: Process with pid 121977 signalled to die RUN: Process with pid 124839 signalled to die RUN: Process with pid 127917 signalled to die RUN: Process with pid 135779 signalled to die * kill pid for imap-filt => 122163 * kill pid for pop3-filt => 125271 * kill pid for pop3-filt => 124923 * kill pid for smtp-filt => 127745 RUN: Process with pid 82167 signalled to die RUN: Process with pid 84342 signalled to die RUN: Process with pid 85558 signalled to die RUN: Process with pid 116766 signalled to die RUN: Process with pid 127735 signalled to die RUN: Process with pid 133608 signalled to die RUN: Process with pid 169038 signalled to die * kill pid for imap-filt => 122211 * kill pid for pop3-filt => 124898 * kill pid for smtp-filt => 127848 RUN: Process with pid 79032 signalled to die RUN: Process with pid 94937 signalled to die RUN: Process with pid 111131 signalled to die RUN: Process with pid 116536 signalled to die RUN: Process with pid 122183 signalled to die RUN: Process with pid 124858 signalled to die RUN: Process with pid 127845 signalled to die RUN: Process with pid 146612 signalled to die RUN: Process with pid 147503 signalled to die RUN: Process with pid 188726 signalled to die * kill pid for imap-filt => 122900 * kill pid for pop3-filt => 125307 * kill pid for smtp-filt => 127834 RUN: Process with pid 79446 signalled to die RUN: Process with pid 84935 signalled to die RUN: Process with pid 116732 signalled to die RUN: Process with pid 122891 signalled to die RUN: Process with pid 125278 signalled to die RUN: Process with pid 127810 signalled to die RUN: Process with pid 133606 signalled to die RUN: Process with pid 181133 signalled to die RUN: Process with pid 182677 signalled to die * kill pid for ftp-ipv6-ctrl => 135863 * kill pid for imap-filt => 113209 * kill pid for pop3-filt => 125117 * kill pid for smtp-filt => 127835 RUN: Process with pid 78982 signalled to die RUN: Process with pid 85113 signalled to die RUN: Process with pid 97864 signalled to die RUN: Process with pid 113205 signalled to die RUN: Process with pid 116104 signalled to die RUN: Process with pid 125054 signalled to die RUN: Process with pid 127811 signalled to die RUN: Process with pid 135809 signalled to die RUN: Process with pid 164475 signalled to die RUN: Process with pid 175834 signalled to die * kill pid for ftp-ipv6-ctrl => 136031 * kill pid for imap-filt => 122100 * kill pid for pop3-filt => 125310 * kill pid for smtp-filt => 127846 RUN: Process with pid 79175 signalled to die RUN: Process with pid 84721 signalled to die RUN: Process with pid 111137 signalled to die RUN: Process with pid 122008 signalled to die RUN: Process with pid 125292 signalled to die RUN: Process with pid 127841 signalled to die RUN: Process with pid 135955 signalled to die RUN: Process with pid 144626 signalled to die * kill pid for ftp-ipv6-ctrl => 93754 * kill pid for imap-filt => 122672 * kill pid for pop3-filt => 125122 * kill pid for smtp-filt => 127757 RUN: Process with pid 81869 signalled to die RUN: Process with pid 85245 signalled to die RUN: Process with pid 93651 signalled to die RUN: Process with pid 116827 signalled to die RUN: Process with pid 122670 signalled to die RUN: Process with pid 125086 signalled to die RUN: Process with pid 127748 signalled to die RUN: Process with pid 141441 signalled to die RUN: Process with pid 160335 signalled to die RUN: Process with pid 179223 signalled to die * kill pid for imap-filt => 121926 * kill pid for pop3-filt => 105996 * kill pid for smtp-filt => 130788 RUN: Process with pid 79065 signalled to die RUN: Process with pid 105846 signalled to die RUN: Process with pid 130773 signalled to die RUN: Process with pid 136302 signalled to die RUN: Process with pid 144791 signalled to die RUN: Process with pid 150163 signalled to die RUN: Process with pid 154115 signalled to die RUN: Process with pid 165995 signalled to die RUN: Process with pid 189495 signalled to die RUN: Process with pid 122217 gracefully died * kill pid for smtp-filt => 127843 RUN: Process with pid 78983 signalled to die RUN: Process with pid 84709 signalled to die RUN: Process with pid 116717 signalled to die RUN: Process with pid 122113 signalled to die RUN: Process with pid 124910 signalled to die RUN: Process with pid 127840 signalled to die RUN: Process with pid 160156 signalled to die RUN: Process with pid 164412 signalled to die RUN: Process with pid 177818 signalled to die * kill pid for imap-filt => 122256 * kill pid for pop3-filt => 124961 * kill pid for smtp-filt => 113211 RUN: Process with pid 83777 signalled to die RUN: Process with pid 85249 signalled to die RUN: Process with pid 111069 signalled to die RUN: Process with pid 113210 signalled to die RUN: Process with pid 116118 signalled to die RUN: Process with pid 122222 signalled to die RUN: Process with pid 124955 signalled to die RUN: Process with pid 160969 signalled to die RUN: Process with pid 165851 signalled to die RUN: Process with pid 177739 signalled to die RUN: Process with pid 182274 signalled to die RUN: Process with pid 79439 gracefully died * kill pid for ftp-ipv6-ctrl => 93885 * kill pid for imap-filt => 122065 RUN: Process with pid 78988 gracefully died * kill pid for pop3-filt => 125165 * kill pid for smtp-filt => 127747 * kill pid for smtp-filt => 127839 RUN: Process with pid 79135 signalled to die RUN: Process with pid 84695 signalled to die RUN: Process with pid 93636 signalled to die RUN: Process with pid 95851 signalled to die RUN: Process with pid 111274 signalled to die RUN: Process with pid 113573 signalled to die RUN: Process with pid 125253 signalled to die RUN: Process with pid 127818 signalled to die RUN: Process with pid 144434 signalled to die RUN: Process with pid 149029 signalled to die RUN: Process with pid 85153 gracefully died * kill pid for imap-filt => 122645 * kill pid for pop3-filt => 124992 * kill pid for smtp-filt => 127741 RUN: Process with pid 82533 signalled to die RUN: Process with pid 84710 signalled to die RUN: Process with pid 111152 signalled to die RUN: Process with pid 116629 signalled to die RUN: Process with pid 122611 signalled to die RUN: Process with pid 124988 signalled to die RUN: Process with pid 127734 signalled to die RUN: Process with pid 144821 signalled to die RUN: Process with pid 182599 signalled to die RUN: Process with pid 186797 signalled to die RUN: Process with pid 122891 gracefully died RUN: Process with pid 94937 gracefully died RUN: Process with pid 82167 gracefully died RUN: Process with pid 127811 gracefully died RUN: Process with pid 127656 gracefully died * kill pid for imap-filt => 122550 * kill pid for pop3-filt => 125109 * kill pid for smtp-filt => 127777 RUN: Process with pid 78991 signalled to die RUN: Process with pid 84744 signalled to die RUN: Process with pid 116704 signalled to die RUN: Process with pid 122502 signalled to die RUN: Process with pid 125072 signalled to die RUN: Process with pid 127773 signalled to die RUN: Process with pid 144664 signalled to die RUN: Process with pid 188008 signalled to die * kill pid for imap-filt => 122810 * kill pid for pop3-filt => 125321 * kill pid for smtp-filt => 127949 RUN: Process with pid 78989 signalled to die RUN: Process with pid 84749 signalled to die RUN: Process with pid 95852 signalled to die RUN: Process with pid 116436 signalled to die RUN: Process with pid 122784 signalled to die RUN: Process with pid 125317 signalled to die RUN: Process with pid 127892 signalled to die RUN: Process with pid 144655 signalled to die RUN: Process with pid 154115 gracefully died RUN: Process with pid 78985 gracefully died RUN: Process with pid 85208 gracefully died RUN: Process with pid 122830 gracefully died RUN: Process with pid 122785 gracefully died RUN: Process with pid 93651 gracefully died RUN: Process with pid 78984 signalled to die RUN: Process with pid 84714 signalled to die RUN: Process with pid 93790 signalled to die RUN: Process with pid 116373 signalled to die RUN: Process with pid 121995 signalled to die RUN: Process with pid 125142 signalled to die RUN: Process with pid 127746 signalled to die RUN: Process with pid 144893 signalled to die RUN: Process with pid 177694 signalled to die RUN: Process with pid 186405 signalled to die RUN: Process with pid 93908 gracefully died * kill pid for imap-filt => 122307 * kill pid for pop3-filt => 124963 * kill pid for smtp-filt => 113281 RUN: Process with pid 84833 signalled to die RUN: Process with pid 94590 signalled to die RUN: Process with pid 113262 signalled to die RUN: Process with pid 116438 signalled to die RUN: Process with pid 122291 signalled to die RUN: Process with pid 124956 signalled to die RUN: Process with pid 162978 signalled to die RUN: Process with pid 84710 gracefully died RUN: Process with pid 122183 gracefully died RUN: Process with pid 84935 gracefully died RUN: Process with pid 84342 gracefully died RUN: Process with pid 132050 gracefully died RUN: Process with pid 125054 gracefully died RUN: Process with pid 84744 gracefully died RUN: Process with pid 84749 gracefully died RUN: Process with pid 130773 gracefully died RUN: Process with pid 122222 gracefully died RUN: Process with pid 84709 gracefully died RUN: Process with pid 84694 gracefully died RUN: Process with pid 114810 gracefully died RUN: Process with pid 125319 gracefully died RUN: Process with pid 116827 gracefully died RUN: Process with pid 121977 gracefully died RUN: Process with pid 84695 gracefully died RUN: Process with pid 84714 gracefully died RUN: Process with pid 82533 gracefully died * kill pid for pop3-filt => 125322 RUN: Process with pid 79446 gracefully died RUN: Process with pid 124858 gracefully died RUN: Process with pid 85558 gracefully died * kill pid for smtp-filt => 130785 RUN: Process with pid 79038 signalled to die RUN: Process with pid 85158 signalled to die RUN: Process with pid 111141 signalled to die RUN: Process with pid 130713 signalled to die RUN: Process with pid 158265 signalled to die RUN: Process with pid 160188 signalled to die RUN: Process with pid 78982 gracefully died RUN: Process with pid 84587 gracefully died RUN: Process with pid 122502 gracefully died RUN: Process with pid 124955 gracefully died RUN: Process with pid 122113 gracefully died RUN: Process with pid 79065 gracefully died * kill pid for smtp-filt => 113208 RUN: Process with pid 115986 gracefully died RUN: Process with pid 159360 gracefully died RUN: Process with pid 125244 gracefully died RUN: Process with pid 111137 gracefully died RUN: Process with pid 116818 gracefully died RUN: Process with pid 81869 gracefully died RUN: Process with pid 79067 gracefully died RUN: Process with pid 113573 gracefully died RUN: Process with pid 84833 gracefully died RUN: Process with pid 78984 gracefully died RUN: Process with pid 111152 gracefully died RUN: Process with pid 116732 gracefully died RUN: Process with pid 79032 gracefully died RUN: Process with pid 79137 signalled to die RUN: Process with pid 84824 signalled to die RUN: Process with pid 95309 signalled to die RUN: Process with pid 113206 signalled to die RUN: Process with pid 116716 signalled to die RUN: Process with pid 138203 signalled to die RUN: Process with pid 144906 signalled to die RUN: Process with pid 147340 signalled to die RUN: Process with pid 116766 gracefully died RUN: Process with pid 85158 gracefully died RUN: Process with pid 116704 gracefully died RUN: Process with pid 95852 gracefully died RUN: Process with pid 93199 gracefully died RUN: Process with pid 85113 gracefully died * kill pid for smtp-filt => 113207 RUN: Process with pid 78993 signalled to die RUN: Process with pid 83621 signalled to die RUN: Process with pid 85053 signalled to die RUN: Process with pid 93258 signalled to die RUN: Process with pid 113204 signalled to die RUN: Process with pid 116853 signalled to die RUN: Process with pid 121906 signalled to die RUN: Process with pid 125320 signalled to die RUN: Process with pid 175830 signalled to die RUN: Process with pid 111069 gracefully died RUN: Process with pid 116717 gracefully died RUN: Process with pid 105846 gracefully died RUN: Process with pid 124951 gracefully died RUN: Process with pid 84702 gracefully died RUN: Process with pid 93140 gracefully died RUN: Process with pid 79175 gracefully died RUN: Process with pid 111139 gracefully died RUN: Process with pid 95886 gracefully died RUN: Process with pid 85245 gracefully died RUN: Process with pid 93636 gracefully died RUN: Process with pid 116629 gracefully died RUN: Process with pid 94590 gracefully died RUN: Process with pid 93790 gracefully died RUN: Process with pid 84824 gracefully died RUN: Process with pid 125278 gracefully died RUN: Process with pid 111131 gracefully died RUN: Process with pid 79038 gracefully died RUN: Process with pid 127735 gracefully died RUN: Process with pid 78989 gracefully died RUN: Process with pid 115289 gracefully died RUN: Process with pid 78991 gracefully died RUN: Process with pid 85249 gracefully died RUN: Process with pid 97864 gracefully died RUN: Process with pid 85053 gracefully died RUN: Process with pid 124910 gracefully died RUN: Process with pid 136302 gracefully died RUN: Process with pid 95850 gracefully died RUN: Process with pid 78990 gracefully died RUN: Process with pid 84721 gracefully died RUN: Process with pid 116160 gracefully died RUN: Process with pid 127847 gracefully died RUN: Process with pid 116357 gracefully died RUN: Process with pid 122670 gracefully died RUN: Process with pid 79135 gracefully died RUN: Process with pid 122611 gracefully died RUN: Process with pid 116373 gracefully died RUN: Process with pid 116536 gracefully died RUN: Process with pid 113262 gracefully died RUN: Process with pid 127810 gracefully died RUN: Process with pid 133608 gracefully died RUN: Process with pid 111141 gracefully died RUN: Process with pid 79137 gracefully died RUN: Process with pid 116436 gracefully died RUN: Process with pid 125072 gracefully died RUN: Process with pid 83777 gracefully died RUN: Process with pid 78983 gracefully died RUN: Process with pid 144791 gracefully died RUN: Process with pid 144624 gracefully died RUN: Process with pid 113205 gracefully died RUN: Process with pid 78993 gracefully died RUN: Process with pid 116731 gracefully died RUN: Process with pid 124839 gracefully died RUN: Process with pid 122008 gracefully died RUN: Process with pid 139095 gracefully died RUN: Process with pid 127888 gracefully died RUN: Process with pid 127750 gracefully died RUN: Process with pid 125086 gracefully died RUN: Process with pid 95851 gracefully died RUN: Process with pid 124988 gracefully died RUN: Process with pid 127845 gracefully died RUN: Process with pid 133606 gracefully died RUN: Process with pid 116438 gracefully died RUN: Process with pid 121995 gracefully died RUN: Process with pid 169038 gracefully died RUN: Process with pid 95309 gracefully died RUN: Process with pid 130713 gracefully died RUN: Process with pid 122784 gracefully died RUN: Process with pid 113210 gracefully died RUN: Process with pid 150163 gracefully died RUN: Process with pid 127840 gracefully died RUN: Process with pid 152965 gracefully died RUN: Process with pid 127773 gracefully died RUN: Process with pid 116104 gracefully died RUN: Process with pid 83621 gracefully died RUN: Process with pid 127917 gracefully died RUN: Process with pid 125292 gracefully died RUN: Process with pid 125269 gracefully died RUN: Process with pid 137984 gracefully died RUN: Process with pid 164586 gracefully died RUN: Process with pid 144654 gracefully died RUN: Process with pid 127748 gracefully died RUN: Process with pid 111274 gracefully died RUN: Process with pid 146612 gracefully died RUN: Process with pid 181133 gracefully died RUN: Process with pid 122291 gracefully died RUN: Process with pid 125142 gracefully died RUN: Process with pid 127734 gracefully died RUN: Process with pid 158265 gracefully died RUN: Process with pid 113206 gracefully died RUN: Process with pid 125317 gracefully died RUN: Process with pid 116118 gracefully died RUN: Process with pid 164412 gracefully died RUN: Process with pid 144664 gracefully died RUN: Process with pid 165995 gracefully died RUN: Process with pid 135809 gracefully died RUN: Process with pid 135779 gracefully died RUN: Process with pid 93258 gracefully died RUN: Process with pid 127841 gracefully died RUN: Process with pid 127808 gracefully died RUN: Process with pid 144680 gracefully died RUN: Process with pid 181762 gracefully died RUN: Process with pid 150157 gracefully died RUN: Process with pid 141441 gracefully died RUN: Process with pid 125253 gracefully died RUN: Process with pid 127746 gracefully died RUN: Process with pid 147503 gracefully died RUN: Process with pid 182677 gracefully died RUN: Process with pid 124956 gracefully died RUN: Process with pid 144821 gracefully died RUN: Process with pid 116716 gracefully died RUN: Process with pid 160969 gracefully died RUN: Process with pid 177818 gracefully died RUN: Process with pid 188008 gracefully died RUN: Process with pid 189495 gracefully died RUN: Process with pid 127892 gracefully died RUN: Process with pid 164475 gracefully died RUN: Process with pid 144575 gracefully died RUN: Process with pid 135955 gracefully died RUN: Process with pid 113204 gracefully died RUN: Process with pid 159327 gracefully died RUN: Process with pid 160335 gracefully died RUN: Process with pid 127818 gracefully died RUN: Process with pid 162978 gracefully died RUN: Process with pid 144893 gracefully died RUN: Process with pid 188726 gracefully died RUN: Process with pid 138203 gracefully died RUN: Process with pid 182599 gracefully died RUN: Process with pid 144655 gracefully died RUN: Process with pid 165851 gracefully died RUN: Process with pid 175834 gracefully died RUN: Process with pid 152116 gracefully died RUN: Process with pid 144626 gracefully died RUN: Process with pid 116853 gracefully died RUN: Process with pid 161068 gracefully died RUN: Process with pid 179223 gracefully died RUN: Process with pid 144434 gracefully died RUN: Process with pid 177694 gracefully died RUN: Process with pid 144906 gracefully died RUN: Process with pid 186797 gracefully died RUN: Process with pid 179477 gracefully died RUN: Process with pid 177739 gracefully died RUN: Process with pid 121906 gracefully died RUN: Process with pid 149029 gracefully died RUN: Process with pid 186405 gracefully died RUN: Process with pid 147340 gracefully died RUN: Process with pid 182274 gracefully died RUN: Process with pid 125320 gracefully died RUN: Process with pid 175830 gracefully died RUN: Process with pid 190006 forced to die with SIGKILL RUN: Process with pid 160156 forced to die with SIGKILL RUN: Process with pid 160188 forced to die with SIGKILL startnew: /startdir/src/curl/tests/negtelnetserver.py --port 42805 --pidfile "log/18/server/telnet_server.pid" --logfile "log/18/telnet_server.log" --srcdir "/startdir/src/curl/tests" RUN: TELNET server PID 190006 port 42805 * pid neg TELNET => 190006 190006 test 3555 [Basic TELNET negotiation over HTTP proxy] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3555 ../src/curl -q --include --trace-ascii log/18/trace3555 --trace-time telnet://127.0.0.1:42805 --upload-file - -p -x http://127.0.0.1:38183/3555 log/18/stdout3555 2> log/18/stderr3555 3555: stdout FAILED: --- log/18/check-expected 2026-10-15 19:29:24.359548169 +0000 +++ log/18/check-generated 2026-10-15 19:29:24.355721813 +0000 @@ -1 +0,0 @@ -test3555 == Contents of files in the log/18/ directory after test 3555 === Start of file check-expected test3555 === End of file check-expected === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind3555 ../src/curl -q --include --trace-ascii log/18/trace3555 --trace-time telnet://127.0.0.1:42805 --upload-file - -p -x http://127.0.0.1:38183/3555 log/18/stdout3555 2> log/18/stderr3555 === End of file commands.log === Start of file http2_server.log 19:29:22.437837 ====> Client connect 19:29:22.437884 accept_connection 3 returned 4 19:29:22.437914 Read 93 bytes 19:29:22.437925 Process 93 bytes request 19:29:22.437939 Got request: GET /verifiedserver HTTP/1.1 19:29:22.437948 Are-we-friendly question received 19:29:22.437977 Wrote request (93 bytes) input to log/18/proxy.input 19:29:22.437995 Identifying ourselves as friends 19:29:22.438086 Response sent (57 bytes) and written to log/18/proxy.response 19:29:22.438097 special request received, no persistency 19:29:22.438106 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38183... * Established connection to 127.0.0.1 (127.0.0.1 port 38183) from 127.0.0.1 port 57024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38183 > User-Agent: curl/8.23.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38183 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 164586 === End of file http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 164586 === End of file proxy.response === Start of file server.cmd Testnum 3555 === End of file server.cmd === Start of file stdin-for-3555 test3555 === End of file stdin-for-3555 === Start of file telnet_server.log 2026-10-15 19:29:21,916 INFO [NTEL] Listening on ('localhost', 42805) === End of file telnet_server.log === Start of file valgrind3555 ==190601== ==190601== Process terminating with default action of signal 4 (SIGILL) ==190601== Illegal opcode at address 0x492B75F ==190601== at 0x492B75F: formatf.constprop.2 (mprintf.c:1115) ==190601== by 0x492C53A: curl_mvsnprintf (mprintf.c:1257) ==190601== by 0x492B67B: curl_msnprintf (mprintf.c:1277) ==190601== by 0x49A9B9E: Curl_ossl_version (openssl.c:5473) ==190601== by 0x49908EB: UnknownInlinedFun (vtls.c:292) ==190601== by 0x49908EB: curl_version_info (version.c:600) ==190601== by 0x4003269: UnknownInlinedFun (tool_libinfo.c:140) ==190601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:339) ==190601== by 0x4003269: UnknownInlinedFun (tool_cfgable.c:310) ==190601== by 0x4003269: main (tool_main.c:195) === End of file valgrind3555 * kill pid for smtp => 127917 * kill pid for ftp-ipv6 => 93908 * kill pid for imap => 121977 * kill pid for http => 79067 * kill pid for socks => 116160 * kill pid for pop3 => 124839 * kill pid for http-ipv6 => 135779 * kill pid for tftp => 95886 * kill pid for ftp => 85153 * kill pid for http-proxy => 150157 * kill pid for socks5unix => 161068 * kill pid for ftp => 85208 * kill pid for smtp => 127750 * kill pid for http => 79439 * kill pid for mqtt => 144654 * kill pid for imap => 114810 * kill pid for rtsp => 111139 * kill pid for pop3 => 125244 * kill pid for socks => 116357 * kill pid for http-unix => 159327 * kill pid for telnet => 190006 * kill pid for tftp => 139095 * kill pid for http-proxy => 164586 * kill pid for pop3 => 125319 * kill pid for socks => 116818 * kill pid for http-ipv6 => 93140 * kill pid for smtp => 127847 * kill pid for imap => 122785 * kill pid for http => 78988 * kill pid for mqtt => 181762 * kill pid for socks => 116827 * kill pid for pop3 => 125086 * kill pid for http-ipv6 => 160335 * kill pid for imap => 122670 * kill pid for http => 81869 * kill pid for mqtt => 141441 * kill pid for smtp => 127748 * kill pid for ftp-ipv6 => 93651 * kill pid for ftp => 85245 * kill pid for http-proxy => 179223 * kill pid for smtp => 127656 * kill pid for mqtt => 144624 * kill pid for http => 152965 * kill pid for http-ipv6 => 93199 * kill pid for rtsp => 115289 * kill pid for pop3 => 132050 * kill pid for ftp => 84587 * kill pid for http-proxy => 83621 * kill pid for ftp => 85053 * kill pid for smtp => 113204 * kill pid for http => 78993 * kill pid for mqtt => 175830 * kill pid for imap => 121906 * kill pid for http-ipv6 => 93258 * kill pid for pop3 => 125320 * kill pid for socks => 116853 * kill pid for ftp => 84702 * kill pid for http-proxy => 179477 * kill pid for http-unix => 159360 * kill pid for http-ipv6 => 152116 * kill pid for socks => 116731 * kill pid for pop3 => 125269 * kill pid for mqtt => 144575 * kill pid for http => 78990 * kill pid for imap => 122830 * kill pid for smtp => 127808 * kill pid for telnet => 160188 * kill pid for rtsp => 111141 * kill pid for ftp => 85158 * kill pid for smtp => 130713 * kill pid for imap => 158265 * kill pid for http => 79038 * kill pid for rtsp => 111069 * kill pid for imap => 122222 * kill pid for mqtt => 182274 * kill pid for socks5unix => 160969 * kill pid for http-proxy => 83777 * kill pid for pop3 => 124955 * kill pid for socks => 116118 * kill pid for http => 165851 * kill pid for smtp => 113210 * kill pid for ftp => 85249 * kill pid for tftp => 177739 * kill pid for ftp => 188726 * kill pid for tftp => 94937 * kill pid for http-proxy => 146612 * kill pid for rtsp => 111131 * kill pid for http-ipv6 => 147503 * kill pid for socks => 116536 * kill pid for pop3 => 124858 * kill pid for smtp => 127845 * kill pid for http => 79032 * kill pid for imap => 122183 * kill pid for imap => 165995 * kill pid for http => 79065 * kill pid for smtp => 130773 * kill pid for pop3 => 105846 * kill pid for http-ipv6 => 136302 * kill pid for rtsp => 189495 * kill pid for http-proxy => 150163 * kill pid for ftp => 154115 * kill pid for gopher => 144791 * kill pid for ftp => 84721 * kill pid for pop3 => 125292 * kill pid for rtsp => 111137 * kill pid for smtp => 127841 * kill pid for ftp-ipv6 => 135955 * kill pid for imap => 122008 * kill pid for mqtt => 144626 * kill pid for http => 79175 * kill pid for rtsp => 111152 * kill pid for socks => 116629 * kill pid for pop3 => 124988 * kill pid for smtp => 127734 * kill pid for mqtt => 182599 * kill pid for http => 82533 * kill pid for imap => 122611 * kill pid for gopher => 144821 * kill pid for ftp => 84710 * kill pid for http-proxy => 186797 * kill pid for smtp => 113262 * kill pid for imap => 122291 * kill pid for http => 162978 * kill pid for socks => 116438 * kill pid for pop3 => 124956 * kill pid for http-ipv6 => 94590 * kill pid for ftp => 84833 * kill pid for http-ipv6 => 138203 * kill pid for socks => 116716 * kill pid for gopher-ipv6 => 144906 * kill pid for smtp => 113206 * kill pid for http => 79137 * kill pid for ftp => 84824 * kill pid for tftp => 147340 * kill pid for http-proxy => 95309 * kill pid for ftp => 84744 * kill pid for smtp => 127773 * kill pid for imap => 122502 * kill pid for mqtt => 144664 * kill pid for http Runner 78959 exiting Runner 78967 exiting Runner 78975 exiting Runner 78962 exiting Runner 78976 exiting Runner 78971 exiting Runner 78973 exiting Runner 78969 exiting Runner 78961 exiting Runner 78970 exiting Runner 78968 exiting Runner 78977 exiting Runner 78964 exiting Runner 78965 exiting Runner 78960 exiting Runner 78972 exiting Runner 78958 exiting Runner 78963 exiting Runner 78981 exiting Runner 78978 exiting Runner 78979 exiting Runner 78966 exiting Runner 78980 exiting Runner 78974 exiting => 78991 * kill pid for pop3 => 125072 * kill pid for socks => 116704 * kill pid for http-ipv6 => 188008 * kill pid for socks => 116766 * kill pid for smtp => 127735 * kill pid for http => 82167 * kill pid for gopher => 169038 * kill pid for ftp => 85558 * kill pid for tftp => 133608 * kill pid for http-proxy => 84342 * kill pid for http-proxy => 116732 * kill pid for tftp => 133606 * kill pid for ftp => 84935 * kill pid for smtp => 127810 * kill pid for mqtt => 182677 * kill pid for http => 79446 * kill pid for imap => 122891 * kill pid for http-ipv6 => 181133 * kill pid for pop3 => 125278 * kill pid for pop3 => 125054 * kill pid for socks => 116104 * kill pid for mqtt => 175834 * kill pid for http => 78982 * kill pid for imap => 113205 * kill pid for ftp-ipv6 => 135809 * kill pid for smtp => 127811 * kill pid for ftp => 85113 * kill pid for tftp => 97864 * kill pid for http-proxy => 164475 * kill pid for smtp => 127746 * kill pid for ftp-ipv6 => 93790 * kill pid for imap => 121995 * kill pid for http => 78984 * kill pid for mqtt => 186405 * kill pid for socks => 116373 * kill pid for pop3 => 125142 * kill pid for tftp => 177694 * kill pid for gopher => 144893 * kill pid for ftp => 84714 * kill pid for http => 78985 * kill pid for mqtt => 144680 * kill pid for imap => 122217 * kill pid for smtp => 127888 * kill pid for pop3 => 124951 * kill pid for socks => 115986 * kill pid for http-proxy => 137984 * kill pid for tftp => 95850 * kill pid for ftp => 84694 * kill pid for ftp-ipv6 => 93636 * kill pid for smtp => 127818 * kill pid for http => 79135 * kill pid for mqtt => 144434 * kill pid for imap => 113573 * kill pid for rtsp => 111274 * kill pid for http-ipv6 => 149029 * kill pid for pop3 => 125253 * kill pid for tftp => 95851 * kill pid for ftp => 84695 * kill pid for tftp => 177818 * kill pid for http-proxy => 164412 * kill pid for ftp => 84709 * kill pid for imap => 122113 * kill pid for http => 78983 * kill pid for smtp => 127840 * kill pid for dict => 160156 * kill pid for socks => 116717 * kill pid for pop3 => 124910 * kill pid for smtp => 127892 * kill pid for mqtt => 144655 * kill pid for http => 78989 * kill pid for imap => 122784 * kill pid for socks => 116436 * kill pid for pop3 => 125317 * kill pid for tftp => 95852 * kill pid for ftp => 84749 TESTDONE: 2138 tests were considered during 207 seconds. TESTINFO: 386 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 145 times (355, 356, 358, 359, 363, 412, 413, 437, 438 and 136 more) TESTINFO: "no stunnel" 75 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 66 more) TESTINFO: "failed starting SSH server" 56 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 47 more) TESTINFO: "curl lacks NTLM support" 53 times (67, 68, 69, 70, 76, 81, 89, 90, 91 and 44 more) TESTINFO: "configured as DISABLED" 15 times (433, 594, 836, 882, 938, 1182, 1184, 1209, 1211 and 6 more) TESTINFO: "curl lacks manual support" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710) TESTINFO: "curl lacks Schannel support" 7 times (2033, 2070, 2079, 2087, 3023, 3024, 4782) TESTINFO: "failed starting HTTP/2 server" 6 times (1700, 1702, 2402, 2403, 2404, 2407) TESTINFO: "curl has IDN support" 3 times (959, 960, 961) TESTINFO: "curl lacks override-dns support" 3 times (2102, 2103, 2104) TESTINFO: "curl lacks TrackMemory support" 3 times (96, 558, 1330) TESTINFO: "curl lacks ECH support" 2 times (4000, 4001) TESTINFO: "curl lacks nghttpx-h3 support" 2 times (2500, 2503) TESTINFO: "curl has IPv6 support" 1 time (1454) TESTINFO: "curl has proxy support" 1 time (375) TESTINFO: "curl has threaded-resolver support" 1 time (506) TESTINFO: "curl lacks ldap support" 1 time (445) TESTINFO: "curl lacks ssl-sessions support" 1 time (777) TESTINFO: "curl lacks SSLS-EXPORT support" 1 time (1678) TESTINFO: "curl lacks Unicode support" 1 time (1703) TESTINFO: "curl lacks win32 support" 1 time (1451) TESTINFO: "failed starting HTTP/3 server" 1 time (2502) FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky, libtest FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky, libtest FAIL-IGNORED 766: 'FTP PORT with sockopt callback refusing the accept' FTP, PORT, CURLOPT_SOCKOPTFUNCTION, timing-dependent, libtest FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, SLOWDOWNDATA, flaky, timing-dependent FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky, libtest FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky, libtest FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky, libtest FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, flaky, timing-dependent FAIL-IGNORED 1510: 'HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)' HTTP, verbose logs, flaky, libtest FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, do not block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent, libtest IGNORED: failed tests: 573 587 766 1086 1113 1162 1163 1208 1510 1592 TESTDONE: 25 tests out of 1752 reported OK: 1% FAIL 1: 'HTTP GET' HTTP, HTTP GET FAIL 2: 'HTTP GET with user and password' HTTP, HTTP GET, HTTP Basic auth FAIL 3: 'HTTP POST with auth and contents but with content-length set to 0' HTTP, HTTP POST, HTTP Basic auth FAIL 4: 'Replaced internal and added custom HTTP headers' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 5: 'HTTP over proxy' HTTP, HTTP GET, HTTP proxy FAIL 6: 'HTTP with simple cookie send' HTTP, HTTP GET, HTTP set cookie, cookies FAIL 7: 'HTTP with cookie parser and header recording' HTTP, HTTP GET, cookies, header dump FAIL 8: 'HTTP with cookie parsing from header file' HTTP, HTTP GET, cookies FAIL 9: 'HTTP RFC1867-type formposting' HTTP, HTTP FORMPOST, HTTP file upload FAIL 10: 'simple HTTP PUT from file' HTTP, HTTP PUT FAIL 11: 'simple HTTP Location: following' HTTP, HTTP GET, followlocation FAIL 12: 'HTTP range support' HTTP, HTTP GET, Content-Range FAIL 13: 'HTTP custom request 'DELETE'' HTTP, HTTP custom request FAIL 14: 'HTTP HEAD with Connection: close' HTTP, HTTP HEAD FAIL 15: '--write-out test' HTTP, HTTP GET, --write-out FAIL 16: 'HTTP with proxy authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 17: 'HTTP with config file on stdin' HTTP, HTTP custom request, config file FAIL 18: 'multiple requests using {} in URL' HTTP, HTTP GET, globbing, {} list FAIL 19: 'attempt connect to non-listening socket' HTTP, connect to non-listen FAIL 20: 'attempt connect to non-existing hostname' HTTP, non-existing host FAIL 21: 'use curl with multiple request methods' multiple HTTP requests FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL FAIL 23: 'unsupported protocol:// URL' unsupported scheme FAIL 24: 'HTTP GET fail silently on HTTP error return' HTTP, HTTP GET, --fail FAIL 25: 'looping HTTP Location: following with --max-redirs' HTTP, HTTP GET, followlocation, --max-redirs FAIL 26: 'specify more -o than URLs' HTTP, HTTP GET FAIL 27: 'Get same cookie page several times' HTTP, HTTP GET, cookies FAIL 28: 'HTTP Location: following with extra spaces in header' HTTP, HTTP GET FAIL 29: 'HTTP with 2 secs timeout' HTTP, HTTP GET, timeout FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G FAIL 33: 'HTTP PUT rejects upload resume' HTTP, HTTP PUT, Resume FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 35: 'HTTP POST binary data with embedded NUL byte' HTTP, HTTP POST, --data-binary FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume FAIL 39: 'HTTP RFC1867-type formposting with filename= and type=' HTTP, HTTP FORMPOST FAIL 40: 'HTTP redirect with whitespace after ? (and conversion)' HTTP, HTTP GET, followlocation FAIL 41: 'HTTP formpost with missing file' HTTP, HTTP FORMPOST FAIL 42: 'HTTP redirect with whitespace in path (and conversion)' HTTP, HTTP GET, followlocation FAIL 43: 'HTTP Location: following over HTTP proxy' HTTP, HTTP GET, followlocation, HTTP proxy FAIL 44: 'HTTP RFC1867-type formposting without Expect: header' HTTP, HTTP FORMPOST, HTTP replaced headers FAIL 45: 'simple HTTP Location: without protocol in initial URL' HTTP, HTTP GET, followlocation FAIL 46: 'HTTP with bad domain name, get cookies and store in cookie jar' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 47: 'simple HTTP 1.0 GET' HTTP, HTTP GET, HTTP/1.0 FAIL 48: 'HTTP with -d and -G and -I' HTTP, HTTP HEAD, -G FAIL 49: 'HTTP follow redirect with ../' HTTP, HTTP GET, followlocation FAIL 50: 'HTTP follow redirect with ../../' HTTP, HTTP GET, followlocation FAIL 51: 'HTTP follow redirect with excessive ../' HTTP, HTTP GET, followlocation FAIL 52: 'HTTP follow redirect with ./-prefix' HTTP, HTTP GET, followlocation FAIL 53: 'HTTP, junk session cookies' HTTP, HTTP GET, cookies FAIL 54: 'HTTP with blank Location:' HTTP, HTTP GET, followlocation FAIL 55: 'HTTP follow redirect with single slash in path' HTTP, HTTP GET, followlocation FAIL 56: 'HTTP POST with *HUGE* request and chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, config file, -A FAIL 57: 'HTTP content-type with spaces in' HTTP, HTTP GET, --write-out FAIL 58: 'HTTP PUT from file with weird letters' HTTP, HTTP PUT FAIL 59: 'HTTP URL with slash but with "parameter"' HTTP, HTTP GET FAIL 60: 'HTTP PUT from stdin with wrong content-length' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 61: 'HTTP with various cookies and custom Host:' HTTP, HTTP GET, cookies, cookiejar, HTTP replaced headers, httponly FAIL 62: 'HTTP, send cookies when using custom Host:' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 63: 'HTTP with proxy authorization set in environment' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, http_proxy FAIL 64: 'HTTP with Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 65: 'HTTP with Digest authorization with bad password' HTTP, HTTP GET, HTTP Digest auth FAIL 66: 'HTTP GET without headers in the response' HTTP, HTTP GET, HTTP/0.9 FAIL 71: 'HTTP and -F upload in config file' HTTP, HTTP FORMPOST, config file FAIL 72: 'HTTP with Digest *OR* Basic authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 73: 'HTTP cookies when using custom Host:, domain using only two dots' HTTP, HTTP GET, cookies, cookiejar FAIL 74: 'HTTP, urlglob {}-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, {} list FAIL 75: 'HTTP, urlglob retrieval with bad range' HTTP, HTTP GET, globbing FAIL 77: 'HTTP with -z "older date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 78: 'HTTP with -z "newer date"' HTTP, HTTP GET, If-Modified-Since, -z FAIL 79: 'FTP over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy FAIL 80: 'HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 82: 'HTTP with proxy requiring NTLM, but we send Basic' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP proxy NTLM auth FAIL 83: 'HTTP over proxy-tunnel with site authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 84: 'HTTP over proxy with site authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy FAIL 85: 'HTTP over proxy with site and proxy authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth FAIL 86: 'HTTP, urlglob []-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, [] range FAIL 87: 'urlglob with out of range -o #[num] usage' HTTP, HTTP GET, globbing, [] range FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth FAIL 92: 'HTTP resume transfer with the whole file already downloaded' HTTP, HTTP GET, Content-Range, Resume FAIL 93: 'HTTP GET with failed proxy auth' HTTP, HTTP GET, HTTP proxy FAIL 94: 'HTTPS GET with failed proxy auth (CONNECT 1.0)' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy FAIL 95: 'HTTP over proxytunnel using POST' HTTP, HTTP POST, HTTP CONNECT, proxytunnel FAIL 97: 'HTTP POST with custom content-type' HTTP, HTTP POST, HTTP replaced headers FAIL 98: 'HTTP PUT from stdin with set size, disabling chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 99: 'HTTP GET with large-file resume point and failed resume' HTTP, HTTP GET, Resume, Largefile FAIL 100: 'FTP dir list PASV' FTP, PASV, LIST FAIL 101: 'FTP dir list, PORT with specified IP' FTP, PORT, LIST FAIL 102: 'FTP RETR PASV' FTP, PASV, RETR FAIL 103: 'FTP RETR PORT with CWD' FTP, PORT, RETR FAIL 104: 'FTP --head to get file size only' FTP, NOBODY FAIL 105: 'FTP user+password in URL and ASCII transfer' FTP, PASV, TYPE A, RETR FAIL 106: 'FTP GET with type=A style ASCII URL using %20 codes' FTP, EPSV, TYPE A, RETR, type= FAIL 107: 'FTP PASV upload file' FTP, EPSV, STOR FAIL 108: 'FTP PORT upload with CWD' FTP, PORT, STOR FAIL 109: 'FTP PASV upload append' FTP, EPSV, APPE FAIL 110: 'FTP download resume with set limit' FTP, PASV, RETR, Resume FAIL 111: 'FTP download resume beyond file size' FTP, EPSV, Resume FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume FAIL 113: 'FTP download, failed login: USER not valid' FTP FAIL 114: 'FTP download, failed login: PASS not valid' FTP FAIL 115: 'FTP download, failed PASV' FTP, PASV FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, EPRT refused FAIL 117: 'FTP download, failed TYPE' FTP FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR FAIL 120: 'ftp download with post-quote delete operation' FTP, PASV, RETR, post-quote FAIL 121: 'ftp download with post- and pre-transfer delete operations' FTP, EPSV, RETR, post-quote, pre-quote FAIL 122: 'FTP download resume with whole file already downloaded' FTP, PASV, Resume FAIL 123: 'FTP upload resume with whole file already downloaded' FTP, EPSV, Resume FAIL 124: 'FTP download, failed PWD' FTP, PASV, RETR FAIL 125: 'FTP download, failed CWD' FTP FAIL 126: 'FTP download with multiple replies at once in RETR' FTP, EPSV, RETR, RETRWEIRDO FAIL 127: 'FTP --disable-epsv' FTP, PASV, RETR, --disable-epsv FAIL 128: 'FTP upload with --crlf' FTP, EPSV, STOR, --crlf FAIL 129: 'HTTP/1.2 is rejected' HTTP, HTTP GET FAIL 130: 'FTP (optional .netrc; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 131: 'FTP (optional .netrc; user/no pass) dir list PASV' FTP, EPSV, LIST, netrc FAIL 132: 'FTP (optional .netrc; user/passwd supplied) dir list PASV' FTP, EPSV, LIST, netrc FAIL 133: 'FTP compulsory .netrc; ignore passwd in URL' FTP, EPSV, LIST, netrc FAIL 134: 'FTP (optional .netrc; programmatic user/passwd) dir list PASV' FTP, EPSV, LIST, netrc FAIL 135: 'FTP retrieve a byte-range' FTP, EPSV, RETR, Range FAIL 136: 'FTP with user and no password' FTP, EPSV, RETR FAIL 137: 'FTP download without size in RETR string' FTP, RETR, --data-binary FAIL 138: 'FTP download without size in RETR string and no SIZE command' FTP, RETR FAIL 139: 'FTP download a newer file with -z' FTP, RETR, -z FAIL 140: 'FTP download file with -z, expected to not transfer' FTP, -z, --data-binary FAIL 141: 'FTP download info with -I' FTP, NOBODY FAIL 142: 'FTP URL with 150 dir levels' FTP FAIL 143: 'FTP URL with type=a' FTP, RETR, type= FAIL 144: 'FTP NLST dir list without contents, using PORT' FTP, PORT, NLST, --data-binary FAIL 145: 'FTP NLST dir list with weird reply code, using PORT' FTP, NLST, PORT FAIL 146: 'persistent FTP with different paths' FTP, RETR, persistent connection FAIL 147: 'FTP with --ftp-create-dirs (failing CWD)' FTP FAIL 148: 'FTP with --ftp-create-dirs (failing MKD)' FTP FAIL 149: 'FTP with multiple uploads' FTP FAIL 151: 'HTTP GET with an error code that might trick authentication' HTTP, HTTP GET FAIL 152: 'HTTP GET with an error code that might trick authentication and --fail' HTTP, HTTP GET, --fail FAIL 153: 'HTTP with Digest authorization with stale=true' HTTP, HTTP GET, HTTP Digest auth FAIL 154: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 156: 'HTTP PUT with --anyauth (when the server requires none)' HTTP, HTTP PUT, --anyauth FAIL 157: 'HTTP GET with --anyauth (when the server requires none)' HTTP, HTTP GET, --anyauth FAIL 158: 'HTTP multipart formpost with zero resume offset and only a 100 reply' HTTP, HTTP POST, Resume FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY FAIL 161: 'FTP RETR partial file' FTP, CURLE_PARTIAL_FILE, RETR, PASV FAIL 163: 'HTTP multipart formpost with contents from a file' HTTP, HTTP POST FAIL 164: 'HTTP range with multiple ranges' HTTP, HTTP GET FAIL 165: 'HTTP over proxy with IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN FAIL 166: 'HTTP formpost a file with spaces in name' HTTP, HTTP POST FAIL 167: 'HTTP with proxy-requiring-Basic to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP Digest auth FAIL 168: 'HTTP with proxy-requiring-Digest to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth FAIL 171: 'HTTP, get cookie with dot prefixed full domain' HTTP, HTTP GET, HTTP proxy, cookies FAIL 172: 'HTTP with cookies file and custom added cookie' HTTP, HTTP GET, cookies FAIL 173: 'HTTP RFC1867-formpost a file from stdin with "faked" filename' HTTP, HTTP POST FAIL 174: 'HTTP POST --anyauth to server not requiring any auth at all' HTTP, HTTP POST FAIL 175: 'HTTP POST --digest to server not requiring any auth at all' HTTP, HTTP POST, HTTP Digest auth FAIL 177: 'HTTP POST --digest to server doing a 302-location response' HTTP, HTTP POST, HTTP Digest auth, followlocation FAIL 178: 'HTTP response with negative Content-Length' HTTP, HTTP GET FAIL 179: 'HTTP using proxy and cookies with path checks' HTTP, HTTP GET, HTTP proxy, cookies FAIL 180: 'HTTP 1.0 PUT' HTTP, HTTP PUT, HTTP/1.0 FAIL 181: 'HTTP 1.0 POST' HTTP, HTTP POST, HTTP/1.0 FAIL 182: 'FTP download an empty file' FTP FAIL 183: 'HTTP GET two URLs over a single proxy with persistent connection' HTTP, HTTP GET, HTTP proxy, persistent connection FAIL 184: 'HTTP replace Host: when following Location: to new host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 185: 'HTTP replace Host: when following Location: on the same host' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 186: 'HTTP RFC1867-type formposting with types on text fields' HTTP, HTTP POST FAIL 187: 'HTTP redirect with bad hostname separation and slash in parameters' HTTP, HTTP GET, followlocation FAIL 188: 'HTTP GET with resume and redirect' HTTP, HTTP GET, Content-Range, Resume, followlocation FAIL 189: 'HTTP GET with resume and redirect (to a page that does not resume)' HTTP, HTTP GET FAIL 190: 'FTP download with strict timeout and slow CWD' FTP, timeout, DELAY FAIL 191: 'FTP URL with ?-letters in username and password' FTP FAIL 192: 'HTTP GET -w num_connects with one simple connect' HTTP, HTTP GET FAIL 193: 'HTTP GET -w num_connects with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, --write-out FAIL 194: 'HTTP resume transfer with the whole file already downloaded and --fail' HTTP, HTTP GET, Content-Range, Resume FAIL 195: 'FTP response 530 after PASS, temporarily not allowed access' FTP FAIL 196: 'FTP transient error, retry request once' FTP, retry FAIL 197: 'HTTP GET --retry on 503 error with output to stdout' HTTP, HTTP GET, retry FAIL 198: 'HTTP GET --retry on 503 error with output to file' HTTP, HTTP GET, retry FAIL 199: 'HTTP with -d, -G and {}' HTTP, HTTP GET, globbing FAIL 200: 'basic file:// file' FILE FAIL 201: 'missing file:// file' FILE FAIL 202: 'two file:// URLs to stdout' FILE FAIL 203: 'file:/path URL with a single slash' FILE FAIL 204: '"upload" with file://' FILE FAIL 205: '"upload" nonexisting with file://' FILE FAIL 206: 'HTTP proxy CONNECT auth Digest' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 207: 'HTTP GET with chunked Transfer-Encoding closed prematurely' HTTP, HTTP GET, CURLE_PARTIAL_FILE, chunked Transfer-Encoding FAIL 208: 'HTTP PUT to an FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy FAIL 210: 'Get two FTP files from the same remote dir: no second CWD' FTP FAIL 211: 'Get two FTP files with no remote EPSV support' FTP FAIL 212: 'Get two FTP files with no remote EPRT support' FTP, EPRT FAIL 214: 'HTTP URL with escaped { and }' HTTP, HTTP GET FAIL 215: 'Get two FTP dir listings from the same remote dir: no second CWD' FTP FAIL 216: 'FTP upload two files to the same dir' FTP FAIL 217: 'HTTP proxy CONNECT to proxy returning 405' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, followlocation, --write-out FAIL 218: 'HTTP PUT from a file but enforce chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 219: 'try using proxy with unsupported scheme' proxy, unsupported scheme FAIL 220: 'HTTP GET gzip compressed content' HTTP, HTTP GET, compressed FAIL 221: 'HTTP GET gzip compressed content with broken gzip header' HTTP, HTTP GET, compressed FAIL 222: 'HTTP GET deflate compressed content' HTTP, HTTP GET, compressed FAIL 223: 'HTTP GET deflate compressed content with broken deflate header' HTTP, HTTP GET, compressed FAIL 224: 'HTTP GET gzip compressed content with huge comment and extra field' HTTP, HTTP GET, compressed FAIL 225: 'FTP %0a-code in URL's name part' FTP FAIL 226: 'FTP %0d-code in URL's CWD part' FTP FAIL 227: 'FTP with quote ops' FTP, post-quote, pre-quote FAIL 228: 'FTP RETR with ACCT' FTP, ACCT FAIL 229: 'FTP RETR with bad ACCT' FTP, ACCT FAIL 230: 'HTTP GET multiply compressed content' HTTP, HTTP GET, compressed FAIL 231: 'file:// with resume' FILE FAIL 232: 'HTTP GET deflate raw-compressed content' HTTP, HTTP GET, compressed FAIL 233: 'HTTP, proxy, site+proxy auth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 234: 'HTTP, proxy, site+proxy auth and Location: --location-trusted' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, followlocation, --location-trusted FAIL 235: 'FTP resumed upload but no file present remotely' FTP, STOR FAIL 236: 'FTP resume upload but denied access to remote file' FTP FAIL 237: 'FTP getting bad host in 227-response to PASV' FTP FAIL 238: 'FTP getting bad port in response to EPSV' FTP FAIL 240: 'HTTP-IPv6 GET' HTTP, HTTP GET, IPv6 FAIL 241: 'HTTP-IPv6 GET (using ip6-localhost)' HTTP, HTTP GET, IPv6, IPv6-hostname FAIL 242: 'HTTP-IPv6 GET with username+password in URL' HTTP, HTTP GET, IPv6, HTTP Basic auth FAIL 244: 'FTP dir listing with nocwd and URL encoded path' FTP, PASV, CWD, --ftp-method, nocwd FAIL 245: 'HTTP POST --digest' HTTP, HTTP POST, HTTP Digest auth FAIL 246: 'HTTP POST --digest with server doing a 100 before 401 response' HTTP, HTTP POST, HTTP Digest auth FAIL 247: 'FTP upload time condition evaluates TRUE => skip upload' FTP, MDTM FAIL 248: 'FTP upload time condition evaluates FALSE => upload anyway' FTP, STOR, MDTM FAIL 249: 'HTTP 304 response with "illegal" Content-Length: header' HTTP, HTTP GET, -z FAIL 250: 'FTP dir list PASV with slow response' FTP, SLOWDOWN FAIL 251: 'FTP dir list, PORT with specified IP and slow response' FTP, SLOWDOWN FAIL 252: 'FTP IPv6 dir list PASV' FTP, FTP-ipv6, IPv6, EPSV FAIL 253: 'FTP IPv6 dir list with EPRT' FTP, FTP-ipv6, IPv6, EPRT FAIL 254: 'FTP IPv6 dir list PASV and --disable-epsv' FTP, FTP-ipv6, IPv6, EPSV, --disable-epsv FAIL 255: 'FTP IPv6 dir list with EPRT and --disable-eprt' FTP, FTP-ipv6, IPv6, EPRT, --disable-eprt FAIL 256: 'HTTP resume request over proxy with auth without server supporting it' HTTP, HTTP GET, HTTP proxy, Resume FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc FAIL 258: 'HTTP multipart POST without Expect: using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP replaced headers, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 259: 'HTTP POST multipart with Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth FAIL 260: 'HTTP GET URL without slash but with question mark' HTTP, HTTP GET FAIL 261: 'FTP RETR with 226 response code to TYPE' FTP, EPSV, RETR FAIL 262: 'Reject HTTP response with binary zero in header' HTTP, HTTP GET FAIL 263: 'HTTP-IPv6 GET with proxy specified using IPv6-numerical address' HTTP, HTTP GET, IPv6, HTTP proxy FAIL 264: 'HTTP with proxy string including http:// and user+password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 268: 'JSON encoding of Unicode string' HTTP, variables FAIL 269: 'HTTP --ignore-content-length' HTTP, HTTP GET FAIL 270: 'FTP RETR PASV --ftp-skip-pasv-ip' FTP, PASV, RETR FAIL 271: 'TFTP retrieve' TFTP, TFTP RRQ FAIL 272: 'FTP timed conditioned get file with identical time stamp' FTP, PASV, RETR FAIL 273: 'HTTP with two Digest authorization headers' HTTP, HTTP GET, HTTP Digest auth FAIL 274: 'HTTP Location: following with --max-redirs 0' HTTP, HTTP GET, followlocation, --max-redirs FAIL 275: 'HTTP CONNECT with proxytunnel getting two URLs from the same host' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth, proxytunnel FAIL 276: 'HTTP Location: following with multiple question marks in URLs' HTTP, HTTP GET, followlocation FAIL 277: 'HTTP RFC1867-type formposting with custom Content-Type' HTTP, HTTP FORMPOST FAIL 278: 'HTTP with proxy string including http:// and user+empty password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 279: 'HTTP with proxy string including http:// and user only' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth FAIL 280: 'FTP --ftp-alternative-to-user on USER failure' FTP, PASV, LIST, --ftp-alternative-to-user FAIL 281: 'HTTP PUT from file with 100 + 401 responses and -f without auth given' HTTP, HTTP PUT FAIL 282: 'HTTP GET with no response body or headers' HTTP, HTTP GET FAIL 283: 'TFTP retrieve on invalid file' TFTP, TFTP RRQ FAIL 284: 'TFTP retrieve of boundary case 512-byte file' TFTP, TFTP RRQ FAIL 285: 'TFTP send' TFTP, TFTP WRQ FAIL 286: 'TFTP send of boundary case 512-byte file' TFTP, TFTP WRQ FAIL 287: 'HTTP proxy CONNECT with custom User-Agent header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 288: 'file:// with (unsupported) proxy, authentication and range' FILE FAIL 289: 'FTP resume upload but denied access to local file' FTP, STOR, Resume FAIL 290: 'FTP download maximum filesize exceeded' FTP, --max-filesize FAIL 291: 'FTP download maximum filesize not exceeded' FTP, RETR, --max-filesize FAIL 292: 'HTTP GET with maximum filesize not exceeded' HTTP, HTTP GET, --max-filesize FAIL 293: 'HTTP GET with maximum filesize exceeded' HTTP, HTTP GET, --max-filesize FAIL 294: 'FTP --ftp-account on ACCT request' FTP, PASV, LIST, ACCT, --ftp-account FAIL 295: 'FTP ACCT request without --ftp-account' FTP, PASV, LIST, ACCT FAIL 296: 'FTP CWD with --ftp-method multicwd' FTP, PASV, CWD, --ftp-method, multicwd FAIL 297: 'FTP CWD with --ftp-method singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 298: 'FTP CWD with --ftp-method nocwd' FTP, PASV, CWD, --ftp-method, nocwd FAIL 299: 'FTP over HTTP proxy with user:pass not in url' FTP, HTTP, CURLOPT_USERPWD, HTTP proxy FAIL 314: 'HTTP GET brotli compressed content' HTTP, HTTP GET, compressed FAIL 315: 'HTTP GET brotli compressed content with broken header' HTTP, HTTP GET, compressed FAIL 316: 'HTTP brotli compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 317: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 318: 'HTTP with custom Authorization: then trusted redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 319: 'HTTP GET gobbledigook transfer-encoded data in raw mode' HTTP, HTTP GET, Transfer-Encoding, --raw FAIL 320: 'Load cookies from file for localhost' HTTP, cookies FAIL 321: '--etag-save to stdout append to file' etags FAIL 322: '--proto with multiple modifiers' --proto FAIL 326: 'HTTP GET chunked data in raw mode' HTTP, HTTP GET FAIL 327: 'HTTP with cookiejar without cookies left' HTTP, HTTP GET, cookies, header dump FAIL 328: 'HTTP with "Content-Encoding: none' HTTP, HTTP GET, Content-Encoding FAIL 329: 'HTTP cookie with Max-Age=0' HTTP, HTTP GET, cookies FAIL 330: 'HTTP with custom Cookie: and redirect to new host' HTTP, HTTP proxy, followlocation, cookies FAIL 331: 'HTTP with cookie using hostname 'moo'' HTTP, HTTP GET, HTTP proxy, cookies FAIL 332: 'TFTP retrieve with blksize 400' TFTP, TFTP RRQ FAIL 333: 'Try a non-boolean command line option with --no-' cmdline FAIL 334: 'HTTP 204 No content with chunked header' HTTP, 204 FAIL 335: 'HTTP with proxy Digest and site Digest with creds in URLs' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth, HTTP auth in URL FAIL 336: 'FTP range download when SIZE does not work' FTP, PASV, TYPE A, RETR FAIL 337: 'FTP range download with SIZE returning extra crap' FTP, PASV, TYPE A, RETR FAIL 338: 'ANYAUTH connection reuse of non-authed connection' HTTP, HTTP GET FAIL 339: 'Check if --etag-save saved correct etag to a file' HTTP, HTTP GET FAIL 340: 'FTP using %00 in path with singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd FAIL 341: 'A non existing file with --etag-compare is a blank' HTTP, HTTP GET FAIL 342: 'Check if --etag-compare set correct etag in header' HTTP, HTTP GET FAIL 343: 'Both --etag-compare and --etag-save to save new Etag' HTTP, HTTP GET FAIL 344: 'Both --etag-compare and -save store new Etag using non-existing file' HTTP, HTTP GET FAIL 345: 'Both --etag-compare and -save store new Etag in pre-existing file' HTTP, HTTP GET FAIL 346: 'HTTP GET over proxy with credentials using blank passwords' HTTP, proxy FAIL 347: '--etag-save with blank incoming header' HTTP, HTTP GET FAIL 348: 'FTP upload file with 552 disk full response' FTP, EPSV, STOR FAIL 349: 'HTTP GET --fail-with-body on HTTP error return' HTTP, HTTP GET, --fail-with-body FAIL 350: 'FTP root dir list multicwd' FTP, PASV, LIST FAIL 351: 'FTP root dir list nocwd' FTP, PASV, LIST FAIL 352: 'FTP root dir list singlecwd' FTP, PASV, LIST FAIL 353: 'FTP home dir list singlecwd' FTP, PASV, LIST FAIL 354: 'FTP without password' FTP, PASV, RETR FAIL 357: 'HTTP PUT with Expect: 100-continue and 417 response' HTTP, HTTP PUT, Expect: 100-continue FAIL 360: 'Error on both --fail-with-body and --fail' --fail, --fail-with-body FAIL 361: 'HTTP GET --fail-with-body on HTTP error return - twice' HTTP, HTTP GET, --fail-with-body FAIL 362: 'FTP resume upload file with nothing to start from' FTP, EPSV, STOR FAIL 365: 'HTTP/1.1 with chunked AND Content-Length headers' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 366: 'HTTP --retry-max-time with too long Retry-After' HTTP, HTTP GET, retry FAIL 367: 'Empty username provided in URL' HTTP, HTTP GET, HTTP Basic auth FAIL 368: 'Append dash if -r range specified without one' HTTP, HTTP GET, Range FAIL 369: '--etag-save with bad path then working transfer' HTTP, HTTP GET, etag FAIL 370: '--etag-save with bad path - no transfer' HTTP, HTTP GET, etag FAIL 371: 'using more -o than URLs in the command line' HTTP, HTTP GET FAIL 372: 'Binary zero in data element.' HTTP, HTTP GET FAIL 373: 'Chunked transfer encoding - Multiple valid chunks with binary zeros.' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 374: 'Valid gif with two frames. No new line in data section.' HTTP, HTTP GET, gif data FAIL 376: '--remove-on-error' HTTP, HTTP GET FAIL 378: 'Reject using -T and -d at once' HTTP PUT, HTTP POST FAIL 379: '--remove-on-error with --no-clobber and an added number' HTTP, HTTP GET FAIL 380: 'pick netrc password based on username in URL' FTP, EPSV, LIST, netrc FAIL 381: 'netrc-optional lets URL creds override netrc' FTP, EPSV, LIST, netrc FAIL 383: 'HTTP with --json' HTTP, HTTP POST, --json FAIL 384: 'HTTP with --json from stdin' HTTP, HTTP POST, --json FAIL 385: 'HTTP with --json x 2' HTTP, HTTP POST, --json FAIL 386: 'HTTP with --json + --next' HTTP, HTTP POST, --json FAIL 387: 'Response with overly long compression chain' HTTP, gzip FAIL 388: 'HTTP with Digest and multiple qop values with leading space' HTTP, HTTP GET, HTTP Digest auth FAIL 389: '*.localhost is a local host' HTTP, .localhost FAIL 390: 'curl HTTP, FILE and FTP in parallel' HTTP, FILE, FTP, parallel FAIL 391: '--path-as-is with redirect, keeping dotdots' HTTP, HTTP GET, --path-as-is FAIL 392: 'HTTP secure cookies over localhost' HTTP, HTTP GET, cookies, secure FAIL 393: 'HTTP max-filesize and out-of-range Content-Length' HTTP, HTTP GET, --max-filesize FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET FAIL 395: 'HTTP and out-of-range Content-Length' HTTP, HTTP GET FAIL 396: 'HTTP GET zstd compressed content' HTTP, HTTP GET, compressed FAIL 397: 'HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed FAIL 398: 'Reject HTTP/1.1 response with colon-less header' HTTP, HTTP GET FAIL 399: '65536-byte-long hostname in URL' URL FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS FAIL 405: 'FTPS operation to FTP port' FTP, FTPS FAIL 409: 'Load cookies from file where some are PSL domains' HTTP, cookies FAIL 411: '-K with missing file causes error' -K FAIL 415: 'HTTP response with control code then negative Content-Length' HTTP, HTTP GET FAIL 416: 'FTP growing file support' FTP, EPSV, RETR, Range FAIL 418: 'Response with multiple Transfer-Encoding headers' HTTP, gzip FAIL 419: '--dump-header to file that cannot be created' --dump-header FAIL 420: 'Setting cookies set with expired dates that were loaded from jar' HTTP, HTTP GET, cookies FAIL 421: 'HTTP GET multiple headers and %{header_json}' header_json FAIL 422: 'use --next with missing URL before it' cmdline, --next FAIL 423: '-w with url.* variables' -w, --write-out FAIL 424: '-w with urle.* variables' -w, --write-out FAIL 425: 'HTTP PUT with path ending with slash + query' HTTP, HTTP PUT FAIL 426: 'try --data with --continue-at' Resume, error detection FAIL 427: 'Keep Cookie: header within 8190 bytes' HTTP, HTTP GET, cookies FAIL 428: 'Expand environment variables within config file' HTTP, variables, --config FAIL 429: 'Expand environment variable in config file - too long name' HTTP, HTTP POST, variables FAIL 430: 'Three -K uses with --next and --data in each' --next, --config, POST FAIL 431: 'Two -K uses with --next and then one on cmdline' --next, --config, POST FAIL 432: 'Use -K with --next and --config from within' --next, --config, POST FAIL 434: '-K with a single line without newline' HTTP, --config FAIL 435: 'verify -w local/remote port+ip after connection reuse' HTTP, HTTP GET FAIL 436: 'Find .curlrc in .config/curlrc via CURL_HOME' --config FAIL 440: 'HSTS with trailing-dot hostname in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 441: 'HSTS with no t-dot hostname in URL but t-dot in file' HTTP, HTTP proxy, HSTS, trailing-dot FAIL 442: 'Send capped huge number of matching cookies' HTTP, cookies, --resolve FAIL 443: 'Cookie header in request no longer than 8K' HTTP, cookies, --resolve FAIL 444: 'Many Set-Cookie response headers' HTTP, cookies, --resolve FAIL 448: 'Environment variables within config file, unbalanced braces' HTTP, variables, --config FAIL 449: 'Environment variables in config file w/o [expand]' HTTP, variables, --config FAIL 450: 'Variable from file that is trimmed and URL encoded' HTTP, variables FAIL 451: 'Variable from file that is JSON and URL encoded (with NUL byte)' HTTP, variables FAIL 452: 'Variable using illegal function in expansion' variables FAIL 453: 'Variable output containing NUL byte' HTTP, variables FAIL 454: 'Variable using illegal function separator' variables FAIL 455: 'Variable using base64' variables FAIL 456: 'Variable output starting with NUL byte' HTTP, variables FAIL 457: 'chunked Transfer-Encoding with --max-filesize' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 458: 'variable expand the filename with --expand-output' HTTP, variables FAIL 459: 'config file with argument using whitespace missing quotes' HTTP, --config FAIL 460: 'try --expand without an argument' variables, expand FAIL 461: 'disable Host: when specified as lower case' HTTP, HTTP GET, --header FAIL 462: 'Missing environment variables in config file' variables, --config FAIL 463: 'HTTP with -d @file with file containing CR, LF and NUL byte' HTTP, HTTP POST, -d FAIL 467: 'non-existing short option letter (after one that exists)' cmdline FAIL 468: 'set -w in config, then reset -w to blank on cmdline' HTTP, --write-out, --config FAIL 469: 'warn about Unicode quote character' HTTP FAIL 470: 'warn about Unicode quote character read from config file' HTTP FAIL 471: 'Reject HTTP/1.1 to HTTP/2 switch on the same connection' HTTP, HTTP GET, globbing, {} list FAIL 473: 'Check if --etag-save saved correct etag to a file on 301' HTTP, HTTP GET FAIL 475: 'FTP PASV upload ASCII file' FTP, EPSV, STOR, TYPE A FAIL 476: 'FTP PASV upload ASCII file already using CRLF' FTP, EPSV, STOR, TYPE A FAIL 477: 'HTTP GET with maximum filesize with a redirect sending data' HTTP, HTTP GET, --max-filesize FAIL 478: '.netrc with multiple accounts for same host' netrc, HTTP FAIL 479: '.netrc with redirect and default without password' netrc, HTTP FAIL 480: 'Reject .netrc with credentials using CRLF for POP3' netrc, POP3 FAIL 481: '--no-clobber with --continue-at' HTTP, HTTP GET, --no-clobber, --continue-at FAIL 482: '--remove-on-error with --continue-at' HTTP, --remove-on-error, --continue-at FAIL 483: 'HTTP cookies with long expire dates' HTTP, HTTP GET, cookies FAIL 484: 'Use --etag-compare and -save with more than one URL' HTTP, etag FAIL 485: '--etag-compare and -save with more than one URL, URLs specified first' HTTP, etag FAIL 486: '.netrc with redirect and "default" with no password or login' netrc, HTTP FAIL 487: 'Variable using 64dec with bad base64' variables FAIL 488: 'Download two URLs provided on stdin' HTTP, HTTP GET, --url FAIL 489: 'Download two URLs provided in a file' HTTP, HTTP GET, --url FAIL 490: 'Two globbed HTTP PUTs' HTTP, HTTP PUT FAIL 491: 'Two globbed HTTP PUTs, the second upload file is missing' HTTP, HTTP PUT FAIL 492: 'Two globbed HTTP PUTs to two globbed URLs' HTTP, HTTP PUT FAIL 493: 'HSTS and %{url_effective} after upgrade' HTTP, HTTP proxy, HSTS, url_effective FAIL 494: 'skip 'macdef' when parsing netrc' FTP, EPSV, netrc, macdef FAIL 495: 'user+password in URL with optional netrc' HTTP, netrc FAIL 496: 'parallel upload missing file' curl tool, cmdline, parallel FAIL 497: 'Reject too large accumulated HTTP response headers' HTTP, HTTP GET FAIL 498: 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET FAIL 499: 'HTTP HEAD to server still sending a body' HTTP, HTTP GET FAIL 500: 'simple libcurl HTTP GET tool' HTTP, HTTP GET, libtest FAIL 501: 'simple libcurl attempt operation without URL set' missing URL, libtest FAIL 502: 'simple multi file:// get' FILE, libtest FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi, libtest FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, connect to non-listen, libtest FAIL 505: 'FTP upload with rename after transfer' FTP, STOR, libtest FAIL 507: 'multi interface get with non-existing hostname' HTTP, multi, non-existing host, libtest FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback, libtest FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks, libtest FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, libtest FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP, libtest FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET, libtest FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST, libtest FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD, libtest FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST, libtest FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM, libtest FAIL 517: 'curl_getdate() testing' getdate, libtest FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET, libtest FAIL 520: 'FTP RETR with FILETIME' FTP, libtest FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT, libtest FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT, libtest FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY, libtest FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD, libtest FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi, libtest FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi, libtest FAIL 527: 'FTP RETR same file using different handles and closed connections' FTP, PASV, RETR, multi, libtest FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi, libtest FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function seq)' FTP, PORT, STOR, multi, libtest FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP, libtest FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi, libtest FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi, libtest FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi, libtest FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host, libtest FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi, libtest FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY, libtest FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET, libtest FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, multi, libtest FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP, libtest FAIL 540: 'HTTP proxy auth Digest multi API reusing connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi, libtest FAIL 541: 'FTP upload and upload same file again without rewind' FTP, STOR, libtest FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR, libtest FAIL 543: 'curl_easy_escape' curl_easy_escape, libtest FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST, libtest FAIL 545: 'HTTP POST binary with embedded NUL byte and no null-terminator' HTTP, HTTP POST, libtest FAIL 546: 'FTP RETR non-existing file then a found one using multi' FTP, PASV, RETR, multi, libtest FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy, libtest FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE using ASCII' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, libtest FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth, libtest FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth, libtest FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header, libtest FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM, libtest FAIL 556: 'send and recv HTTP' HTTP, HTTP GET, libtest FAIL 557: 'curl_mprintf() testing' printf, libtest FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP, libtest FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type=, libtest FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR, libtest FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy, libtest FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4, libtest FAIL 565: 'HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding, libtest FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET, libtest FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS, libtest FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE, libtest FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID, libtest FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking, libtest FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP, libtest FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER, libtest FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST)' FTP, LIST, RETR, wildcardmatch, ftplistparser, libtest FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser, libtest FAIL 576: 'FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser, libtest FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS, libtest FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST, libtest FAIL 579: 'small chunked HTTP POSTs with digest auth and progress callback' HTTP, HTTP POST, HTTP Digest auth, libtest FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header, libtest FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header, libtest FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME, libtest FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION, libtest FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT, libtest FAIL 588: 'FTP PORT upload using multi interface, EPRT does not work' FTP, PORT, STOR, multi, EPRT refused, libtest FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME, libtest FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425, libtest FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421, libtest FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150, libtest FAIL 595: 'verify close callbacks with passive FTP' FTP, libtest FAIL 596: 'verify close callbacks with active FTP' FTP, libtest FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY, libtest FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset, libtest FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding, libtest FAIL 632: 'SFTP syntactically invalid host key' SFTP, server key check FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST, libtest FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST, libtest FAIL 646: 'SMTP multipart using mime API' SMTP, MULTIPART FAIL 647: 'IMAP APPEND multipart using mime API' IMAP, APPEND, UPLOAD, MULTIPART FAIL 648: 'SMTP multipart with transfer content encoders' SMTP, MULTIPART FAIL 649: 'SMTP multipart with 7-bit encoder error' SMTP, MULTIPART FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM, libtest FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM, libtest FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME, libtest FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME, libtest FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST, libtest FAIL 655: 'resolver start callback' HTTP, libtest FAIL 657: 'RTSP OPTIONS response with a body' RTSP, OPTIONS, libtest FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU, libtest FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy, libtest FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY, libtest FAIL 661: 'Avoid redundant CWDs' FTP, libtest FAIL 662: 'HTTP redirect with whitespace in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 663: 'HTTP redirect with dotdots and whitespaces in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 666: 'HTTP mime post with binary-encoded huge data contents' HTTP, HTTP POST, HTTP MIME POST, MIME, libtest FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST, libtest FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST, libtest FAIL 669: 'HTTP custom Content-Type with parameter' HTTP, HTTP POST, HTTP MIME POST, HTTP FORMPOST FAIL 670: 'Request pause from mime read callback: multi' HTTP, HTTP POST, MIME, libtest FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME, libtest FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM, libtest FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM, libtest FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle, libtest FAIL 675: 'HTTP connection reuse and different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 676: 'verify setting CURLOPT_COOKIEFILE to NULL again' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset, libtest FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY, libtest FAIL 679: 'netrc with quoted username and password' HTTP, netrc FAIL 680: 'netrc with quoted password but missing end quote' HTTP, netrc FAIL 681: '--remote-name-all with --no-remote-name' HTTP, HTTP GET FAIL 682: 'netrc with multiple logins - pick first' HTTP, netrc FAIL 683: 'netrc with multiple logins - pick second' HTTP, netrc FAIL 684: 'netrc with no login' HTTP, netrc FAIL 685: 'netrc with no login - but provided user in URL' HTTP, netrc FAIL 686: 'verify return code for missing URL after --next' errorcode FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS, libtest FAIL 690: '-O with URL without path using trailing slash' HTTP, HTTP GET FAIL 691: '-O with URL with path using trailing slash' HTTP, HTTP GET FAIL 692: '-JO with URL without path using trailing slash' HTTP, HTTP GET FAIL 693: '--etag-save with --create-dirs' HTTP, HTTP GET, etag FAIL 695: 'MIME parts reuse as a child part' MIME, libtest FAIL 696: 'CONNECT_ONLY and doing a second curl_easy_perform' HTTP, HTTP GET, libtest FAIL 697: 'netrc with missing netrc file' HTTP, netrc FAIL 698: 'FTP with ACCT and connection reuse' FTP, ACCT FAIL 699: '--config with single-letter options plus one that is cleared' HTTP, --config FAIL 700: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4 FAIL 701: 'HTTP GET via SOCKS5 proxy' HTTP, HTTP GET, SOCKS5 FAIL 702: 'Attempt connect to non-listening HTTP server via SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen FAIL 706: 'FTP dir list PASV via SOCKS4' FTP, PASV, LIST, SOCKS4 FAIL 707: 'FTP dir list PASV via SOCKS5' FTP, PASV, LIST, SOCKS5 FAIL 708: 'HTTP GET via SOCKS4 all_proxy' HTTP, HTTP GET, SOCKS4 FAIL 709: 'HTTP GET via SOCKS5 set in http_proxy environment variable' HTTP, HTTP GET, SOCKS5, http_proxy FAIL 710: 'HTTP GET via SOCKS5 set with --proxy' HTTP, HTTP GET, SOCKS5 FAIL 711: 'FTP fetch with all_proxy set to socks5' FTP, PASV, RETR, SOCKS5, all_proxy FAIL 712: 'FTP fetch with --proxy set to socks5://' FTP, PASV, RETR, SOCKS5 FAIL 713: 'FTP fetch with --proxy set to socks5:// and with --connect-to' FTP, PASV, RETR, SOCKS5, CURLOPT_CONNECT_TO FAIL 714: 'FTP fetch with --proxy set to http:// and with --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, CURLOPT_CONNECT_TO FAIL 715: 'FTP fetch with --preproxy, --proxy and --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, SOCKS5, CURLOPT_CONNECT_TO FAIL 716: 'SOCKS5 proxy with too long username' HTTP, SOCKS5, all_proxy FAIL 717: 'SOCKS5 proxy auth' HTTP, SOCKS5, all_proxy FAIL 718: 'HTTP proxy CONNECT (no auth) with proxy returning 407 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 719: 'HTTP GET with IPv6 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 720: 'HTTP GET with IPv4 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 721: 'HTTP GET with hostname using SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h FAIL 722: 'IPFS' IPFS FAIL 723: 'IPFS with malformed gateway URL (bad function argument error)' IPFS FAIL 724: 'IPFS with gateway URL from gateway file' IPFS FAIL 725: 'IPFS with malformed gateway URL from gateway file' IPFS FAIL 726: 'IPFS with no gateway URL (no environment or home file either)' IPFS FAIL 727: 'IPNS' IPNS FAIL 728: 'SOCKS5h with HTTP redirect to hostname too long' HTTP, HTTP GET, SOCKS5, SOCKS5h, followlocation FAIL 729: 'SOCKS4 with long proxy username' HTTP, HTTP GET, SOCKS4 FAIL 730: 'IPFS arg gateway with path' IPFS FAIL 731: 'IPFS with gateway URL and path from gateway file' IPFS FAIL 732: 'IPFS with path' IPFS FAIL 733: 'IPFS with path and query args' IPFS FAIL 734: 'IPFS with path, query args and gateway with path' IPFS FAIL 735: 'IPNS with path, query args and gateway with path' IPFS FAIL 736: 'IPFS with IPFS_PATH set, no trailing slash' IPFS FAIL 737: 'IPFS with IPFS_PATH set, with trailing slash' IPFS FAIL 738: 'IPFS with IPFS_PATH, no gateway file' IPFS FAIL 739: 'IPNS path and query args for gw and IPFS URL (malformed gw URL)' IPFS FAIL 740: 'IPFS with gateway URL from multiline gateway file' IPFS FAIL 741: 'IPFS malformed gw URL from multiline gateway file, first line no URL' IPFS FAIL 742: 'SOCKS5-hostname with max length credentials and max hostname length' HTTP, SOCKS5, all_proxy FAIL 743: '--config with a 127-byte line' HTTP, --config FAIL 744: '--netrc-file with a 127-byte line' HTTP, --netrc-file, netrc FAIL 746: 'too large numerical value passed to -m' cmdline FAIL 747: 'Reject too many HTTP response headers' HTTP, HTTP GET FAIL 748: 'A --config file that uses -h and no URL' --config FAIL 749: 'HTTP CONNECT with proxy returning 400 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 750: 'HTTP CONNECT with proxy returning HTML and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 751: 'multi - add many easy handles' MULTI, libtest FAIL 752: '--retry and -f on an HTTP 404 response' HTTP, HTTP GET, -f, --retry FAIL 754: 'FTP list with quote ops' FTP, list, post-quote, pre-quote FAIL 755: 'netrc with NETRC pointing out the file' HTTP, netrc FAIL 756: 'mix --output and --out-null' HTTP FAIL 757: 'MIME parts reused as a child part, using data_cb' MIME, libtest FAIL 759: 'glob '{,'' globbing FAIL 760: 'more cmdline options than URLs and --next' globbing FAIL 761: 'too many {} globs' globbing FAIL 762: 'HTTP GET with --remote-time with file date from 1940' HTTP, HTTP GET, --remote-time FAIL 763: 'Unicode hostname ending up in a blank name' IDN FAIL 764: '-w with multiple header output' HTTP, HTTP GET, -w, %header FAIL 765: '-w with multiple header output using } in separator' HTTP, HTTP GET, -w, %header FAIL 767: 'HTTP with two Content-Length response header fields same size' HTTP, HTTP GET FAIL 768: 'HTTP with letters after the number in Content-Length' HTTP, HTTP GET FAIL 769: 'HTTP with space after Content-Length number' HTTP, HTTP GET FAIL 770: 'HTTP with Content-Length headers using comma separated list' HTTP, HTTP GET FAIL 771: 'HTTP with two Content-Length headers using different sizes' HTTP, HTTP GET FAIL 772: 'HTTP with two Location: headers triggers error' HTTP, HTTP GET, Location FAIL 773: 'HTTP with two identical Location: headers triggers no error' HTTP, HTTP GET, Location FAIL 774: 'config file recursively including itself' --config FAIL 778: 'HTTP --oauth2-bearer redirect to new host (not passed on)' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, oauth2-bearer FAIL 779: 'HTTP --oauth2-bearer redirects to IMAP' HTTP, IMAP, oauth2-bearer, followlocation, --resolve FAIL 784: '--variable with a file byte range' HTTP, --variable FAIL 785: '--variable with a file byte range without end' HTTP, --variable FAIL 786: '--variable with a file byte range, reading from stdin' HTTP, --variable FAIL 787: '--variable with a file byte range, bad range' HTTP, --variable FAIL 788: '--variable with a file and single-byte byte range' HTTP, --variable FAIL 789: '--variable with a file and byte range out of file' HTTP, --variable FAIL 790: '--variable with a byte range using plain assign' HTTP, --variable FAIL 791: '--variable with a byte range using plain assign, out of range' HTTP, --variable FAIL 792: '.netrc with embedded NUL byte' netrc, FTP FAIL 793: '.netrc with embedded NUL byte, with quoted token' netrc, FTP FAIL 794: '--follow + --location with custom POST method, 302 => GET' --follow, --location FAIL 795: 'HTTP with credentials redirects to IMAP' HTTP, IMAP, followlocation, --resolve FAIL 796: '--follow with custom POST method, 302 => GET' --follow, --location FAIL 797: '--follow with custom POST method, 308 => custom' --follow, --location FAIL 798: 'HTTP cookies in a folded header' HTTP, HTTP GET, cookies, cookiejar FAIL 799: 'IMAP with --login-options 'AUTH=+LOGIN'' IMAP, Clear Text, SASL AUTH +LOGIN FAIL 800: 'IMAP FETCH message with MAILINDEX' IMAP, Clear Text, FETCH FAIL 801: 'IMAP FETCH message by MAILINDEX and SECTION' IMAP, Clear Text, FETCH FAIL 802: 'IMAP SELECT UIDVALIDITY Success' IMAP, Clear Text, SELECT, UIDVALIDITY FAIL 803: 'IMAP SELECT UIDVALIDITY Failure' IMAP, Clear Text, SELECT, UIDVALIDITY FAIL 804: 'IMAP selects a mailbox when its case changes' IMAP, Clear Text, SELECT FAIL 805: 'IMAP APPEND message' IMAP, Clear Text, APPEND, UPLOAD FAIL 806: 'IMAP LIST mailbox' IMAP, Clear Text, LIST FAIL 807: 'IMAP LSUB mailbox' IMAP, Clear Text, LSUB, CUSTOMREQUEST FAIL 808: 'IMAP EXAMINE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, EXAMINE, CUSTOMREQUEST FAIL 809: 'IMAP mailbox STATUS (CUSTOMREQUEST)' IMAP, Clear Text, STATUS, CUSTOMREQUEST FAIL 810: 'IMAP SEARCH for NEW messages' IMAP, Clear Text, SEARCH FAIL 811: 'IMAP CREATE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CREATE, CUSTOMREQUEST FAIL 812: 'IMAP DELETE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, DELETE, CUSTOMREQUEST FAIL 813: 'IMAP RENAME mailbox (CUSTOMREQUEST)' IMAP, Clear Text, RENAME, CUSTOMREQUEST FAIL 814: 'IMAP CHECK mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CHECK, CUSTOMREQUEST FAIL 815: 'IMAP STORE - delete message (CUSTOMREQUEST)' IMAP, Clear Text, STORE, CLOSE, CUSTOMREQUEST FAIL 816: 'IMAP STORE - delete message with confirmation (CUSTOMREQUEST)' IMAP, Clear Text, STORE, EXPUNGE, CUSTOMREQUEST FAIL 817: 'IMAP COPY message to mailbox (CUSTOMREQUEST)' IMAP, Clear Text, COPY, CUSTOMREQUEST FAIL 818: 'IMAP NOOP (CUSTOMREQUEST)' IMAP, Clear Text, NOOP, CUSTOMREQUEST FAIL 819: 'IMAP plain authentication' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 820: 'IMAP login authentication' IMAP, SASL, SASL AUTH LOGIN FAIL 821: 'IMAP CRAM-MD5 authentication' IMAP, SASL, SASL AUTH CRAM-MD5, RFC2195 FAIL 824: 'IMAP OAuth 2.0 (XOAUTH2) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749 FAIL 825: 'IMAP plain authentication with initial response' IMAP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616 FAIL 826: 'IMAP login authentication with initial response' IMAP, SASL, SASL AUTH LOGIN, SASL-IR FAIL 828: 'IMAP OAuth 2.0 (XOAUTH2) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749 FAIL 829: 'IMAP with URL-encoded CR LF in the URL' IMAP, CRLF-in-URL FAIL 830: 'IMAP CRAM-MD5 graceful cancellation' IMAP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195 FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195 FAIL 837: 'IMAP external authentication' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 838: 'IMAP external authentication without credentials' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422 FAIL 839: 'IMAP external authentication with initial response' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 840: 'IMAP external authentication with initial response without credentials' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422 FAIL 841: 'IMAP custom request does not check continuation data' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 842: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 843: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 844: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628 FAIL 845: 'IMAP OAuth failure as continuation with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628 FAIL 846: 'IMAP PREAUTH response' IMAP FAIL 847: 'IMAP FETCH message with UID' IMAP, Clear Text, FETCH FAIL 848: 'IMAP plain authentication with alternative authorization identity' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 849: 'IMAP plain auth with alt authorization identity (Not authorized)' IMAP, SASL, SASL AUTH PLAIN, RFC4616 FAIL 850: 'POP3 RETR message' POP3, Clear Text, RETR FAIL 851: 'POP3 LIST one message' POP3, Clear Text, LIST FAIL 852: 'POP3 LIST invalid message' POP3, Clear Text, LIST FAIL 853: 'POP3 LIST messages from *SLOW* server' POP3, Clear Text, LIST, SLOWDOWN FAIL 854: 'POP3 LIST no messages available' POP3, Clear Text, LIST FAIL 855: 'POP3 RETR invalid message' POP3, Clear Text, RETR FAIL 856: 'POP3 invalid login' POP3, Clear Text FAIL 857: 'POP3 RETR message with dot-prefixed line' POP3, Clear Text, RETR FAIL 858: 'POP3 DELE message (CUSTOMREQUEST)' POP3, Clear Text, DELE, CUSTOMREQUEST FAIL 859: 'POP3 STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST FAIL 860: 'POP3 NOOP (CUSTOMREQUEST)' POP3, Clear Text, NOOP, CUSTOMREQUEST FAIL 861: 'POP3 UIDL (CUSTOMREQUEST)' POP3, Clear Text, UIDL, CUSTOMREQUEST, RFC2449 FAIL 862: 'POP3 retrieve message header (CUSTOMREQUEST)' POP3, Clear Text, TOP, CUSTOMREQUEST, RFC2449 FAIL 863: 'POP3 RSET (CUSTOMREQUEST)' POP3, Clear Text, RSET, CUSTOMREQUEST FAIL 864: 'POP3 APOP authentication' POP3, APOP FAIL 865: 'POP3 plain authentication' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 866: 'POP3 login authentication' POP3, SASL, SASL AUTH LOGIN, RFC1734, RFC5034 FAIL 867: 'POP3 CRAM-MD5 authentication' POP3, SASL, SASL AUTH CRAM-MD5, RFC1734, RFC2195, RFC5034 FAIL 870: 'POP3 OAuth 2.0 (XOAUTH2) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749 FAIL 871: 'POP3 plain authentication with initial response' POP3, SASL, SASL AUTH PLAIN, SASL-IR, RFC1734, RFC4616, RFC5034 FAIL 872: 'POP3 login authentication with initial response' POP3, SASL, SASL AUTH LOGIN, SASL-IR, RFC1734, RFC5034 FAIL 874: 'POP3 OAuth 2.0 (XOAUTH2) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749 FAIL 875: 'POP3 with URL-encoded CR LF in the URL' POP3, CRLF-in-URL FAIL 876: 'POP3 CRAM-MD5 graceful cancellation' POP3, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC1734, RFC2195, RFC5034 FAIL 879: 'POP3 CRAM-MD5 authentication with SASL downgrade' POP3, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC2195, RFC5034 FAIL 883: 'POP3 external authentication' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 884: 'POP3 external authentication without credentials' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034 FAIL 885: 'POP3 external authentication with initial response' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 886: 'POP3 external authentication with initial response without credentials' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034 FAIL 887: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 888: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 889: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 890: 'POP3 OAuth failure as continuation with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628 FAIL 891: 'POP3 with short authentication response' POP3 FAIL 892: 'POP3 plain authentication with alternative authorization identity' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 893: 'POP3 plain auth with alt authorization identity (Not authorized)' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034 FAIL 894: 'POP3 with CR in username' POP3, Clear Text, RETR FAIL 895: 'IMAP with --login-options 'AUTH=*'' IMAP, Clear Text, FETCH, --login-options FAIL 896: 'IMAP with --login-options 'AUTH=dummy' (failing)' IMAP, Clear Text, FETCH, --login-options FAIL 897: 'IMAP and envelope meta data after body transfer' IMAP, Clear Text, FETCH FAIL 898: 'HTTP with custom auth and cookies redirected to HTTP on a diff port' HTTP, HTTP proxy, --location, Authorization, cookies FAIL 899: 'URL with credentials redirects to URL with different credentials' HTTP, HTTP GET, HTTP Basic auth FAIL 900: 'SMTP' SMTP FAIL 901: 'SMTP with CRLF-dot-CRLF in data' SMTP FAIL 902: 'RFC821-only SMTP server (EHLO not supported)' SMTP, SMTP HELO, RFC821 FAIL 903: 'SMTP plain authentication' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 904: 'SMTP login authentication' SMTP, SASL, SASL AUTH LOGIN, RFC4954 FAIL 905: 'SMTP CRAM-MD5 authentication' SMTP, SASL, SASL AUTH CRAM-MD5, RFC2195, RFC4954 FAIL 908: 'SMTP OAuth 2.0 (XOAUTH2) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749 FAIL 909: 'SMTP without SIZE support' SMTP FAIL 910: 'SMTP without terminating CRLF' SMTP FAIL 911: 'SMTP with no mail data' SMTP FAIL 912: 'SMTP with SIZE support' SMTP, SIZE FAIL 913: 'SMTP with large message SIZE' SMTP, SIZE FAIL 914: 'SMTP invalid --mail-from' SMTP FAIL 915: 'SMTP without --mail-from' SMTP FAIL 916: 'SMTP with invalid --mail-rcpt' SMTP FAIL 917: 'SMTP with multiple --mail-rcpt' SMTP FAIL 918: 'SMTP with multiple and invalid --mail-rcpt' SMTP FAIL 919: 'SMTP plain authentication with initial response' SMTP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616, RFC4954 FAIL 920: 'SMTP login authentication with initial response' SMTP, SASL, SASL AUTH LOGIN, SASL-IR, RFC4954 FAIL 922: 'SMTP OAuth 2.0 (XOAUTH2) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749 FAIL 923: 'SMTP VRFY' SMTP, VRFY FAIL 924: 'SMTP ambiguous VRFY' SMTP, VRFY FAIL 925: 'SMTP external VRFY' SMTP, VRFY FAIL 926: 'SMTP unknown user VRFY' SMTP, VRFY FAIL 927: 'SMTP mailing list EXPN (CUSTOMREQUEST)' SMTP, EXPN, CUSTOMREQUEST FAIL 928: 'SMTP HELP' SMTP, HELP FAIL 929: 'SMTP NOOP (CUSTOMREQUEST)' SMTP, NOOP, CUSTOMREQUEST FAIL 930: 'SMTP RSET (CUSTOMREQUEST)' SMTP, RSET, CUSTOMREQUEST FAIL 931: 'SMTP with URL-encoded CR LF in the URL' SMTP, CRLF-in-URL FAIL 932: 'SMTP CRAM-MD5 graceful cancellation' SMTP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195, RFC4954 FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954 FAIL 939: 'RFC821-only SMTP with username and password' SMTP, RFC821 FAIL 940: 'SMTP with username and password but no AUTH capability' SMTP FAIL 941: 'SMTP with --crlf' SMTP, --crlf FAIL 942: 'SMTP external authentication' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 943: 'SMTP external authentication without credentials' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954 FAIL 944: 'SMTP external authentication with initial response' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 945: 'SMTP external authentication with initial response without credentials' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954 FAIL 946: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 947: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 948: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628 FAIL 949: 'SMTP OAuth failure as continuation with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628 FAIL 950: 'SMTP VRFY with custom request' SMTP, VRFY, --request FAIL 951: 'SMTP data with dot as first character' SMTP FAIL 952: 'SMTP data with single dot-only line' SMTP FAIL 953: 'SMTP plain authentication with alternative authorization identity' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 954: 'SMTP plain auth with alt authorization identity (Not authorized)' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954 FAIL 955: 'SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)' SMTP FAIL 956: 'SMTP without SMTPUTF8 support - UTF-8 based recipient (local part)' SMTP FAIL 957: 'SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)' SMTP, VRFY FAIL 958: 'SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part)' SMTP, VRFY FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender, with IDN' SMTP, IDN FAIL 963: 'SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)' SMTP, IDN FAIL 964: 'SMTP external VRFY w/o SMTPUTF8 (IDN) - UTF-8 recipient (host part)' SMTP, VRFY, IDN FAIL 965: 'SMTP with SMTPUTF8 support - UTF-8 based sender' SMTP, IDN FAIL 966: 'SMTP with SMTPUTF8 support - UTF-8 based recipient' SMTP, IDN FAIL 967: 'SMTP external VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 968: 'SMTP VRFY with SMTPUTF8 support' SMTP, VRFY, IDN FAIL 969: 'SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support' SMTP, EXPN, CUSTOMREQUEST, IDN FAIL 973: 'HTTP with auth redirected to FTP w/o auth' HTTP, FTP, --location FAIL 974: 'HTTP with auth redirected to HTTP on a diff port w/o auth' HTTP, HTTP proxy, --location FAIL 975: 'HTTP with auth redirected to FTP allowing auth to continue' HTTP, FTP, --location-trusted FAIL 976: 'HTTP with auth redirected to HTTP on a diff port --location-trusted' HTTP, HTTP proxy, --location-trusted FAIL 977: 'URL with trailing dot and receiving a cookie for the TLD with dot' HTTP, HTTP proxy, cookies FAIL 978: 'verify that --stderr works for -w's stderr as well' HTTP, --stderr FAIL 979: '-u with redirect to absolute URL using same origin and auth' HTTP, HTTP GET, HTTP Basic auth FAIL 980: 'SMTP STARTTLS pipelined server response' SMTP, STARTTLS FAIL 981: 'IMAP STARTTLS pipelined server response' IMAP, STARTTLS FAIL 982: 'POP3 STARTTLS pipelined server response' POP3, STARTTLS FAIL 983: 'FTP STARTTLS pipelined server response' FTP, STARTTLS FAIL 984: 'IMAP require STARTTLS with failing capabilities' IMAP, STARTTLS FAIL 985: 'POP3 require STARTTLS with failing capabilities' POP3, STARTTLS FAIL 986: 'FTP require STARTTLS while preauthenticated' FTP, STARTTLS FAIL 990: 'use -w %output{}' HTTP, HTTP GET, -w FAIL 991: 'use -w %output{} append' HTTP, HTTP GET, -w FAIL 992: 'SASL verify default mechanisms are reset by login options' SMTP, SASL, UPLOAD FAIL 993: 'POP3 LIST 1000 messages' POP3, Clear Text, LIST FAIL 994: '--skip-existing with globbing' HTTP, HTTP GET FAIL 995: '--skip-existing without file present' HTTP, HTTP GET FAIL 996: '--skip-existing with file present' HTTP, HTTP GET FAIL 997: 'POP3 retrieve STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST, RFC2449 FAIL 998: 'HTTP with auth in URL redirected to another host' HTTP, --location-trusted FAIL 999: 'HTTP with auth in first URL but not second' HTTP, --location-trusted FAIL 1000: 'FTP dir list PASV with -I' FTP, PASV, LIST, NOBODY FAIL 1001: 'HTTP Digest range upload with a modified method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Range, Content-Range, CUSTOMREQUEST FAIL 1002: 'HTTP Digest uploads with zero resume offset and custom method' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, CUSTOMREQUEST FAIL 1003: 'FTP with excessively large server command response line' FTP, RETR, huge response FAIL 1004: 'HTTP GET with empty proxy' HTTP, HTTP GET, HTTP proxy FAIL 1005: 'FTP with excessively large number of server command response lines' FTP, RETR, huge response FAIL 1006: 'FTP with large number of command response lines (boundary condition)' FTP, RETR, huge response FAIL 1007: 'TFTP send with invalid permission on server' TFTP, TFTP WRQ FAIL 1009: 'TFTP retrieve with --local-port' TFTP, TFTP RRQ, --local-port FAIL 1010: 'FTP dir list nocwd' FTP, PASV, LIST FAIL 1011: 'HTTP POST with 301 redirect' HTTP, HTTP POST, followlocation FAIL 1012: 'HTTP POST with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1013: 'Compare curl --version with curl-config --protocols' curl-config FAIL 1014: 'Compare curl --version with curl-config --features' curl-config FAIL 1015: '--data-urlencode' HTTP, HTTP POST, --data-urlencode FAIL 1016: 'X-Y range on a file:// URL to stdout' FILE, Range FAIL 1017: '0-Y range on a file:// URL to stdout' FILE, Range FAIL 1018: 'X-X range on a file:// URL to stdout' FILE, Range FAIL 1019: 'X- range on a file:// URL to stdout' FILE, Range FAIL 1020: '-Y range on a file:// URL to stdout' FILE, Range FAIL 1022: 'Compare curl --version with curl-config --version' curl-config FAIL 1023: 'Compare curl --version with curl-config --vernum' curl-config FAIL 1024: 'HTTP Location: following with cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1025: 'HTTP Location: following with command-line and server cookies' HTTP, HTTP GET, followlocation, cookies FAIL 1027: 'curl --help' --help FAIL 1028: 'HTTP Location: redirect to FTP URL' HTTP, HTTP GET, followlocation, FTP, PASV, FILE FAIL 1029: 'HTTP Location: and 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1030: 'HTTP PUT with --anyauth, picking Digest. Persistent connection.' HTTP, HTTP PUT, HTTP Digest auth, --anyauth FAIL 1031: 'HTTP Location: following to a query string' HTTP, HTTP GET, followlocation FAIL 1032: 'HTTP HEAD with --range' HTTP, HTTP HEAD, Range FAIL 1033: 'HTTP GET with 102 response!' HTTP, HTTP GET FAIL 1034: 'HTTP over proxy with malformatted IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN, config file FAIL 1035: 'HTTP over proxy with too long IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN FAIL 1036: 'FTP download resume from end of file' FTP, PASV, RETR, Resume FAIL 1037: 'FTP download resume from end of empty file' FTP, PASV, RETR, Resume FAIL 1038: 'FTP PASV upload resume from end of file' FTP, EPSV, APPE, Resume FAIL 1039: 'FTP PASV upload resume from end of empty file' FTP, EPSV, APPE, Resume FAIL 1040: 'HTTP GET with resume from end of entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1041: 'HTTP PUT rejects automatic upload resume' HTTP, HTTP PUT, Resume FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume FAIL 1043: 'HTTP GET with resume from end of file' HTTP, HTTP GET, Resume FAIL 1044: 'FTP download large file info with -I' FTP, NOBODY, Largefile FAIL 1045: 'HTTP GET with numeric localhost --interface' HTTP, HTTP GET, --interface FAIL 1046: 'HTTP-IPv6 GET with numeric localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1047: 'FTP dir list PASV with localhost --interface' FTP, PASV, LIST, --interface FAIL 1048: 'FTP-IPv6 dir list PASV with localhost --interface' FTP, FTP-ipv6, IPv6, PASV, LIST, --interface FAIL 1049: 'TFTP retrieve with localhost --interface' TFTP, TFTP RRQ, --interface FAIL 1050: 'FTP-IPv6 dir list, EPRT with specified IP' FTP, FTP-ipv6, IPv6, EPRT FAIL 1051: 'HTTP PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1052: 'HTTP 1.0 PUT with Location: following' HTTP, HTTP PUT, followlocation FAIL 1053: 'HTTP RFC1867-type formposting from file with Location: following' HTTP, HTTP FORMPOST, HTTP file upload, followlocation FAIL 1054: 'HTTP POST from file with 301 redirect and --post301' HTTP, HTTP POST, followlocation FAIL 1055: 'HTTP PUT Location: redirect to FTP URL' HTTP, HTTP PUT, followlocation, FTP, EPSV, STOR FAIL 1056: 'HTTP follow redirect from IPv4 to IPv6 with scope' HTTP, HTTP GET, followlocation, IPv6 FAIL 1057: 'FTP retrieve a byte-range relative to end of file' FTP, EPSV, RETR, Range FAIL 1058: 'HTTP range relative to end of file' HTTP, HTTP GET, Content-Range FAIL 1059: 'HTTP CONNECT with proxytunnel to unsupported FTP URL' HTTP, HTTP CONNECT, proxytunnel, FTP FAIL 1060: 'HTTP proxy CONNECT auth Digest, large headers and data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth FAIL 1061: 'HTTP proxy CONNECT auth Digest, large headers and chunked data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, chunked Transfer-Encoding, proxytunnel, HTTP proxy Digest auth FAIL 1062: 'FTP excessively long server command response lines, boundary condition' FTP, RETR, huge response FAIL 1063: 'Invalid large X- range on a file://' FILE, Range FAIL 1064: 'HTTP PUT twice' HTTP, HTTP PUT FAIL 1065: 'HTTP PUT with one file but two URLs' HTTP, HTTP PUT, HTTP GET FAIL 1066: 'HTTP --dump-header - with two URLs' HTTP, HTTP GET FAIL 1067: 'HTTP Location: following with auto-referer' HTTP, HTTP GET, followlocation FAIL 1068: 'HTTP PUT from stdin' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1069: 'HTTP 1.0 PUT from stdin with no content length' HTTP, HTTP PUT, HTTP/1.0 FAIL 1070: 'HTTP POST with server closing connection before (all) data is received' HTTP, HTTP POST FAIL 1071: 'Downgraded HTTP PUT to HTTP 1.0 with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0 FAIL 1072: 'HTTP chunked PUT to HTTP 1.0 server with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0, chunked Transfer-Encoding FAIL 1073: 'HTTP chunked PUT to HTTP 1.0 server with redirect' HTTP, HTTP PUT, HTTP/1.0, followlocation, chunked Transfer-Encoding FAIL 1074: 'HTTP downgrade to HTTP/1.0 on second request' HTTP, HTTP GET, HTTP/1.0, DELAY FAIL 1075: 'HTTP PUT with --anyauth authorization (picking Basic)' HTTP, HTTP PUT, HTTP Basic auth, --anyauth FAIL 1076: 'HTTP POST with 302 redirect and --post302' HTTP, HTTP POST, followlocation FAIL 1077: 'FTP over HTTP proxy with downgrade to HTTP 1.0' FTP, HTTP, HTTP/1.0, HTTP GET, HTTP proxy FAIL 1078: 'HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0' HTTP, HTTP/1.0, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1079: 'HTTP retry after closed connection and empty response' HTTP, HTTP GET, HTTP Digest auth FAIL 1080: 'HTTP Location: on two URLs 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1081: 'HTTP no Location: on second URL 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1082: 'HTTP GET with localhost --interface' HTTP, HTTP GET, --interface FAIL 1083: 'HTTP-IPv6 GET with ip6-localhost --interface' HTTP, HTTP GET, --interface, IPv6 FAIL 1084: 'HTTP GET with invalid --interface' HTTP, HTTP GET, --interface, non-existing host FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, non-existing host FAIL 1087: 'HTTP, proxy with --anyauth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth FAIL 1088: 'HTTP, proxy with --anyauth and Location: using location-trusted' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth, --location-trusted FAIL 1089: 'HTTP GET --write-out with redirected fetch' HTTP, HTTP GET, followlocation, --write-out FAIL 1090: 'HTTP GET --write-out with redirected fetch and chunked reply' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 1091: 'FTP URL with type=i' FTP, RETR, type= FAIL 1092: 'FTP with type=i over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy, type= FAIL 1093: 'TFTP retrieve with mode=octet' TFTP, TFTP RRQ, mode= FAIL 1094: 'TFTP retrieve with mode=netascii' TFTP, TFTP RRQ, mode= FAIL 1095: 'HTTP with Digest and realm with quoted quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 1096: 'Two FTP downloads, with failed RETR but reused control connection' FTP, PASV, RETR FAIL 1098: 'FTP RETR twice over proxy confirming persistent connection' FTP, HTTP proxy, CURLOPT_PROXY FAIL 1099: 'TFTP get first a non-existing file then an existing' TFTP, TFTP RRQ FAIL 1101: 'NO_PROXY test, with username in URL' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, http_proxy, NO_PROXY FAIL 1102: 'FTP OS/400 server name format check' FTP, SYST, SITE, OS400 FAIL 1103: 'FTP non-OS/400 server' FTP, SYST, SITE, OS400 FAIL 1104: 'HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1105: 'HTTP POST with cookies' HTTP, HTTP POST, cookies, cookiejar FAIL 1106: 'FTP URL and with ftp_proxy environment variable set' FTP, CURLOPT_PORT, HTTP proxy FAIL 1107: 'FTP RETR PASV with PRET' FTP, PASV, RETR, PRET FAIL 1108: 'FTP RETR PASV with PRET not supported' FTP, PASV, RETR, PRET FAIL 1109: 'HTTP GET with URL that contains fragment after the path' HTTP, CURLOPT_URL FAIL 1110: 'HTTP GET with URL that contains a fragment after the query part' HTTP, CURLOPT_URL FAIL 1111: 'HTTP GET with URL whose fragment contains a # (which is illegal)' HTTP, CURLOPT_URL FAIL 1114: 'FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)' FTP, wildcardmatch, ftplistparser, libtest FAIL 1115: 'HTTP GET with unexpected 1xx response' HTTP, HTTP 1xx response code FAIL 1116: 'HTTP GET with chunked trailer without Trailer:' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1117: 'HTTP with invalid range then another URL' HTTP, HTTP GET, Range, DELAY FAIL 1118: 'URL without slash and @-letter in query' HTTP, HTTP GET FAIL 1120: 'FTP with 421 timeout response' FTP, PORT, RETR, 421, timeout FAIL 1121: 'HTTP multiple provided Host: headers' HTTP FAIL 1122: 'HTTP GET gzip transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1123: 'HTTP GET deflate transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1124: 'HTTP GET gzip+chunked transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding, chunked Transfer-Encoding FAIL 1125: 'HTTP GET transfer-encoding with custom Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1126: 'HTTP 200 If-Modified-Since with newer document' HTTP, HTTP GET, If-Modified-Since FAIL 1127: 'HTTP 200 If-Modified-Since with older document' HTTP, HTTP GET, If-Modified-Since FAIL 1128: 'HTTP 200 If-Modified-Since with old+new documents' HTTP, HTTP GET, If-Modified-Since FAIL 1129: 'HTTP POST expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1130: 'HTTP POST forced expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue FAIL 1131: 'HTTP PUT expect 100-continue with a 400' HTTP, HTTP PUT, Expect: 100-continue FAIL 1132: 'MQTT CONNACK with bad Remaining Length' MQTT, MQTT CONNACK FAIL 1133: 'HTTP formpost with filename/data containing ',', ';', '"'' HTTP, HTTP FORMPOST FAIL 1134: 'HTTP connection reuse with different credentials' HTTP, HTTP HEAD, -G FAIL 1136: 'Check cookies against PSL' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, PSL FAIL 1137: 'FTP RETR --ignore-content-length' FTP, PASV, RETR, --ignore-content-length FAIL 1138: 'HTTP redirect with UTF-8 characters' HTTP, HTTP GET, followlocation FAIL 1141: 'HTTP redirect to http:/// (three slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1142: 'HTTP redirect to http://// (four slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1143: 'HTTP URL with http:/ (one slash!)' HTTP, HTTP GET, followlocation FAIL 1144: 'HTTP HEAD, receive no headers only body' HTTP, HTTP HEAD, HTTP/0.9 FAIL 1145: 'file:// bad host' FILE FAIL 1146: '--proto-default file' FILE, --proto-default FAIL 1147: 'Get -H headers from a file' HTTP, HTTP GET, -H FAIL 1148: 'progress-bar' HTTP, progressbar FAIL 1149: 'FTP dir list multicwd then again nocwd' FTP, PASV, LIST FAIL 1150: 'HTTP proxy with URLs using different ports' HTTP, HTTP GET, HTTP proxy FAIL 1151: 'HTTP with too long cookies' HTTP, HTTP GET, cookies FAIL 1152: 'FTP with unclosed quote in PWD response' FTP FAIL 1153: 'FTP with quoted double quotes' FTP, PASV, LIST FAIL 1154: 'HTTP GET with 100K (too long) response header' HTTP, HTTP GET FAIL 1155: 'HTTP cookie with parameter word as name' HTTP, HTTP GET, cookies FAIL 1156: 'HTTP resume/range fail range-error content-range combinations' HTTP, HTTP GET, Content-Range, Resume, Range, libtest FAIL 1157: 'Get -H headers from empty file' HTTP, HTTP GET, -H FAIL 1158: 'HTTP RFC1867-type formposting with filename containing '"'' HTTP, HTTP FORMPOST FAIL 1159: 'HTTP Location: and 'redirect_url' with non-supported scheme' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1160: 'HTTP with long funny format cookie' HTTP, HTTP GET, cookies FAIL 1161: 'HTTP cookie with path set twice' HTTP, HTTP GET, cookies FAIL 1164: 'HTTP/0.9 GET and all zeroes' HTTP, HTTP GET FAIL 1166: 'HTTP response with cookies but not receiving!' HTTP, HTTP GET, followlocation, cookies FAIL 1168: 'HTTP redirect with credentials using # in user and password' HTTP, HTTP GET, followlocation FAIL 1170: 'HTTP GET transfer-encoding with removed Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1171: 'HTTP GET transfer-encoding with blanked Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1172: 'HTTP/0.9 GET response denied' HTTP, HTTP/0.9 FAIL 1174: 'HTTP/0.9 GET response denied by default' HTTP, HTTP/0.9 FAIL 1176: '--output using #0' globbing FAIL 1178: 'HTTP proxy auth with credentials longer than 256 bytes' HTTP, HTTP GET, HTTP proxy FAIL 1180: 'HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"' HTTP, HTTP proxy FAIL 1181: 'HTTP GET request with proxy and "Proxy-Connection: Keep-Alive"' HTTP, HTTP proxy FAIL 1183: '%TESTNUMBER used instead of actual test number' HTTP, HTTP GET FAIL 1186: 'Multipart formposting with backslash-escaping filename containing '"'' HTTP, HTTP FORMPOST FAIL 1187: 'SMTP multipart with filename escaping' SMTP, MULTIPART FAIL 1188: '--write-out with %{onerror} and %{urlnum} to stderr' HTTP, HTTP GET, --write-out FAIL 1189: 'Multipart formposting with backslash-escaping of name= and filename=' HTTP, HTTP FORMPOST FAIL 1190: 'MQTT SUBSCRIBE' MQTT, MQTT SUBSCRIBE FAIL 1191: 'MQTT PUBLISH' MQTT, MQTT PUBLISH FAIL 1192: 'MQTT SUBSCRIBE 2k topic' MQTT, MQTT SUBSCRIBE FAIL 1193: 'MQTT PUBLISH 2k payload' MQTT, MQTT PUBLISH FAIL 1194: 'MQTT SUBSCRIBE with PUBLISH before SUBACK' MQTT, MQTT SUBSCRIBE FAIL 1195: 'MQTT SUBSCRIBE with short PUBLISH' MQTT, MQTT SUBSCRIBE FAIL 1196: 'MQTT with "unaccaptable protocol version" CONNACK' MQTT, MQTT SUBSCRIBE FAIL 1197: 'HTTP POST redirected to GET and --write-out method' HTTP, HTTP GET, followlocation, --write-out FAIL 1198: 'MQTT PUBLISH empty payload, single space topic' MQTT, MQTT SUBSCRIBE FAIL 1199: 'MQTT PUBLISH empty payload, no topic' MQTT, MQTT SUBSCRIBE FAIL 1200: 'Gopher index' GOPHER, INDEX FAIL 1201: 'Gopher selector' GOPHER, SELECTOR FAIL 1202: 'Gopher query' GOPHER, QUERY FAIL 1203: 'Gopher IPv6 index' GOPHER-ipv6, IPv6, INDEX FAIL 1204: 'HTTP with WWW-Authenticate and multiple auths in a single line' HTTP, HTTP GET, HTTP Basic auth, --anyauth FAIL 1205: 'HTTP GET with 18K HTTP header' HTTP, HTTP GET FAIL 1206: 'FTP PORT and 425 on download' FTP, PORT, RETR, NODATACONN425 FAIL 1207: 'FTP PORT and 421 on download' FTP, PORT, RETR, NODATACONN421 FAIL 1210: 'HTTP GET with -J without Content-Disposition' HTTP, HTTP GET, -J FAIL 1212: 'noproxy setting together with socks proxy' HTTP, SOCKS5, NO_PROXY, noproxy FAIL 1213: 'HTTP with proxy and host-only URL' HTTP, HTTP GET, HTTP proxy FAIL 1214: 'HTTP with proxy and URL with ? and no slash separator' HTTP, HTTP GET, HTTP proxy FAIL 1216: 'HTTP cookie domains tailmatching the hostname' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1217: 'FTP with rubbish before name in 257-response' FTP, PORT, NLST, --data-binary FAIL 1218: 'HTTP cookies and domains with same prefix' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1219: 'FTP with no user+password required (230 response)' FTP, PASV, RETR FAIL 1220: 'file:// URLs with query string' FILE, URL FAIL 1221: '--url-query with --data-urlencode' HTTP, HTTP POST, --data-urlencode, --url-query FAIL 1223: 'HTTP GET -w remote_ip and -w remote_port' HTTP, HTTP GET FAIL 1224: 'FTP fetch a file from the root directory' FTP, PASV, RETR FAIL 1225: 'FTP fetch two files using absolute paths' FTP, PASV, RETR FAIL 1226: 'FTP fetch a file from the root directory with singlecwd' FTP, PASV, RETR FAIL 1227: 'FTP fetch a file from the root directory with nocwd' FTP, PASV, RETR FAIL 1228: 'HTTP cookie path match' HTTP, HTTP GET, HTTP proxy, cookies, cookie path FAIL 1229: 'HTTP with Digest authorization with username needing escape' HTTP, HTTP GET, HTTP Digest auth FAIL 1230: 'HTTP CONNECT to IPv6 numerical address' HTTP, HTTP CONNECT, HTTP proxy, IPv6 FAIL 1231: 'HTTP URL with dotdot removal from path' HTTP, HTTP GET, dotdot removal FAIL 1232: 'HTTP URL with dotdot removal from path using an HTTP proxy' HTTP, HTTP GET, HTTP proxy, dotdot removal FAIL 1233: 'FTP failing to connect to EPSV port, switching to PASV' FTP, connect to non-listen FAIL 1234: 'abusing {}-globbing' globbing, {} list FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list FAIL 1236: '[] globbing overflowing the range counter' globbing FAIL 1237: 'URL with 1000+ letter username + password' HTTP, HTTP Basic auth FAIL 1238: 'slow TFTP retrieve cancel due to -Y and -y' TFTP, TFTP RRQ, timeout, DELAY FAIL 1239: 'HTTP with -z + -w response_code and simulated 304' HTTP, HTTP GET, -z FAIL 1240: 'glob [0-1] with stuff after range (7.33.0 regression)' globbing, HTTP FAIL 1241: 'HTTP _without_ dotdot removal' HTTP, HTTP GET, HTTP proxy FAIL 1242: 'TFTP retrieve without TFTP options requests' TFTP, TFTP RRQ FAIL 1243: 'TFTP send without TFTP options requests' TFTP, TFTP WRQ FAIL 1245: '--proto deny must override --proto-redir allow' FTP, HTTP, HTTP GET, --proto, --proto-redir, followlocation FAIL 1246: 'URL with '#' at end of hostname instead of '/'' HTTP, HTTP GET, HTTP proxy FAIL 1247: '--fail-early' HTTP, --fail-early FAIL 1248: 'Non-proxied host plus --proxy option and --noproxy option' HTTP, HTTP proxy, noproxy FAIL 1249: 'Non-proxied plus --proxy option and NO_PROXY env var' HTTP, HTTP proxy, NO_PROXY FAIL 1250: 'Non-proxied host plus http_proxy env var and --noproxy option' HTTP, HTTP proxy, http_proxy, noproxy FAIL 1251: 'Non-proxied host plus http_proxy env var and NO_PROXY env var' HTTP, HTTP proxy, http_proxy, NO_PROXY FAIL 1252: '--proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1253: '--proxy, override NO_PROXY by --noproxy and access URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1254: 'override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy FAIL 1255: 'http_proxy, override NO_PROXY by --noproxy and access URL directly' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1256: 'http_proxy, override NO_PROXY by --noproxy host' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1257: 'http_proxy, override NO_PROXY by --noproxy ""' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy FAIL 1258: 'HTTP, use cookies with localhost' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly FAIL 1259: 'HTTP URL with semicolon in password' HTTP, HTTP GET FAIL 1260: 'HTTP URL with rubbish after port number' HTTP, HTTP GET FAIL 1261: ''redirect_url' with --location and --max-redirs' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1262: 'FTP request and denied to download an older file with -z' FTP, RETR, -z FAIL 1263: 'HTTP URL with rubbish after IPv6 bracket' HTTP, HTTP GET FAIL 1264: 'HTTP URL with space in hostname' HTTP, HTTP GET FAIL 1265: 'NO_PROXY with IPv6 numerical address' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy, IPv6 FAIL 1266: 'HTTP GET with a single-byte HTTP/0.9 response' HTTP/0.9 FAIL 1267: 'HTTP GET with an invalid HTTP/1 response line start' HTTP/0.9 FAIL 1268: 'filename argument looks like a flag' warning FAIL 1269: 'too large --retry-delay value' --retry-delay FAIL 1270: 'Basic 'redirect_url'' HTTP, HTTP GET, redirect_url, followlocation, --write-out FAIL 1271: '--write-out from file with empty file' HTTP, HTTP GET, --write-out FAIL 1273: '-f and resume transfer of an entirely-downloaded file' HTTP, HTTP GET, Resume FAIL 1274: 'HTTP header line folding' HTTP, HTTP GET, header line folding FAIL 1277: 'HTTP GET with both content and transfer encoding' HTTP, HTTP GET, compressed, Transfer-Encoding, Content-Encoding FAIL 1278: 'verify extra --no-remote-name' --no-remote-name FAIL 1280: 'simple [a-d] globbing' globbing FAIL 1281: 'reject non-numerical port number in URL' URL FAIL 1282: 'FTP with 633 response to auth' FTP, PASV, RETR FAIL 1283: 'globbing range with same start and stop' HTTP, HTTP GET, globbing, [] range FAIL 1284: 'HTTP POST --digest with user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 1285: 'HTTP PUT --digest with user-specified Content-Length header' HTTP, HTTP PUT, HTTP Digest auth FAIL 1286: 'HTTP GET --digest increasing nonce-count' HTTP, HTTP GET, HTTP Digest auth, followlocation FAIL 1287: 'HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses' HTTP, HTTP GET, HTTP CONNECT, proxytunnel, verbose logs FAIL 1288: 'Suppress proxy CONNECT response headers' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1289: 'globbing with overflow and bad syntax' HTTP, HTTP GET, globbing FAIL 1290: 'Verify URL globbing ignores []' HTTP, HTTP GET, globbing FAIL 1291: 'Attempt to upload 1000 files but fail immediately' HTTP, HTTP PUT FAIL 1292: 'Replaced internal headers with a blank one' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers FAIL 1293: 'Multipart formpost to two URLs, the first failing' HTTP, HTTP GET, -F FAIL 1296: 'HTTP URL with %0a in name part' HTTP, HTTP Basic FAIL 1297: 'CONNECT to peer that returns nothing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1298: 'HTTP GET special path with --request-target' HTTP, HTTP GET, --request-target FAIL 1299: 'Send "OPTIONS *" with --request-target' HTTP, --request-target FAIL 1300: 'llist unit tests' unittest, llist FAIL 1301: 'curl_strequal tests' curl_strequal, libtest FAIL 1302: 'base64 encode/decode unit tests' unittest, base64 FAIL 1303: 'Curl_timeleft_ms unit tests' unittest, Curl_timeleft_ms FAIL 1304: 'netrc parsing unit tests' unittest, netrc FAIL 1305: 'internal hash create/destroy testing' unittest, hash FAIL 1306: 'internal hash create/add/destroy testing' unittest, hash FAIL 1308: 'formpost tests' curl_formadd, curl_formget, FORM, libtest FAIL 1309: 'splay unit tests' unittest, splay FAIL 1310: 'HTTP GET with -J + --show-headers' HTTP, HTTP GET, -J, --show-headers FAIL 1311: 'HTTP GET with -J and Content-Disposition' HTTP, HTTP GET, -J FAIL 1312: 'HTTP GET with -J, Content-Disposition and ; in filename' HTTP, HTTP GET, -J FAIL 1313: 'HTTP GET with -J, Content-Disposition, uneven quotes' HTTP, HTTP GET, -J FAIL 1314: 'HTTP Location: following a // prefixed url' HTTP, HTTP GET, HTTP proxy, followlocation FAIL 1315: 'HTTP -F with three files, one with explicit type' HTTP, HTTP FORMPOST, HTTP file upload FAIL 1317: 'HTTP with --resolve' HTTP, HTTP GET, --resolve FAIL 1318: 'HTTP with --resolve and same hostname using different cases' HTTP, HTTP GET, --resolve FAIL 1319: 'POP3 fetch tunneled through HTTP proxy' POP3, RETR, HTTP, HTTP CONNECT, HTTP proxy FAIL 1320: 'SMTP send tunneled through HTTP proxy' SMTP, HTTP, HTTP CONNECT, HTTP proxy FAIL 1321: 'IMAP FETCH tunneled through HTTP proxy' IMAP, FETCH, HTTP, HTTP CONNECT, HTTP proxy FAIL 1322: 'HTTP with --resolve and hostname with trailing dot' HTTP, HTTP GET, --resolve, trailing-dot FAIL 1323: 'curlx_tvdiff' unittest, curlx_tvdiff FAIL 1324: 'HTTP with --resolve and [ipv6address]' HTTP, HTTP GET, IPv6, --resolve FAIL 1325: 'HTTP 308-redirect with POST' HTTP, HTTP GET, 308, followlocation FAIL 1326: 'TELNET to HTTP server' TELNET, UPLOAD FAIL 1327: 'TELNET check of upload with stdout redirected' TELNET, UPLOAD FAIL 1328: 'HTTP GET a globbed range with -f' HTTP, HTTP GET, globbing, --fail FAIL 1329: '/-prefixed proxy name' HTTP proxy FAIL 1331: 'HTTP --proxy-anyauth and 407 with cookies' HTTP, HTTP GET, HTTP proxy, cookies FAIL 1332: 'HTTP POST with 303 redirect and --post303' HTTP, HTTP POST, followlocation FAIL 1333: 'HTTP POST zero length, chunked-encoded' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1334: 'HTTP GET with -O without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1335: 'HTTP GET with -O without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1336: 'HTTP GET with -O and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1337: 'HTTP GET with -O and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1338: 'HTTP GET with -O -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1339: 'HTTP GET with -O -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1340: 'HTTP GET with -O -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1341: 'HTTP GET with -O -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1342: 'HTTP GET with -O -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1343: 'HTTP GET with -O -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1344: 'HTTP GET with -O -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1345: 'HTTP GET with -O -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1346: 'HTTP GET with -O -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1347: 'HTTP GET with -O -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1348: 'FTP download, file without Content-Disposition inside, using -O' FTP, RETR FAIL 1349: 'FTP download, file without C-D inside, using -O -D file' FTP, RETR FAIL 1350: 'FTP download, file without C-D inside, using -O -D stdout' FTP, RETR FAIL 1351: 'FTP download, file without C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1352: 'FTP download, file without C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1353: 'FTP download, file without C-D inside, using -O -i -D file' FTP, RETR FAIL 1354: 'FTP download, file without C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1355: 'FTP download, file without C-D inside, using -O -i, without -D' FTP, RETR FAIL 1356: 'FTP download, file with Content-Disposition inside, using -O' FTP, RETR FAIL 1357: 'FTP download, file with C-D inside, using -O -D file' FTP, RETR FAIL 1358: 'FTP download, file with C-D inside, using -O -D stdout' FTP, RETR FAIL 1359: 'FTP download, file with C-D inside, using -O -J -D file' FTP, RETR, -J FAIL 1360: 'FTP download, file with C-D inside, using -O -J -D stdout' FTP, RETR, -J FAIL 1361: 'FTP download, file with C-D inside, using -O -i -D file' FTP, RETR FAIL 1362: 'FTP download, file with C-D inside, using -O -i -D stdout' FTP, RETR FAIL 1363: 'FTP download, file with C-D inside, using -O -i, without -D' FTP, RETR FAIL 1364: 'HTTP GET -o fname without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1365: 'HTTP GET -o fname without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1366: 'HTTP GET -o fname and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1367: 'HTTP GET -o fname and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1368: 'HTTP GET -o fname -J without Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1369: 'HTTP GET -o fname -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1370: 'HTTP GET -o fname -J and Content-Disposition, -D file' HTTP, HTTP GET, -J FAIL 1371: 'HTTP GET -o fname -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J FAIL 1372: 'HTTP GET -o fname -i without Content-Disposition, -D file' HTTP, HTTP GET FAIL 1373: 'HTTP GET -o fname -i without Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1374: 'HTTP GET -o fname -i and Content-Disposition, -D file' HTTP, HTTP GET FAIL 1375: 'HTTP GET -o fname -i and Content-Disposition, -D stdout' HTTP, HTTP GET FAIL 1376: 'HTTP GET -o fname -i without Content-Disposition, without -D' HTTP, HTTP GET FAIL 1377: 'HTTP GET -o fname -i and Content-Disposition, without -D' HTTP, HTTP GET FAIL 1378: 'FTP DL, file without Content-Disposition inside, using -o fname' FTP, RETR FAIL 1379: 'FTP DL, file without C-D inside, using -o fname -D file' FTP, RETR FAIL 1380: 'FTP DL, file without C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1381: 'FTP DL, file without C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1382: 'FTP DL, file without C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1383: 'FTP DL, file without C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1384: 'FTP DL, file without C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1385: 'FTP DL, file without C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1386: 'FTP DL, file with Content-Disposition inside, using -o fname' FTP, RETR FAIL 1387: 'FTP DL, file with C-D inside, using -o fname -D file' FTP, RETR FAIL 1388: 'FTP DL, file with C-D inside, using -o fname -D stdout' FTP, RETR FAIL 1389: 'FTP DL, file with C-D inside, using -o fname -J -D file' FTP, RETR, -J FAIL 1390: 'FTP DL, file with C-D inside, using -o fname -J -D stdout' FTP, RETR, -J FAIL 1391: 'FTP DL, file with C-D inside, using -o fname -i -D file' FTP, RETR FAIL 1392: 'FTP DL, file with C-D inside, using -o fname -i -D stdout' FTP, RETR FAIL 1393: 'FTP DL, file with C-D inside, using -o fname -i, without -D' FTP, RETR FAIL 1394: 'unit test for parse_cert_parameter()' tunittest FAIL 1395: 'Curl_dedotdotify' unittest FAIL 1396: 'curl_easy_escape and curl_easy_unescape' curl_easy_escape, curl_easy_unescape, libtest FAIL 1397: 'Curl_cert_hostcheck unit tests' unittest, Curl_cert_hostcheck FAIL 1398: 'curl_msnprintf tests' curl_msnprintf, libtest FAIL 1399: 'Curl_pgrsTime unit tests' unittest, Curl_pgrsTime FAIL 1400: '--libcurl for simple HTTP GET' HTTP, HTTP GET, --libcurl FAIL 1401: '--libcurl for GET with various options' HTTP, HTTP GET, HTTP Basic auth, HTTP set cookie, cookies, --libcurl FAIL 1402: '--libcurl for simple POST' HTTP, HTTP POST, --libcurl FAIL 1403: '--libcurl for GET with query' HTTP, HTTP GET, --libcurl FAIL 1404: '--libcurl plus -F with 3 files, one with explicit type and encoder' HTTP, HTTP FORMPOST, HTTP file upload, --libcurl FAIL 1405: '--libcurl for FTP with quote ops' FTP, post-quote, pre-quote, --libcurl FAIL 1406: '--libcurl for SMTP' SMTP, --libcurl FAIL 1407: '--libcurl for POP3 LIST one message' POP3, Clear Text, LIST, --libcurl FAIL 1408: 'HTTP receive cookies over IPV6' HTTP, HTTP GET, IPv6, cookies, cookiejar FAIL 1409: 'Pass in string to -C' cmdline FAIL 1410: 'Pass in negative number to --max-time' cmdline FAIL 1411: 'HTTP with zero size file PUT' HTTP, HTTP PUT FAIL 1412: 'HTTP GET with --anyauth with two URLs (picking Digest)' HTTP, HTTP GET, HTTP Digest auth, --anyauth FAIL 1413: 'HTTP redirect with fragment in new URL' HTTP, HTTP GET, followlocation FAIL 1414: 'FTP PORT without SIZE or EPRT support' FTP, PORT, RETR, no SIZE FAIL 1415: 'Delete expired cookies' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, delete expired cookie FAIL 1416: 'HTTP GET with chunked Transfer-Encoding overflowed chunked size' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1417: 'HTTP GET with chunked encoding and chunked trailer without CRs' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1418: 'HTTP with --anyauth and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1419: 'HTTP with --anyauth (but no auth!) and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse FAIL 1420: '--libcurl for IMAP FETCH message' IMAP, Clear Text, FETCH, --libcurl FAIL 1421: 'Reusing HTTP proxy connection for two different hostnames' HTTP, HTTP GET, HTTP proxy FAIL 1422: 'HTTP GET with -O -J and Content-Disposition (empty file)' HTTP, FILE, HTTP GET, -J FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, FILE, HTTP GET FAIL 1424: 'HTTP GET -o fname without Content-Disposition (unmet time condition)' HTTP, HTTP GET, If-Modified-Since, -z FAIL 1427: 'too large -m timeout value' integer overflow FAIL 1428: 'HTTP over proxy-tunnel with --proxy-header and --header' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 1429: 'HTTP GET with 999 response code' HTTP, HTTP GET, HTTP/0.9 FAIL 1430: 'HTTP GET with negative response code' HTTP, HTTP GET FAIL 1431: 'HTTP GET with single-digit response code' HTTP, HTTP GET FAIL 1432: 'HTTP GET with 100-digit response code and survive' HTTP, HTTP GET FAIL 1433: 'HTTP GET with 100-digit subversion number in response' HTTP, HTTP GET FAIL 1434: 'HTTP GET resume at exactly the existing file size is fine' HTTP, HTTP GET, Resume FAIL 1435: 'simple HTTP GET over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1436: 'HTTP requests with multiple connections over Unix socket' HTTP, HTTP GET, UnixSockets FAIL 1437: 'HTTP with duplicated WWW-Authenticate parameters' HTTP, HTTP GET, HTTP Digest auth FAIL 1438: 'Check if %{scheme} returns HTTP' HTTP, protocol, --write-out FAIL 1439: 'Check if %{http_version} returns 1.1' HTTP, --write-out FAIL 1440: 'Check --write-out with trailing %{' --write-out, FILE FAIL 1441: 'Check --write-out with trailing %' --write-out, FILE FAIL 1442: 'Check --write-out with trailing \' --write-out, FILE FAIL 1443: 'HTTP GET with -O and --remote-time' HTTP, HTTP GET, -O, --remote-time FAIL 1444: 'FTP with --remote-time' FTP, EPSV, RETR, --remote-time FAIL 1445: 'file:// with --remote-time' FILE, --remote-time FAIL 1447: 'Provide illegal proxy name' HTTP proxy FAIL 1448: 'Redirect following to UTF-8 IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 1449: 'FTP download range with integer overflow' FTP, PASV, RETR, Resume FAIL 1450: 'Basic DICT lookup' DICT FAIL 1452: 'Basic TELNET negotiation' TELNET, UPLOAD FAIL 1453: 'Too long tftp filename' Too long tftp filename FAIL 1455: 'HTTP GET when PROXY Protocol enabled' HTTP, HTTP GET, proxy, haproxy FAIL 1456: 'HTTP-IPv6 GET with PROXY protocol' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 1457: 'Check if %{stderr} and %{stdout} switch between stdout and stderr.' HTTP, protocol, --write-out FAIL 1458: 'HTTP with wildcard --resolve' HTTP, HTTP GET, --resolve FAIL 1460: 'HTTP GET with -Ji and Content-Disposition with existing file' HTTP, HTTP GET, -J FAIL 1462: 'curl invalid category --help' --help FAIL 1463: 'curl file category --help' FILE, --help FAIL 1464: 'curl file category --help with lower/upper mix' FILE, --help FAIL 1465: '--libcurl for POST with binary content' HTTP, HTTP POST, --libcurl FAIL 1466: 'HTTP GET with 3-digit response and only digits in reason' HTTP, HTTP GET FAIL 1467: 'HTTP GET via SOCKS5 proxy via Unix sockets' HTTP, HTTP GET, SOCKS5, UnixSockets FAIL 1468: 'HTTP GET with hostname using SOCKS5h via Unix sockets' HTTP, HTTP GET, SOCKS5, SOCKS5h, UnixSockets FAIL 1469: 'Space in FTP upload URL' FTP, URL FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor FAIL 1473: 'first HTTP header starts with white space' HTTP, HTTP GET, header line folding FAIL 1474: '--proto -all disables all protocols' HTTP, HTTP GET, --proto FAIL 1475: '-f and 416 with Content-Range: */size' HTTP, HTTP GET, Resume FAIL 1476: 'PSL violating cookie with mixed case domain and cookie domain property' HTTP, HTTP GET, cookies FAIL 1479: 'HTTP/1.1 response followed by HTTP/0.9 response over same connection' HTTP, HTTP/0.9 FAIL 1480: 'HTTP Continue response without final response' HTTP FAIL 1481: '--libcurl with TLS version options' HTTP, HTTP GET, --libcurl FAIL 1482: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1483: 'HTTP GET with two Transfer-Encoding: chunked headers' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1484: 'HTTP HEAD with response body to ignore' HTTP, HTTP HEAD FAIL 1485: 'get curlinfo on last header in callback' HTTP, HTTP GET, libtest FAIL 1487: 'HTTP GET with -J and Content-Disposition on 301' HTTP, HTTP GET, -J FAIL 1489: '-D sent to stderr' HTTP, HTTP GET FAIL 1490: '"upload" with file:// overwriting existing' FILE FAIL 1491: 'file:// do not overwrite self with --skip-existing' FILE FAIL 1492: 'HTTP GET with -J + --show-headers but no Content-Disposition:' HTTP, HTTP GET, -J, --show-headers FAIL 1493: 'HTTP GET with identity + chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1494: 'HTTP GET with identity twice in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1495: 'HTTP GET with chunked + identity in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1496: 'HTTP GET with gzip + chunked transfer-encoding without being asked' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY FAIL 1497: 'HTTP GET --retry on 503 error with output to /dev/null' HTTP, HTTP GET, retry FAIL 1498: 'HTTP PUT from stdin using period' HTTP, HTTP PUT, chunked Transfer-Encoding FAIL 1499: 'HTTP chunked encoding and chunked trailer, twice' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1500: 'curl_multi_wait' HTTP, HTTP GET, multi, libtest FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY, libtest FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE, libtest FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE, libtest FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE, libtest FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE, libtest FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs, libtest FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi, libtest FAIL 1508: 'Close a multi handle without using it' HTTP, multi, libtest FAIL 1509: 'http:// through proxytunnel' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, libtest FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION, libtest FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY, libtest FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding, libtest FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, resolve, libtest FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, resolve, libtest FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response, libtest FAIL 1518: 'Extract Location: with broken URL' HTTP, libtest FAIL 1519: 'Extract Location: with broken absolute URL' HTTP, libtest FAIL 1520: 'SMTP with CRLF-dot-CRLF in upload payload' SMTP, libtest FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt, libtest FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD, libtest FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY, libtest FAIL 1524: 'HTTP PUT with 303 redirect' HTTP, HTTP PUT, followlocation FAIL 1525: 'CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER, libtest FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER, libtest FAIL 1527: 'Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, libtest FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, libtest FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy, libtest FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION, libtest FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS, libtest FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET, libtest FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR, libtest FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME, libtest FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET, libtest FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET, libtest FAIL 1537: 'libcurl URL escape/unescape tests' URL escape, libtest FAIL 1538: 'libcurl strerror API call tests' strerror, verbose logs, libtest FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding, libtest FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY, libtest FAIL 1541: 'CURLINFO timer check' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY, libtest FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs, libtest FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU, libtest FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET, libtest FAIL 1546: 'HTTP transfer-encoding wrong order' HTTP, HTTP GET, Transfer-Encoding FAIL 1547: 'FTP dir list PASV overriding PORT' FTP, PASV, LIST FAIL 1548: 'TELNET read stdin without upload file' TELNET FAIL 1549: 'Receive expired cookies and CURLINFO_COOKIELIST' HTTP, cookies, libtest FAIL 1550: 'verify setting pipelining blocklisting options' multi, libtest FAIL 1551: 're-run redirected transfer without setting URL again' multi, libtest FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH, libtest FAIL 1553: 'IMAP cleanup with non-existing hostname' IMAP, Clear Text, FETCH, libtest FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections, libtest FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY, libtest FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET, libtest FAIL 1557: 'Remove easy handle in pending connections, no dangling entry' multi, crash, libtest FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL, libtest FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs, libtest FAIL 1560: 'URL API' urlapi, url, libtest FAIL 1563: 'Make sure redirects to CURLPROTO_GOPHER are forbidden by default' GOPHER, HTTP GET, followlocation FAIL 1564: 'wakeup before poll with no easy handles' multi, wakeup, libtest FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup, libtest FAIL 1566: '--etag-compare that gets a 304 back should not overwrite the file' HTTP, HTTP GET, --etag-compare FAIL 1567: 're-run redirected transfer without setting CURLU URL again' HTTP, URL API, CURLOPT_CURLU, CURLOPT_FOLLOWLOCATION, libtest FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth, libtest FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR, libtest FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR, libtest FAIL 1571: 'CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1572: 'CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1573: 'CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1574: 'CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION, libtest FAIL 1575: 'CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION, libtest FAIL 1576: 'CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1577: 'CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1578: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION, libtest FAIL 1579: 'CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1580: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION, libtest FAIL 1581: 'CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION, libtest FAIL 1584: 'HTTP GET with -J and Content-Disposition including path' HTTP, HTTP GET, -J FAIL 1585: 'HTTP GET with -J and Content-Disposition including DOS path' HTTP, HTTP GET, -J FAIL 1588: 'HTTP proxy auth Digest, then change proxy and do it again' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi, libtest FAIL 1589: 'HTTP proxy auth Digest, then change proxy port and do it again' HTTP, HTTP proxy, HTTP proxy Digest auth, libtest FAIL 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH, libtest FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA, libtest FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since, libtest FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since, libtest FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since, libtest FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since, libtest FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR, libtest FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA, libtest FAIL 1599: 'FTP with netrc using no user but control code in password' FTP, netrc, libtest FAIL 1601: 'MD5 unit tests' unittest, MD5 FAIL 1602: 'Internal hash create/add/destroy testing, exercising clean functions' unittest, hash FAIL 1603: 'Internal hash add, retrieval, deletion testing' unittest, hash FAIL 1604: 'Test Windows/MS-DOS filename sanitization' tunittest FAIL 1605: 'Test negative data lengths as input to libcurl functions' curl_easy_escape, libtest FAIL 1606: 'verify speedcheck' unittest, speedcheck FAIL 1607: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE FAIL 1608: 'verify DNS shuffling' unittest, curlopt_dns_shuffle_addresses FAIL 1609: 'Gopher with URL-encoded CR LF in the selector' GOPHER, CRLF-in-URL FAIL 1610: 'SHA256 unit tests' unittest, SHA256 FAIL 1611: 'MD4 unit tests' unittest, MD4 FAIL 1612: 'HMAC unit tests' unittest, HMAC FAIL 1613: 'Send "OPTIONS *" with --request-target to a proxy' HTTP, HTTP proxy, --request-target FAIL 1614: 'noproxy and cidr comparisons' unittest, noproxy FAIL 1615: 'SHA-512/256 unit tests' unittest, SHA-512/256 FAIL 1616: 'HTTP 407 from a non-proxied host must not set proxy Digest state' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, libtest FAIL 1617: 'HTTP GET transfer-encoding with two user Connection: headers' HTTP, HTTP GET, compressed, Transfer-Encoding FAIL 1618: 'HTTP GET brotli compression bomb' HTTP, HTTP GET, compressed, brotli FAIL 1619: '--etag-save to stdout' HTTP, HTTP GET FAIL 1620: 'unit tests for url.c' unittest, URL FAIL 1621: 'unit tests for stripcredentials from URL' tunittest, stripcredentials FAIL 1622: 'tool time and size progress output' tunittest, tool-progress FAIL 1623: 'the size parser for --limit-rate' tunittest, tool-sizeparser FAIL 1624: 'URL + --url-query with --next and another URL without --url-query' HTTP, --url-query, --next FAIL 1625: 'Curl_compareheader unit test' unittest, Curl_compareheader FAIL 1626: 'Curl_copy_header_value unit test' unittest, Curl_copy_header_value FAIL 1627: 'Curl_get_scheme unit test' unittest, Curl_get_scheme FAIL 1628: 'HTTP PUT from file with weird letters over an HTTP proxy' HTTP, HTTP PUT FAIL 1629: 'cookies with trailing dot after PSL domain' HTTP, HTTP GET, --resolve FAIL 1633: '--retry with a 429 response and Retry-After:' HTTP, HTTP GET, RETRY-AFTER FAIL 1634: '--retry with a 429 response and Retry-After: and --fail' HTTP, HTTP GET, RETRY-AFTER FAIL 1635: '--retry with a 429 response and Retry-After: and --fail-with-body' HTTP, HTTP GET, RETRY-AFTER FAIL 1636: 'time2str and max6out' unittest, time2str, max6out FAIL 1637: 'HTTP 502 with --fail and --retry 2' HTTP, --retry, --fail FAIL 1638: 'HSTS duplicate domains where the update adds subdomains' HTTP, HTTP proxy, HSTS FAIL 1639: '-O with URL without path using many trailing slashes' HTTP, HTTP GET FAIL 1641: 'HTTP GET -J, a redirect and Content-Disposition in the second response' HTTP, HTTP GET, -J FAIL 1642: 'HTTP GET -J, redirect, no Content-Disposition use the Location: name' HTTP, HTTP GET, -J FAIL 1643: 'HTTP -J, two redirects, use the last Location: name' HTTP, HTTP GET, -J FAIL 1644: '-O with URL with path but using many trailing slashes' HTTP, HTTP GET FAIL 1645: 'cookies for paths using different case' HTTP, HTTP GET, cookies, cookiejar, --resolve FAIL 1646: 'netrc parsing without user match but user in URL' netrc, --resolve FAIL 1648: 'HTTP proxy with auth, change proxy, clear auth' HTTP, HTTP GET, HTTP proxy, HTTP proxy auth, libtest FAIL 1649: 'Set referer first then NULL it' HTTP, Referer, libtest FAIL 1650: 'DoH parsing' unittest, DOH FAIL 1651: 'x509 parsing' unittest, x509 FAIL 1652: 'infof' unittest, infof FAIL 1653: 'urlapi port number parsing' unittest, urlapi FAIL 1654: 'alt-svc' unittest, Alt-Svc FAIL 1655: 'unit test for doh_req_encode' unittest, DOH FAIL 1656: 'GTime2str unit tests' unittest, GTime2str FAIL 1657: 'getASN1Element unit tests' unittest, getASN1Element FAIL 1658: 'unit test for doh_resp_decode_httpsrr' unittest, doh, httpsrr FAIL 1659: '--connect-to when using file:// URL' --connect-to, FILE FAIL 1660: 'HSTS' unittest, HSTS FAIL 1661: 'bufref unit tests' unittest, bufref FAIL 1663: 'unit tests for interface option parsing' unittest, interface, bind FAIL 1664: 'unit tests for strparse.c string parsing functions' unittest, strparse FAIL 1665: 'HTTP with only headers and no final CRLF separator' HTTP FAIL 1666: 'encodeOID unit tests' unittest, encodeOID, x509asn1 FAIL 1667: 'ASN1tostr unit tests' unittest, ASN1tostr, x509asn1 FAIL 1668: 'ftp_213_date unit tests' unittest, FTP, ftp_213_date FAIL 1669: 'alt-svc load cache with >5000 entries' unittest, Alt-Svc FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header FAIL 1672: 'netrc parser skips macdef even with broken quote' netrc, macdef FAIL 1673: 'HTTP retry upload with missing upload file' HTTP, upload, --retry FAIL 1674: 'HSTS load more than 10k entries from file' unittest, HSTS FAIL 1675: 'URL API unit tests' unittest, urlapi FAIL 1676: 'x509 DH public key parameter extraction' unittest, x509, DH FAIL 1677: 'HTTP POST response with both chunked and zero Content-Length' HTTP, HTTP POST, chunked Transfer-Encoding, Content-Length FAIL 1679: '--libcurl resets SSL verification after --next' HTTP, --libcurl, --next, --insecure FAIL 1680: 'HTTP GET with explicit clobber' HTTP, HTTP GET, --clobber FAIL 1681: 'HTTP GET without clobber' HTTP, HTTP GET, --no-clobber FAIL 1682: 'HTTP GET without clobber and --output-dir' HTTP, HTTP GET, --no-clobber FAIL 1684: 'FTP with malformed MDTM response' FTP, MDTM FAIL 1685: 'HTTP, reject cookie with tab in path' HTTP, cookies FAIL 1686: 'HTTP Digest to different origins and switching credentials' HTTP, Digest, libtest FAIL 1687: '--libcurl resets the handle between --next operations' HTTP, HTTP GET, --libcurl, --next FAIL 1688: 'RTSP OPTIONS response with a body, CURLOPT_NOBODY set' RTSP, OPTIONS, libtest FAIL 1691: 'IPFS path with encoded slashes and dotdot stays under the gateway' IPFS FAIL 1692: 'IPNS path with encoded slashes and dotdot stays under the gateway' IPNS FAIL 1693: 'MQTT partial sends, would-block, polling and packet ordering' unittest, MQTT FAIL 1704: 'HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response' HTTP, HTTP GET, HTTP/2 FAIL 1711: 'Send >64K over SMTP' SMTP FAIL 1712: 'config file with argument using single quotes' HTTP, --config FAIL 1713: 'Filenames pointing to directory failing gracefully' HTTP, HTTP GET, Alt-Svc, cookies, HSTS, netrc FAIL 1714: 'TELNET download with --max-filesize' TELNET FAIL 1715: 'HTTP CONNECT with proxy returning Content-Length and chunked' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1720: 'create_dir_hierarchy()' tunittest FAIL 1721: 'Keep question mark for empty query' HTTP, HTTP GET FAIL 1722: 'HTTP with chunked Transfer-Encoding not listed last' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1723: 'HTTP with two chunked Transfer-Encoding not listed last' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 1724: 'IPFS with --proto-default HTTP' IPFS FAIL 1740: '--silent suppresses Note: messages when verbose' HTTP, HTTP POST, --silent FAIL 1741: 'Note: messages are shown when verbose without --silent' HTTP, HTTP POST FAIL 1742: 'SOCKS5 CURLAUTH_ONLY does not offer the no authentication method' HTTP, HTTP GET, SOCKS5, libtest FAIL 1743: 'SOCKS5 CURLAUTH_ONLY rejects a proxy that selects no authentication' HTTP, HTTP GET, SOCKS5, libtest FAIL 1744: 'SOCKS5 CURLAUTH_ONLY does not reuse an unauthenticated connection' HTTP, HTTP GET, SOCKS5, libtest FAIL 1745: 'SOCKS5 CURLAUTH_ONLY ignores auth done for the FTP data socket' FTP, PASV, RETR, SOCKS5, libtest FAIL 1791: 'blank COPYPOSTFIELDS and duphandle' CURLOPT_POSTFIELDSIZE_LARGE, duphandle, libtest FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT FAIL 1827: 'HTTP CONNECT with faked status line header' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy FAIL 1847: 'IMAP FETCH message with custom request' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 1848: 'IMAP FETCH message with custom request to get list of email.' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 1851: 'IPFS gateway using default port number' IPFS FAIL 1876: 'verify no credentials present in effective URL after redirect' netrc FAIL 1877: 'verify no credentials present in redirect URL after redirect' netrc, CURLINFO_REDIRECT_URL FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS, libtest FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION, libtest FAIL 1902: 'set COOKIEFILE and COOKIEJAR but make no transfer' cookies, libtest FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE, libtest FAIL 1904: 'HTTP CONNECT with 204 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 1905: 'CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object' HTTP, cookies, FLUSH, libtest FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT, libtest FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL, libtest FAIL 1909: 'HTTP GET --retry-all-errors to overcome partial transfer' HTTP, HTTP GET, retry FAIL 1910: 'HTTP credentials with newline and redirect' HTTP, HTTP Basic, CURLOPT_FOLLOWLOCATION, libtest FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option, libtest FAIL 1912: 'Cross validate that gcc-typecheck macros match the option types.' curl_easy_option, typecheck, libtest FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY, libtest FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME, libtest FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION, libtest FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH, libtest FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH, libtest FAIL 1918: 'curl_easy_option_by_name() and curl_easy_option_by_id()' curl_easy_option, curl_easy_option_by_name, curl_easy_option_by_id, libtest FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' connection reuse, libtest FAIL 1920: 'load cookies, perform then reset before cleanup' cookies, libtest FAIL 1921: 'Set a URL without scheme, then redirect with default scheme' urlapi, libtest FAIL 1940: 'curl_easy_header' curl_easy_header, libtest FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT, libtest FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT, libtest FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT, libtest FAIL 1944: 'curl_easy_header with redirect' curl_easy_header, libtest FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT, libtest FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header, libtest FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader, libtest FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT, libtest FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED, libtest FAIL 1961: 'curlx_inet_ntop() and curlx_inet_pton()' unittest FAIL 1964: 'HTTP AWS_SIGV4 with X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4, libtest FAIL 1965: 'curl_url_set() different schemes' urlapi, curl_url_set, libtest FAIL 1966: 'netrc with digest and redirect to other origin' HTTP, HTTP GET, HTTP Digest auth, --resolve FAIL 1967: 'curl_url_set() a URL without guessing a scheme' HTTP, urlapi, libtest FAIL 1977: 'CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL' CURLOPT_CURLU, CURLINFO_EFFECTIVE_URL, libtest FAIL 1979: 'sigv4 canon_string unit tests' unittest, canon_string, aws-sigv4 FAIL 1980: 'sigv4 canon_query unit tests' unittest, canon_query, aws-sigv4 FAIL 1982: 'IMAP two requests, change options for the second' IMAP, Clear Text, FETCH, connection reuse, options FAIL 1983: 'HTTP DELETE with --follow and 303 redirect' HTTP, HTTP DELETE, followlocation FAIL 1984: 'HTTP PUT with 303 redirect and --follow' HTTP, HTTP PUT, followlocation FAIL 1985: 'Digest response when not asked, then use Digest' Digest, libtest FAIL 1989: 'curl_url_dup preserves guessed_scheme' libtest, urlapi FAIL 2000: 'FTP RETR followed by FILE' FTP, PASV, FILE, multiprotocol FAIL 2001: 'HTTP GET followed by FTP RETR followed by FILE' HTTP, HTTP GET, FTP, PASV, FILE, multiprotocol FAIL 2002: 'HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2003: 'HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol FAIL 2005: 'netrc match with password only in file, no username. machine follows' HTTP, netrc FAIL 2006: '.netrc default with redirect plus oauth2-bearer' netrc, HTTP FAIL 2008: '-G with --proto-default=http and scheme-less URL starting with "ftp"' HTTP, -G, --proto-default, --resolve FAIL 2012: 'load URLs from a file, upload with a glob' HTTP, HTTP PUT FAIL 2013: 'upload with a glob' HTTP, HTTP PUT FAIL 2014: 'upload with glob, output name based on upload glob' HTTP, HTTP PUT FAIL 2015: 'HTTP with cookie with with -b and redirect to new host' HTTP, HTTP proxy, followlocation, cookies FAIL 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth, libtest FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth, libtest FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth, libtest FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth, libtest FAIL 2036: 'Attempt to set a default protocol with :// suffix' --proto-default FAIL 2039: 'FTP optional .netrc with 'default' override; no user/pass, dir list' FTP, EPSV, LIST, netrc FAIL 2040: 'HTTP Basic authorization, then without authorization' HTTP, HTTP GET, HTTP Basic auth FAIL 2044: 'Attempt to set a default protocol that does not exist' --proto-default FAIL 2045: 'Set the default protocol to ftp for a schemeless URL' FTP, --proto-default FAIL 2046: 'Connection reuse with IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out FAIL 2047: 'Connection reuse with IDN hostname over HTTP proxy' HTTP, HTTP GET, HTTP proxy, IDN, followlocation, --write-out FAIL 2049: 'Connect to specific host' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2050: '--connect-to via HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO FAIL 2051: 'Connect to specific host: Reuse existing connections if possible' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2052: '--connect-to: do not mix connections with and w/o a "connect to host"' HTTP, HTTP GET, CURLOPT_CONNECT_TO, --resolve FAIL 2053: 'Connect to specific host with IP addresses' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2054: 'Connect to specific host: use the first "connect-to" string' HTTP, HTTP GET, CURLOPT_CONNECT_TO FAIL 2055: '--connect-to via SOCKS proxy and HTTP proxy (tunnel mode auto)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5 FAIL 2058: 'HTTP Digest upload with a modified method and SHA-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, CUSTOMREQUEST FAIL 2059: 'HTTP Digest upload with a modified method, SHA-256 and userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, CUSTOMREQUEST FAIL 2060: 'HTTP Digest upload with a modified method and SHA-512-256' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, CUSTOMREQUEST FAIL 2061: 'HTTP with RFC7616 SHA256 Digest authorization' HTTP, HTTP GET, HTTP Digest auth FAIL 2062: 'HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false' HTTP, HTTP GET, HTTP Digest auth FAIL 2063: 'HTTP with RFC7616 SHA-256 Digest authorization and userhash=true' HTTP, HTTP GET, HTTP Digest auth FAIL 2064: 'HTTP with RFC7616 Digest authorization with bad password and SHA256' HTTP, HTTP GET, HTTP Digest auth FAIL 2065: 'HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2066: 'HTTP with RFC7616 Digest, bad password, SHA-256 and userhash' HTTP, HTTP GET, HTTP Digest auth FAIL 2067: 'HTTP POST --digest with SHA256 and user-specified Content-Length' HTTP, HTTP POST, HTTP Digest auth FAIL 2068: 'HTTP POST Digest with SHA-512-256, userhash and set Content-Length' HTTP, HTTP POST, HTTP Digest auth FAIL 2069: 'HTTP POST Digest with SHA-256, userhash and set Content-Length header' HTTP, HTTP POST, HTTP Digest auth FAIL 2071: 'basic file:// file with "127.0.0.1" hostname' FILE FAIL 2072: 'file:// with Unix path for the case of extra slashes' FILE FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST FAIL 2074: 'HTTP with oauth2-bearer' HTTP, HTTP GET, AUTH OAUTHBEARER FAIL 2075: 'Verify usernames are not allowed in url' --disallow-username-in-url, HTTP FAIL 2076: 'HTTP with digest auth and URI contains query' HTTP, HTTP GET, HTTP Digest auth FAIL 2077: 'curl --fail --negotiate to unauthenticated service fails' HTTP, HTTP GET, GSS-API FAIL 2078: 'curl --negotiate should not send empty POST request only' HTTP, HTTP GET, GSS-API FAIL 2080: 'config file with overly long option' FILE, config, --config FAIL 2081: 'Automatic referrer credential and anchor stripping check' HTTP, HTTP GET, referer, followlocation, --write-out FAIL 2082: 'Pre-request callback for HTTP' HTTP, libtest FAIL 2083: 'Pre-request callback for FTP' FTP, libtest FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP, libtest FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation, libtest FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6, libtest FAIL 2091: 'HTTP Digest auth with OWS and escaped quotes' HTTP, HTTP GET, HTTP Digest auth FAIL 2092: 'glob range that ends with 9223372036854775807' globbing FAIL 2093: 'HTTP POST a few bytes with 2^63-1 bytes response' HTTP, HTTP GET FAIL 2105: 'HTTP with spurious CR in received header' HTTP, HTTP GET FAIL 2106: 'HTTP chunked response with a NUL byte in the trailer' HTTP, HTTP GET, chunked Transfer-Encoding FAIL 2107: 'HTTP CONNECT response with a NUL byte in a header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel FAIL 2108: 'FTP rejects a NUL byte in a server response line' FTP FAIL 2109: 'MQTT rejects a control byte in the topic' MQTT, MQTT SUBSCRIBE FAIL 2110: 'SMTP --mail-from with embedded CRLF is rejected' SMTP FAIL 2113: 'Authorization: with whitespace before colon and redir to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation FAIL 2114: 'FTP username with embedded CRLF is rejected' FTP FAIL 2115: 'FTP --ftp-account with embedded CRLF is rejected' FTP, ACCT FAIL 2116: 'FTP --ftp-alternative-to-user with embedded CRLF is rejected' FTP, --ftp-alternative-to-user FAIL 2119: 'Reject unsolicited Transfer-Encoding token with an identity prefix' HTTP, Transfer-Encoding FAIL 2173: 'HTTP over proxy-tunnel with site wrong 401 response' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel FAIL 2200: 'MQTT SUBSCRIBE with user and password, not authorized' MQTT, MQTT SUBSCRIBE FAIL 2201: 'MQTT PUBLISH with user and password valid' MQTT, MQTT PUBLISH FAIL 2202: 'MQTT PUBLISH with invalid user and password' MQTT, MQTT PUBLISH FAIL 2203: 'MQTT with "no user or password" CONNACK' MQTT, MQTT SUBSCRIBE FAIL 2204: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE FAIL 2205: 'MQTT with 64 KiB long username' MQTT, MQTT SUBSCRIBE FAIL 2206: 'MQTT reject PINGRESP with nonzero remaining_length in place of CONNACK' MQTT, MQTT SUBSCRIBE FAIL 2207: 'MQTT reject DISCONNECT with nonzero remaining_length' MQTT, MQTT SUBSCRIBE FAIL 2208: 'HTTP auth on redirect with empty URL userinfo' HTTP, HTTP proxy, --location, HTTP Basic auth FAIL 2270: 'reject HTTP form and MIME upload resume' HTTP, HTTP POST, HTTP MIME, Resume, libtest FAIL 2271: 'reject automatic HTTP data upload resume' HTTP, HTTP POST, Resume, error detection FAIL 2272: 'reject automatic HTTP form upload resume' HTTP, HTTP POST, HTTP MIME, Resume, error detection FAIL 2305: 'HTTP GET gzip compressed content with two concatenated gzip members' HTTP, HTTP GET, compressed FAIL 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET, libtest FAIL 2307: 'FTP retrieve a byte-range with end larger than file' FTP, EPSV, RETR, Range FAIL 2308: 'verify return code when write callback returns error' HTTP, HTTP GET, libtest FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP, libtest FAIL 2310: 'variable decode and trim' variables FAIL 2311: 'Cookie from file: control octet rejected, prefixes case sensitive' HTTP, HTTP GET, HTTP proxy, cookies FAIL 2318: 'Get cookies from PSL domain then use *.domain' cookies FAIL 2330: 'FTP server response timeout with the socket action API' FTP, timeout, multi_socket, libtest FAIL 2380: 'curl_mprintf errors on out of space' libtest, curl_mprintf errors FAIL 2397: 'Get CURLINFO_REFERER set CURLOPT_REFERER' CURLINFO_REFERER, CURLOPT_REFERER, libtest FAIL 2405: 'checking curl_multi_waitfds functionality' multi, HTTP, libtest FAIL 2408: 'multiple requests using named {} globs in URL' HTTP, HTTP GET, globbing, {} list FAIL 2409: 'multiple requests using named [] globs in URL' HTTP, HTTP GET, globbing, {} list FAIL 2410: 'duplicate named glob' HTTP, HTTP GET, globbing, {} list FAIL 2411: 'reference a named glob not set' HTTP, HTTP GET, globbing, {} list FAIL 2412: 'checking curl_multi_fdset on nothing to do' multi, libtest FAIL 2413: 'Curl_peer unit tests' unittest, Curl_peer FAIL 2414: 'wakeup, perform and poll needs to exit' multi, wakeup, libtest FAIL 2415: 'reference a named glob with a literal URL' HTTP, HTTP GET, globbing FAIL 2429: 'use netrc file with only comments' netrc FAIL 2453: 'CURLMINFO_XFERS_DONE tracks unread completion messages' HTTP, HTTP GET, CURLMINFO_XFERS_DONE, curl_multi_info_read, libtest FAIL 2504: 'custom Host with cookie, handle reuse, no custom Host:' HTTP, cookies, libtest FAIL 2505: 'verify CURLOPT_AUTOREFERER switched off' HTTP, referer, autoreferer, libtest FAIL 2506: 'netrc with redirect using proxy' HTTP, cookies, libtest FAIL 2582: 'Get cookies from jar using single-component domain name' cookies FAIL 2601: 'bufq unit tests' unittest, bufq FAIL 2602: 'dynhds unit tests' unittest, dynhds FAIL 2603: 'http1 parser unit tests' unittest, http1 FAIL 2604: 'Curl_get_pathname unit test' unittest FAIL 2605: 'Curl_ssh_range unit test' unittest, sftp FAIL 2606: 'Curl_conn_adjust_pollset unit test' unittest FAIL 2805: 'FTP wildcards with percent sign in file name' FTP, LIST, wildcardmatch, ftplistparser, libtest FAIL 2824: 'HTTP proxy CONNECT 2 407s, chunked-encoded and 0-length' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Digest auth, chunked Transfer-Encoding FAIL 2918: 'Ignore content-length with Transfer-Encoding' HTTP, HTTP GET, Transfer-Encoding, --raw FAIL 2924: 'CURLOPT_HTTP_TRANSFER_DECODING, chunked + Content-Length' CURLOPT_HTTP_TRANSFER_DECODING, chunked Transfer-Encoding, libtest FAIL 3002: 'SMTP invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3003: 'SMTP invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3004: 'SMTP invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3005: 'SMTP invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3006: 'SMTP invalid (all) --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3007: 'SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails' SMTP FAIL 3008: '--output-dir' -O FAIL 3009: '--output-dir a non-existing directory' -O FAIL 3010: 'HTTP retry-after reset' HTTP, HTTP Basic, RETRY-AFTER, libtest FAIL 3011: '--output-dir with --create-dirs' -O FAIL 3012: '--output-dir with -J and -R' -O, -J, --output-dir, --remote-time FAIL 3013: 'Two --output-dir with --next in between' -O, -J, --output-dir FAIL 3014: 'Check if %{num_headers} returns correct number of headers' HTTP, --write-out FAIL 3015: 'HTTP GET -w num_headers with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out FAIL 3016: 'Get current directory using file://' FILE FAIL 3017: 'MQTT SUBSCRIBE with pathological PUBLISH length' MQTT, MQTT SUBSCRIBE FAIL 3018: 'MQTT SUBSCRIBE with PUBLISH larger than --max-filesize' MQTT, MQTT SUBSCRIBE, --max-filesize FAIL 3019: 'HTTP with invalid --resolve syntax' HTTP, HTTP GET, --resolve FAIL 3020: 'HTTP with invalid --connect-to syntax' HTTP, HTTP GET, --connect-to FAIL 3025: 'CURLOPT_HTTP200ALIASES' HTTP, HTTP GET, libtest FAIL 3026: 'curl_global_init thread-safety' curl_global_init, thread-safe, slow, libtest FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail, libtest FAIL 3028: 'HTTP GET when PROXY Protocol enabled behind a proxy' HTTP, HTTP CONNECT FAIL 3029: 'HTTP with multiple -D' HTTP FAIL 3030: 'HTTP with multiple transfers in one -D' HTTP FAIL 3031: '--dump-header with --create-dirs' --dump-header FAIL 3032: 'HTTP redirect loop 3x swsbounce test' HTTP, --location FAIL 3033: 'CURLOPT_FRESH_CONNECT=2' curl_easy_setopt, connection reuse, libtest FAIL 3034: 'Test reset resolves rewind failure' CURLOPT_READFUNCTION, curl_easy_reset, rewind, libtest FAIL 3035: 'HTTP retry failed download with keep data and auto-resume' HTTP, HTTP GET, Content-Range, Resume, retry FAIL 3036: '--no-clobber, --retry and --output-dir identifying a file' -O, -J, --output-dir, --retry, --no-clobber FAIL 3037: 'Do not open output for 103 Early Hints with -J and --show-headers' HTTP, HTTP GET, 103, Early Hints, -J, --show-headers FAIL 3038: 'Do not open output for ETag with -J, --show-headers, --etag-save' HTTP, HTTP GET, ETag, --etag-save, -J, --show-headers FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth, libtest FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth, libtest FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies, libtest FAIL 3104: 'CURLOPT_COOKIELIST with Netscape format' cookies, libtest FAIL 3105: 'curl_multi_remove_handle twice' curl_multi_remove_handle, libtest FAIL 3107: 'reject internal easy handle passed to a notify callback' HTTP, HTTP GET, multi, curl_multi_remove_handle, libtest FAIL 3200: 'curl_get_line unit tests' unittest, curl_get_line FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IPv4' HTTP, HTTP GET, proxy, haproxy FAIL 3202: 'HTTP-IPv6 GET with PROXY protocol with spoofed client IP' HTTP, HTTP GET, proxy, haproxy, IPv6 FAIL 3203: 'Get a directory using file://' FILE FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET FAIL 3205: 'cipher suite name lookup' unittest, cipher_suite FAIL 3206: 'IMAP custom FETCH with larger literal response (~7KB)' IMAP, Clear Text, FETCH, CUSTOMREQUEST FAIL 3209: 'Upload message via IMAP with upload flags' IMAP, Clear Text, APPEND, UPLOAD FAIL 3210: 'Upload message unread via IMAP' IMAP, Clear Text, APPEND, UPLOAD FAIL 3211: 'uint_bset, u8_strset, u32_ptrset and ptrarray unit tests' unittest, uint_bset, u8_strset, u32_ptrset, ptrarray FAIL 3212: 'uint32_tbl unit tests' unittest, uint32_tbl FAIL 3213: 'uint_spbset unit tests' unittest, uint_spbset FAIL 3214: 'struct size checks' unittest, size FAIL 3215: 'SMTP DSN' SMTP DSN FAIL 3216: 'ratelimit unit tests' unittest, ratelimit FAIL 3217: 'FTP with control characters in PWD response' FTP, PASV, RETR FAIL 3218: 'FTP with CR control character in PWD response path' FTP, PASV, RETR FAIL 3219: 'CURLPROTO_MASK checks' unittest, define FAIL 3220: 'HTTP GET when PROXY Protocol enabled and spoofed client IPv6' HTTP, HTTP GET, proxy, haproxy FAIL 3221: 'HTTP Digest with CRLF in username' HTTP, HTTP GET, digest FAIL 3223: 'HTTP connection not reused after partial/aborted response' HTTP, HTTP GET, CURLE_PARTIAL_FILE, connection reuse, --next FAIL 3224: 'HTTP connection reused across different Basic auth credentials' HTTP, HTTP GET, HTTP Basic auth, connection reuse, --next FAIL 3225: 'HTTP connection not reused when target host changes' HTTP, HTTP GET, --resolve, connection reuse, --next FAIL 3226: 'HTTP connection is reused for same host' HTTP, HTTP GET, connection reuse, --next FAIL 3227: 'reject CR and LF in mail mime part name and filename' unittest, mime, SMTP FAIL 3228: 'Send custom request headers larger than the response header limit' HTTP, HTTP GET, HTTP added headers FAIL 3229: 'Reject a custom request header larger than the request buffer' HTTP, HTTP GET, HTTP added headers FAIL 3230: 'multi timer unit tests' unittest, multi FAIL 3231: 'CONNECT_ONLY survives the per-host connection limit' HTTP, CONNECT_ONLY, CURLMOPT_MAX_HOST_CONNECTIONS, libtest FAIL 3232: 'CONNECT_ONLY survives the total connection limit' HTTP, CONNECT_ONLY, CURLMOPT_MAX_TOTAL_CONNECTIONS, libtest FAIL 3233: 'RTSP session id is not sent to another origin after a redirect' RTSP, SESSION_ID, followlocation, libtest FAIL 3234: 'CONNECT_ONLY forgets connection when attaching a shared pool' HTTP, CONNECT_ONLY, CURLOPT_SHARE, libtest FAIL 3271: 'CURLOPT_RESOLVE override' unittest, CURLOPT_RESOLVE FAIL 3300: 'thrdpool unit tests' unittest, threads FAIL 3301: 'thrdqueue unit tests' unittest, threads FAIL 3302: 'CURLOPT_GSSAPI_DELEGATION stores flags in data->set' unittest, CURLOPT_GSSAPI_DELEGATION FAIL 3303: 'conn-reuse distinguishes mTLS key, cert_type, key_type and key_passwd' unittest, TLS, mTLS FAIL 3304: 'TLS session cache peer key uses mTLS key, key_type and cert_type' unittest, TLS, mTLS FAIL 3400: 'capsule protocol encode and decode unit tests' unittest, capsule FAIL 3555: 'Basic TELNET negotiation over HTTP proxy' TELNET, UPLOAD, proxy FAIL 3595: 'curl_mime_free' mime, libtest FAIL 3596: 'Curl_mime_prepare_headers' mime, libtest FAIL 4039: '--proto-default http with an invalid URL' --proto-default FAIL 4040: '--proto-default file and invalid URL' --proto-default FAIL 4644: '--no-clobber with extension and an added number' --no-clobber FAIL 4781: 'weekday, month name and timezone parsers' unittest, weekday, day, monthname FAIL 5029: '-w IP info and connect time after TLS handshake timeout' HTTPS, connect timeout FAIL 5030: '-w IP info and connect time after failed TLS handshake' HTTPS, FTP TESTFAIL: These test cases failed: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 71 72 73 74 75 77 78 79 80 82 83 84 85 86 87 88 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 151 152 153 154 156 157 158 160 161 163 164 165 166 167 168 171 172 173 174 175 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 210 211 212 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 240 241 242 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 266 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 314 315 316 317 318 319 320 321 322 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 357 360 361 362 365 366 367 368 369 370 371 372 373 374 376 378 379 380 381 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 402 405 409 411 415 416 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 434 435 436 440 441 442 443 444 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 467 468 469 470 471 473 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 507 508 509 510 511 512 513 514 515 516 517 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 549 550 551 552 553 554 556 557 559 561 562 563 564 565 566 567 568 569 570 571 572 574 575 576 577 578 579 580 581 584 585 586 588 589 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 657 658 659 660 661 662 663 666 667 668 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 685 686 689 690 691 692 693 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 746 747 748 749 750 751 752 754 755 756 757 759 760 761 762 763 764 765 767 768 769 770 771 772 773 774 778 779 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 824 825 826 828 829 830 833 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 870 871 872 874 875 876 879 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 908 909 910 911 912 913 914 915 916 917 918 919 920 922 923 924 925 926 927 928 929 930 931 932 935 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 962 963 964 965 966 967 968 969 973 974 975 976 977 978 979 980 981 982 983 984 985 986 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1022 1023 1024 1025 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1098 1099 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1114 1115 1116 1117 1118 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1136 1137 1138 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1164 1166 1168 1170 1171 1172 1174 1176 1178 1180 1181 1183 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1210 1212 1213 1214 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1273 1274 1277 1278 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1308 1309 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1447 1448 1449 1450 1452 1453 1455 1456 1457 1458 1460 1462 1463 1464 1465 1466 1467 1468 1469 1471 1472 1473 1474 1475 1476 1479 1480 1481 1482 1483 1484 1485 1487 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1511 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1584 1585 1588 1589 1590 1591 1593 1594 1595 1596 1597 1598 1599 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1633 1634 1635 1636 1637 1638 1639 1641 1642 1643 1644 1645 1646 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1679 1680 1681 1682 1684 1685 1686 1687 1688 1691 1692 1693 1704 1711 1712 1713 1714 1715 1720 1721 1722 1723 1724 1740 1741 1742 1743 1744 1745 1791 1800 1802 1827 1847 1848 1851 1876 1877 1900 1901 1902 1903 1904 1905 1906 1907 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1961 1964 1965 1966 1967 1977 1979 1980 1982 1983 1984 1985 1989 2000 2001 2002 2003 2005 2006 2008 2012 2013 2014 2015 2023 2024 2026 2027 2036 2039 2040 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2071 2072 2073 2074 2075 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2091 2092 2093 2105 2106 2107 2108 2109 2110 2113 2114 2115 2116 2119 2173 2200 2201 2202 2203 2204 2205 2206 2207 2208 2270 2271 2272 2305 2306 2307 2308 2309 2310 2311 2318 2330 2380 2397 2405 2408 2409 2410 2411 2412 2413 2414 2415 2429 2453 2504 2505 2506 2582 2601 2602 2603 2604 2605 2606 2805 2824 2918 2924 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3100 3101 3103 3104 3105 3107 3200 3201 3202 3203 3204 3205 3206 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3271 3300 3301 3302 3303 3304 3400 3555 3595 3596 4039 4040 4644 4781 5029 5030 make[1]: *** [Makefile:842: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1168: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_f62e1791-16a7-4f93-aad6-5e37beb0122b/build